Collabora imapanga chowonjezera cha OpenCL ndi OpenGL pamwamba pa DirectX

Kampani ya Collabora представила dalaivala watsopano wa Gallium wa Mesa, yemwe amagwiritsa ntchito gawo lokonzekera ntchito ya OpenCL 1.2 ndi OpenGL 3.3 APIs pamwamba pa madalaivala omwe amathandiza DirectX 12 (D3D12). Kodi losindikizidwa pansi pa layisensi ya MIT.

Dalaivala yemwe akufuna kukuthandizani kuti mugwiritse ntchito Mesa pazida zomwe sizigwirizana ndi OpenCL ndi OpenGL, komanso ngati poyambira kutumiza mapulogalamu a OpenGL/OpenCL kuti ayendetse pamwamba pa D3D12. Kwa opanga ma GPU, kachitidwe kakang'ono kamene kamapangitsa kuti athe kupereka chithandizo kwa OpenCL ndi OpenGL, ngati madalaivala omwe ali ndi chithandizo cha D3D12 alipo.

Zina mwazokonzekera zaposachedwa ndikukwaniritsidwa kwa mayeso ofananira a OpenCL 1.2 ndi OpenGL 3.3, kuwunika kuyanjana ndi mapulogalamu komanso kuphatikizidwa kwazomwe zikuchitika m'gulu lalikulu la Mesa. Kukula kumachitika limodzi ndi mainjiniya a Microsoft omwe akutukuka kutseguka zida D3D11On12 posamutsa masewera kuchokera ku D3D11 kupita ku D3D12 ndi laibulale D3D12TranslationLayer, yomwe imagwiritsa ntchito zoyambira zowoneka bwino pamwamba pa D3D12.

Kukhazikitsaku kumaphatikizapo dalaivala wa Gallium, OpenCL compiler, OpenCL runtime ndi NIR-to-DXIL shader compiler, yomwe imasintha mawonekedwe apakati a NIR shader omwe amagwiritsidwa ntchito ku Mesa kukhala mtundu wa binary wa DXIL (DirectX Intermediate Language) wothandizidwa mu DirectX 12 ndikutengera LLVM 3.7 bitcode (DirectX Shader Compiler kuchokera ku Microsoft kwenikweni ndi foloko yowonjezera ya LLVM 3.7). Wopanga OpenCL amakonzedwa kutengera zomwe polojekiti ya LLVM ikupanga ndi zida Chithunzi cha SPIRV-LLVM.

Magwero okhala ndi zowonjezera za OpenCL amapangidwa pogwiritsa ntchito clang kukhala LLVM intermediate pseudocode (LLVM IR), yomwe imasinthidwa kukhala choyimira chapakati cha OpenCL kernels mumtundu wa SPIR-V. Ma Cores mu mawonekedwe a SPIR-V amaperekedwa ku Mesa, kumasuliridwa ku mtundu wa NIR, wokongoletsedwa ndi kuperekedwa ku NIR-to-DXIL kuti apange ma compute shader mumtundu wa DXIL, oyenera kuchitidwa pa GPUs pogwiritsa ntchito DirectX 12-based runtime.
M'malo mwa Clover, kukhazikitsidwa kwa OpenCL komwe kumagwiritsidwa ntchito ku Mesa, nthawi yatsopano ya OpenCL ikuperekedwa, kulola kutembenuka kwachindunji ku DirectX 12 API.

Collabora imapanga chowonjezera cha OpenCL ndi OpenGL pamwamba pa DirectX

Madalaivala a OpenCL ndi OpenGL amakonzedwa pogwiritsa ntchito mawonekedwe a Gallium omwe amaperekedwa ku Mesa, omwe amakupatsani mwayi wopanga madalaivala osalowa mwatsatanetsatane wa OpenGL ndikumasulira mafoni a OpenGL makamaka pafupi ndi zojambula zakale zomwe ma GPU amakono amagwiritsa ntchito. Woyendetsa Gallium, amavomereza malamulo a OpenGL komanso akamagwiritsa ntchito womasulira wa NIR-to-DXIL
imapanga ma buffers omwe amachitidwa pa GPU pogwiritsa ntchito dalaivala wa D3D12.

Source: opennet.ru

Kuwonjezera ndemanga