Valve a deschis un nou compilator de shader pentru GPU-urile AMD

Compania Valve sugerat Lista de corespondență pentru dezvoltatori Mesa are un nou compilator shader ACO pentru driverul Vulkan RADV, poziționabil ca alternativă la compilatorul de shader AMDGPU utilizat în driverele OpenGL și Vulkan RadeonSI și RADV pentru cipurile grafice AMD.
Odată ce testarea este finalizată și funcționalitatea este finalizată, ACO este planificat să fie oferit pentru includere în compoziția principală Mesa.

Codul propus de Valve are ca scop furnizarea unei generații de cod cât mai optime pentru aplicațiile de umbrare a jocului, precum și atingerea unei viteze foarte mari de compilare. Compilatorul de shader al Mesa folosește componente LLVM, care nu oferă viteza de compilare dorită și nu permit controlul deplin al fluxului de control, ceea ce a provocat erori grave în trecut. În plus, îndepărtarea de LLVM face posibilă implementarea unei analize mai agresive a discrepanțelor și un control mai fin al încărcării registrului, ceea ce vă permite să generați executabile mai eficiente.

ACO este scris în C++, proiectat având în vedere compilarea JIT și folosește structuri de date iterative rapide, evitând structurile bazate pe pointeri, cum ar fi listele legate și lanțurile de def-use. Reprezentarea codului intermediar se bazează în întregime pe S.S.A. (Static Single Assignment) și permite alocarea registrului prin precalcularea precisă a registrului în funcție de shader.

În prezent, numai pixelii (fragmentul) și shaderele de calcul sunt acceptate pe GPU-uri AMD discrete (dGPU VI+). Cu toate acestea, ACO colectează deja corect shadere pentru toate jocurile testate, inclusiv shadere complexe din Shadow of the Tomb Raider și Wolfenstein II. Prototipul ACO propus pentru testare este aproape de două ori mai rapid decât compilatorul de shader AMDGPU în ceea ce privește viteza de compilare și demonstrează o creștere a FPS-ului în unele jocuri atunci când rulează pe sisteme cu driverul RADV.

Valve a deschis un nou compilator de shader pentru GPU-urile AMD

Valve a deschis un nou compilator de shader pentru GPU-urile AMD

Sursa: opennet.ru

Adauga un comentariu