Ang Valve nag-abli sa usa ka bag-ong shader compiler alang sa AMD GPUs

Kompanya sa Valve gisugyot Ang Mesa developer mailing list adunay bag-ong shader compiler ACO para sa Vulkan driver nga RADV, positionable isip alternatibo sa AMDGPU shader compiler nga gigamit sa OpenGL ug Vulkan drivers RadeonSI ug RADV para sa AMD graphics chips.
Kung nahuman na ang pagsulay ug mahuman na ang pag-andar, ang ACO giplano nga itanyag alang sa paglakip sa panguna nga komposisyon sa Mesa.

Ang gisugyot nga code sa Valve gitumong sa paghatag og code generation nga labing maayo kutob sa mahimo alang sa mga shaders sa aplikasyon sa dula, ingon man sa pagkab-ot sa taas kaayo nga tulin sa pag-compile. Ang shader compiler sa Mesa naggamit sa mga sangkap sa LLVM, nga wala maghatag sa gitinguha nga katulin sa pag-compile ug wala magtugot sa hingpit nga pagkontrol sa dagan sa kontrol, nga hinungdan sa grabe nga mga sayup sa nangagi. Dugang pa, ang pagpalayo sa LLVM nagpaposible sa pagpatuman sa mas agresibo nga pagtuki sa kalainan ug mas maayo nga pagkontrol sa load sa rehistro, nga nagtugot kanimo sa pagmugna og mas episyente nga mga executable.

Ang ACO gisulat sa C ++, gidisenyo uban sa JIT compilation sa hunahuna, ug naggamit sa paspas nga iterative data structures, paglikay sa pointer-based structures sama sa linked lists ug def-use chains. Ang representasyon sa intermediate code hingpit nga gibase sa SSA (Static Single Assignment) ug gitugotan ang alokasyon sa rehistro pinaagi sa tukma nga pagkalkula sa rehistro depende sa shader.

Sa pagkakaron, ang pixel (fragment) ug compute shader lang ang gisuportahan sa discrete AMD GPUs (dGPU VI+). Bisan pa, ang ACO husto na nga nagkolekta sa mga shader alang sa tanan nga mga dula nga gisulayan, lakip ang mga komplikado nga shaders gikan sa Shadow of the Tomb Raider ug Wolfenstein II. Ang prototype sa ACO nga gisugyot alang sa pagsulay hapit doble nga paspas kaysa sa AMDGPU shader compiler sa mga termino sa katulin sa pag-compile ug nagpakita sa pagtaas sa FPS sa pipila nga mga dula kung nagdagan sa mga sistema nga adunay drayber sa RADV.

Ang Valve nag-abli sa usa ka bag-ong shader compiler alang sa AMD GPUs

Ang Valve nag-abli sa usa ka bag-ong shader compiler alang sa AMD GPUs

Source: opennet.ru

Idugang sa usa ka comment