Valve ha presentat un nou compilador de shader per a GPU AMD

Companyia de vàlvules suggerit La llista de correu per a desenvolupadors de Mesa té un nou compilador de shader ACO per al controlador Vulkan RADV, posicionable com a alternativa al compilador d'ombres AMDGPU utilitzat en els controladors OpenGL i Vulkan RadeonSI i RADV per a xips de gràfics AMD.
Un cop finalitzades les proves i finalitzada la funcionalitat, es preveu que l'ACO s'ofereixi per incloure's a la composició principal de Mesa.

El codi proposat per Valve té com a objectiu proporcionar una generació de codi el més òptima possible per als shaders d'aplicacions de jocs, així com aconseguir una velocitat de compilació molt alta. El compilador shader de Mesa utilitza components LLVM, que no proporcionen la velocitat de compilació desitjada i no permeten el control total del flux de control, que ha provocat errors greus en el passat. A més, allunyar-se de LLVM permet implementar anàlisis de discrepàncies més agressius i un control més fi de la càrrega del registre, que permet generar executables més eficients.

ACO està escrit en C++, dissenyat tenint en compte la compilació JIT i utilitza estructures de dades iteratives ràpides, evitant estructures basades en punters com ara llistes enllaçades i cadenes d'ús predeterminat. La representació del codi intermedi es basa completament en S.S.A. (Assignació única estàtica) i permet l'assignació de registres mitjançant un càlcul precís del registre en funció del shader.

Actualment, només els ombrejats de píxels (fragment) i de càlcul són compatibles amb les GPU AMD discretes (dGPU VI+). No obstant això, ACO ja recull correctament els shaders per a tots els jocs provats, inclosos els complexos shaders de Shadow of the Tomb Raider i Wolfenstein II. El prototip ACO proposat per a la prova és gairebé el doble de ràpid que el compilador d'ombres AMDGPU en termes de velocitat de compilació i demostra un augment de FPS en alguns jocs quan s'executen en sistemes amb el controlador RADV.

Valve ha presentat un nou compilador de shader per a GPU AMD

Valve ha presentat un nou compilador de shader per a GPU AMD

Font: opennet.ru

Afegeix comentari