Primitive Shaders e Vega, serve il supporto DirectX e Vulkan

Una delle funzioni più interessanti dell'architettura AMD Vega è Primitive Shaders. Purtroppo non sarà attivabile a breve, serve infatti il supporto delle API DirectX e Vulkan.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

L'architettura grafica Vega di AMD è tra gli argomenti controversi degli ultimi mesi tra gli appassionati e i videogiocatori. C'è chi si aspettava di più, c'è chi dice che è nata anzitutto per recuperare terreno nel settore dell'intelligenza artificiale e chi spera che, come il buon vino, migliori con il tempo.

Aldilà delle varie posizioni, nelle ultime ore si vocifera che AMD abbia deciso di tagliare il supporto nei propri driver a una delle funzioni più interessanti promesse al lancio dell'architettura: i Primitive Shaders. Prima di indagare per stabilire se è vero oppure no, è necessario capire di che si tratta (saremo concisi, perdonateci le semplificazioni).

vegafeatures

Funzionalità delle schede RX Vega, un riassunto delle novità - fonte: Techreport

Presentando l'architettura Vega, l'allora boss della divisione RTG Raja Koduri spiegò che un numero sempre maggiore di sviluppatori svolgeva il processo geometrico delle scene nei compute shader e come tale era necessario concentrarsi su quell'aspetto. Per questo durante la fase di progettazione di Vega, AMD decise di inserire una nuova pipeline geometrica programmabile in grado di eseguire un nuovo tipo di shader chiamato primitive shaders.

Secondo quanto affermato in quell'occasione da Mike Mantor, corporate fellow di AMD, i primitive shaders danno agli sviluppatori l'accesso a tutti i dati di cui hanno bisogno per processare geometricamente la scena. Un accesso che permette di scartare le primitive nascoste / non necessarie a un ritmo molto alto, in modo da migliorare le prestazioni geometriche complessive, specie quando la parte geometrica del gioco diventa sempre più accurata, portando a un "sovraccarico" di triangoli molto piccoli che può mettere in ginocchio la GPU.

primitive shader

Clicca per ingrandire

I primitive shader, in estrema sintesi, promettevano di migliorare le prestazioni. Purtroppo le voci di queste ore sono vere, anche se il contesto va precisato. Lo fa bene Jeff Kampman su Techreport, grazie alle informazioni di prima mano ottenute partecipando a un briefing con AMD proprio su Vega.

Secondo quanto riportato da Kampman, AMD ha spiegato che al posto di un'implementazione nei driver che consenta al tutto di funzionare senza ulteriori interventi, sarà necessaria un'inclusione esplicita in future versioni delle API (Vulkan, Direct3D, ecc.) per il pieno supporto ai primitive shaders.

A differenza di altre funzioni, AMD ha spiegato che il supporto primitive shaders "non è qualcosa che possiamo semplicemente accendere dal giorno alla notte e succede", e quindi dovrà lavorare con la comunità per portare questa funzione nelle future versioni dell'API.

geometry vega

Clicca per ingrandire

AMD dice che può aiutare gli sviluppatori a usare tecniche di rendering simili a primitive shaders, e come esempio ha citato l'opzione GPU Culling di Wolfenstein II: The New Colossus. Quando questa funzione è abilitata sulle schede grafiche AMD, il gioco usa l'ampia dotazione shader di Vega per accelerare l'elaborazione della geometria. Purtroppo i test mirati del sito tedesco ComputerBase mostrano differenze prestazionali trascurabili con l'impostazione attiva e non. Certo, un gioco è poco per trarre conclusioni definitive.

Nel corso del briefing la casa di Sunnyvale ha anche affermato che Draw Stream Binning Rasterizer (DSBR), un approccio tile-based al rendering e che permette alla GPU di operare lo shading dei pixel in modo più efficiente, lavorando solo sui triangoli visibili nell'immagine finale, è stato abilitato e funziona nei driver fin dal lancio delle RX Vega. Gli sviluppatori non devono fare altri interventi.

Anche per quanto riguarda l'High Bandwidth Cache Controller (HBCC), il suo funzionamento è stato attivato quasi subito, ma dato che sono pochi i titoli a richiedere più degli 8 GB di memoria presenti sulle RX Vega, questa funzionalità ha un impatto limitato sui giochi attuali. I titoli in uscita potranno inoltre avvantaggiarsi del supporto Rapid Packed Math: tra i primi esempi ci sarà Far Cry 5. Infine, AMD ha attivato un altro componente dell'architettura Vega chiamato Intelligent Workgroup Distributor e i benefici prestazionali sarebbero già dimostrati dalle schede RX Vega. Si tratta di una funzione che consente alla GPU di evitare operazioni ad alto impatto prestazionale e che permette un'occupazione migliore delle unità di esecuzione.

Detto questo, il problema principale in questo momento delle RX Vega non è la presenza di quella o l'altra funzione, ma l'assenza delle schede sul mercato e i prezzi a cui sono venduti i modelli disponibili. Purtroppo tra gli ormai evidenti problemi di produzione, di strategia e la richiesta delle schede video da parte dei miner, non sarà certo l'assenza di primitive shaders a incidere sul successo o l'insuccesso di Vega.


Tom's Consiglia

Purtroppo le schede video Radeon RX Vega sono scarsamente disponibili e costano molto. Vedere per credere.