Drejtuesi i RADV Vulkan është ndërruar për të përdorur prapavijën e përpilimit të shaderit ACO

Në bazën e kodit të përdorur për të formuar lëshimin e Mesa 20.2, zbatuar ndërrimi i RADV, drejtuesi Vulkan për çipat AMD, për të përdorur backend-in e paracaktuar për përpilimin e shaderëve "ACO“, i cili po zhvillohet nga Valve si një alternativë për përpiluesin shader LLVM. Ky ndryshim do të çojë në rritjen e performancës së lojës dhe uljen e kohës së nisjes. Për të kthyer backend-in e vjetër, ofrohet ndryshorja e mjedisit "RADV_DEBUG=llvm".

Kalimi i drejtuesit të RADV në backend-in e ri u bë i mundur pasi ACO arriti barazi në funksionalitet me backend-in e vjetër të zhvilluar nga AMD për drejtuesin AMDGPU, i cili vazhdon të përdoret në drejtuesin RadeonSI OpenGL. Testimi me Valve zbuluarse ACO është pothuajse dy herë më i shpejtë se përpiluesi shader AMDGPU për sa i përket shpejtësisë së përpilimit dhe demonstron një rritje të FPS në disa lojëra kur ekzekutohet në sisteme me drejtuesin RADV.

Drejtuesi i RADV Vulkan është ndërruar për të përdorur prapavijën e përpilimit të shaderit ACO

Drejtuesi i RADV Vulkan është ndërruar për të përdorur prapavijën e përpilimit të shaderit ACO

Backend-i ACO synon të sigurojë gjenerimin e kodit që është sa më optimal që të jetë e mundur për shaderët e aplikacioneve të lojërave, si dhe të arrijë shpejtësi shumë të lartë përpilimi. ACO është shkruar në C++, i projektuar duke pasur parasysh përpilimin JIT dhe përdor struktura të shpejta të dhënash përsëritëse, duke shmangur strukturat e bazuara në tregues. Paraqitja e ndërmjetme e kodit bazohet tërësisht në SSA (Static Single Assignment) dhe lejon alokimin e regjistrit duke parallogaritur me saktësi regjistrin në varësi të shader-it.

Shtim: Për momentin, ACO punon vetëm për shoferin Mesa RADV Vulkan. Por zhvilluesit ACO konfirmuarse hapi i tyre i ardhshëm do të jetë fillimi i punës për zgjerimin e aftësive të ACO për të mbështetur drejtuesin RadeonSI OpenGL, në mënyrë që në të ardhmen, për këtë drejtues, ACO të zëvendësojë përpiluesin e paracaktuar të shaderit LLVM.

Burimi: opennet.ru

Shto një koment