An canza direban RADV Vulkan don amfani da bayanan baya na ACO shader

A cikin codebase da aka yi amfani da shi don samar da sakin Mesa 20.2, aiwatar canza RADV, direban Vulkan don kwakwalwan kwamfuta na AMD, don amfani da tsohowar baya don harhada shaders "ACO", wanda Valve ke haɓaka shi azaman madadin mai tara shader na LLVM. Wannan canjin zai haifar da haɓaka aikin wasan da rage lokacin ƙaddamarwa. Don dawo da tsohuwar baya, ana ba da madaidaicin muhalli "RADV_DEBUG=llvm".

Canja direban RADV zuwa sabon baya ya zama mai yiwuwa bayan ACO ta sami daidaito a cikin aiki tare da tsohuwar bayan da AMD ta haɓaka don direban AMDGPU, wanda ke ci gaba da amfani da shi a cikin direban RadeonSI OpenGL. Gwaji ta Valve saukarcewa ACO kusan sau biyu da sauri kamar yadda AMDGPU shader compiler dangane da saurin tattarawa kuma yana nuna karuwa a cikin FPS a wasu wasannin yayin aiki akan tsarin tare da direban RADV.

An canza direban RADV Vulkan don amfani da bayanan baya na ACO shader

An canza direban RADV Vulkan don amfani da bayanan baya na ACO shader

Ƙididdiga na ACO yana nufin samar da tsarar lamba wanda yake da kyau sosai kamar yadda zai yiwu ga shaders aikace-aikacen caca, da kuma samun babban saurin tattarawa. An rubuta ACO a cikin C++, an tsara shi tare da haɗar JIT a zuciya, kuma yana amfani da tsarin bayanai masu sauri, guje wa tsarin tushen nuni. Matsakaicin wakilcin lambar ya dogara gaba ɗaya akan SSA (Static Single Assignment) kuma yana ba da damar rarraba rajista ta hanyar ƙididdige rijistar daidai da mai shader.

Ƙari: A halin yanzu, ACO yana aiki ne kawai don direban Mesa RADV Vulkan. Amma ACO masu haɓakawa tabbatarcewa matakinsu na gaba shine fara aiki kan faɗaɗa damar ACO don tallafawa direban RadeonSI OpenGL, ta yadda nan gaba, wannan direban, ACO na iya maye gurbin tsohowar LLVM shader compiler.

source: budenet.ru

Add a comment