Collabora hutengeneza programu jalizi ya kuendesha OpenCL na OpenGL juu ya DirectX

Kampuni ya kushirikiana imewasilishwa kiendeshi kipya cha Gallium kwa Mesa, ambacho kinatekeleza safu ya kuandaa kazi ya OpenCL 1.2 na OpenGL 3.3 APIs juu ya madereva wanaounga mkono DirectX 12 (D3D12). Kanuni iliyochapishwa chini ya leseni ya MIT.

Kiendeshi kilichopendekezwa hukuruhusu kutumia Mesa kwenye vifaa ambavyo asilia vinatumia OpenCL na OpenGL, na pia kama mahali pa kuanzia kwa kuhamisha programu za OpenGL/OpenCL ili kufanya kazi juu ya D3D12. Kwa watengenezaji wa GPU, mfumo mdogo hufanya iwezekane kutoa usaidizi kwa OpenCL na OpenGL, ikiwa ni madereva walio na usaidizi wa D3D12 pekee.

Miongoni mwa mipango ya haraka ni mafanikio ya kufaulu kamili kwa majaribio ya uoanifu ya OpenCL 1.2 na OpenGL 3.3, kuangalia utangamano na programu na kujumuishwa kwa maendeleo katika muundo mkuu wa Mesa. Maendeleo yanafanywa kwa pamoja na wahandisi wa Microsoft wanaoendelea fungua zana D3D11On12 kwa kuhamisha michezo kutoka D3D11 hadi D3D12 na maktaba D3D12TranslationLayer, ambayo hutumia picha za awali za kawaida juu ya D3D12.

Utekelezaji huo unajumuisha kiendesha Gallium, mkusanyaji wa OpenCL, wakati wa kukimbia wa OpenCL na mkusanyaji wa shader wa NIR-to-DXIL, ambao hubadilisha uwakilishi wa kati wa vivuli vya NIR vinavyotumiwa katika Mesa kuwa umbizo la binary la DXIL (DirectX Intermediate Language) linalotumika katika DirectX 12 na kulingana na Msimbo mdogo wa LLVM 3.7 (Dereva wa DirectX Shader kutoka kwa Microsoft kimsingi ni uma uliopanuliwa wa LLVM 3.7). Mkusanyaji wa OpenCL hutayarishwa kulingana na maendeleo ya mradi na zana za LLVM SPIRV-LLVM.

Vyanzo vilivyo na viendelezi vya OpenCL vinakusanywa kwa kutumia clang kuwa msimbo wa upenyo wa kati wa LLVM (LLVM IR), ambao hubadilishwa kuwa uwakilishi wa kati wa kernels za OpenCL katika umbizo la SPIR-V. Misingi katika uwakilishi wa SPIR-V hupitishwa hadi kwenye Mesa, ikitafsiriwa kwa umbizo la NIR, kuboreshwa na kupitishwa kwa NIR-to-DXIL ili kuzalisha vivuli vya kukokotoa katika umbizo la DXIL, vinavyofaa kutekelezwa kwenye GPU kwa kutumia muda wa utekelezaji wa DirectX 12.
Badala ya Clover, utekelezaji wa OpenCL unaotumiwa katika Mesa, wakati mpya wa utekelezaji wa OpenCL unapendekezwa, kuruhusu ubadilishaji wa moja kwa moja zaidi kwa DirectX 12 API.

Collabora hutengeneza programu jalizi ya kuendesha OpenCL na OpenGL juu ya DirectX

Viendeshaji vya OpenCL na OpenGL hutayarishwa kwa kutumia kiolesura cha Gallium kilichotolewa katika Mesa, kinachokuruhusu kuunda viendeshaji bila kuingia katika maelezo mahususi ya OpenGL na kutafsiri simu za OpenGL kimsingi karibu na picha za awali ambazo GPU za kisasa zinatumia. Kiendeshaji cha Gallium, hukubali amri za OpenGL na wakati wa kutumia kitafsiri cha NIR-to-DXIL
huzalisha bafa za amri ambazo hutekelezwa kwenye GPU kwa kutumia kiendeshi cha D3D12.

Chanzo: opennet.ru

Kuongeza maoni