Valve heeft een nieuwe shader-compiler voor AMD GPU's geopend

Ventiel bedrijf suggereerde De mailinglijst voor Mesa-ontwikkelaars heeft een nieuwe shader-compiler ACO voor Vulkan-chauffeur RADV, positioneerbaar als alternatief voor de AMDGPU shader-compiler die wordt gebruikt in de OpenGL- en Vulkan-stuurprogramma's RadeonSI en RADV voor AMD grafische chips.
Zodra het testen is voltooid en de functionaliteit is afgerond, zal ACO naar verwachting worden aangeboden voor opname in de belangrijkste Mesa-samenstelling.

De door Valve voorgestelde code is gericht op het genereren van code die zo optimaal mogelijk is voor shaders voor game-applicaties, en op het bereiken van een zeer hoge compilatiesnelheid. De shader-compiler van Mesa maakt gebruik van LLVM-componenten, die niet de gewenste compilatiesnelheid bieden en geen volledige controle over de besturingsstroom mogelijk maken, wat in het verleden tot ernstige fouten heeft geleid. Bovendien maakt het afstappen van LLVM het mogelijk om agressievere discrepantieanalyses en een fijnere controle van de registerbelasting te implementeren, waardoor u efficiëntere uitvoerbare bestanden kunt genereren.

ACO is geschreven in C++, ontworpen met JIT-compilatie in gedachten, en maakt gebruik van snelle iteratieve datastructuren, waarbij pointer-gebaseerde structuren zoals gekoppelde lijsten en def-use-ketens worden vermeden. De tussencoderepresentatie is volledig gebaseerd op SSA (Static Single Assignment) en maakt registertoewijzing mogelijk door het register nauwkeurig vooraf te berekenen, afhankelijk van de shader.

Momenteel worden alleen pixel- (fragment)- en compute-shaders ondersteund op afzonderlijke AMD GPU's (dGPU VI+). ACO verzamelt echter al correct shaders voor alle geteste games, inclusief complexe shaders van Shadow of the Tomb Raider en Wolfenstein II. Het voor testen voorgestelde ACO-prototype is bijna twee keer zo snel als de AMDGPU shader-compiler in termen van compilatiesnelheid en toont een toename van de FPS in sommige games wanneer deze worden uitgevoerd op systemen met het RADV-stuurprogramma.

Valve heeft een nieuwe shader-compiler voor AMD GPU's geopend

Valve heeft een nieuwe shader-compiler voor AMD GPU's geopend

Bron: opennet.ru

Voeg een reactie