Compania Valve
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
Î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.
Sursa: opennet.ru