Collabora e hlahisa tlatsetso bakeng sa ho tsamaisa OpenCL le OpenGL ka holim'a DirectX

K'hamphani ea Collabora hlahisoa mokhanni e mocha oa Gallium bakeng sa Mesa, e sebelisang lera bakeng sa ho hlophisa mosebetsi oa OpenCL 1.2 le OpenGL 3.3 API ka holim'a bakhanni ba tšehetsang DirectX 12 (D3D12). Khoutu e phatlalalitsoeng tlas'a laesense ea MIT.

Mokhanni ea reriloeng o u lumella ho sebelisa Mesa ho lisebelisoa tse sa tšehetseng OpenCL le OpenGL ka tlhaho, hape e le sebaka sa ho qala ho kenya lits'ebetso tsa OpenGL/OpenCL ho sebetsa ka holim'a D3D12. Bakeng sa baetsi ba GPU, subsystem e etsa hore ho khonehe ho fana ka tšehetso bakeng sa OpenCL le OpenGL, haeba ho na le bakhanni ba nang le tšehetso ea D3D12 feela.

Har'a merero ea hang-hang ke katleho ea ho feta ka botlalo litekong tsa ho lumellana ha OpenCL 1.2 le OpenGL 3.3, ho hlahloba ho lumellana le likopo le ho kenyelletsoa ha tsoelo-pele sebopeho se seholo sa Mesa. Nts'etsopele e etsoa ka kopanelo le baenjiniere ba Microsoft ba ntseng ba tsoela pele bula lisebelisoa D3D11On12 bakeng sa ho fetisa lipapali ho tloha ho D3D11 ho ea ho D3D12 le laebraring D3D12TranslationLayer, e sebelisang li-primitives tse tloaelehileng holim'a D3D12.

Ts'ebetsong e kenyelletsa mokhanni oa Gallium, moqapi oa OpenCL, OpenCL runtime le moqapi oa shader oa NIR-to-DXIL, o fetolang boemeli ba bohareng ba li-shader tsa NIR tse sebelisoang Mesa ho DXIL (DirectX Intermediate Language) binary format, e tšehetsoeng ho DirectX 12 le ho itšetlehile ka LLVM 3.7 bitcode (DirectX Shader Compiler ho tsoa ho Microsoft ha e le hantle ke fereko e atolositsoeng ea LLVM 3.7). Motlalehi oa OpenCL o hlophisitsoe ho ipapisitsoe le nts'etsopele ea projeke ea LLVM le lisebelisoa SPIRV-LLVM.

Mehloli e nang le li-extensions tsa OpenCL e bokelloa ho sebelisoa clang ho LLVM intermediate pseudocode (LLVM IR), e ntan'o fetoloa kemelo ea mahareng ea li-kernel tsa OpenCL ka sebopeho sa SPIR-V. Li-cores tse ho boemeli ba SPIR-V li fetisetsoa ho Mesa, e fetoletsoeng ho sebopeho sa NIR, e ntlafalitsoe le ho fetisetsoa ho NIR-to-DXIL ho hlahisa li-shader tsa compute ka sebopeho sa DXIL, tse loketseng ho sebelisoa ho li-GPU ho sebelisoa nako ea ho sebetsa ea DirectX 12.
Sebakeng sa Clover, ts'ebetsong ea OpenCL e sebelisitsoeng Mesa, ho hlahisoa nako e ncha ea OpenCL, e lumellang liphetoho tse tobileng ho DirectX 12 API.

Collabora e hlahisa tlatsetso bakeng sa ho tsamaisa OpenCL le OpenGL ka holim'a DirectX

Bakhanni ba OpenCL le OpenGL ba lokiselitsoe ho sebelisa sebopeho sa Gallium se fanoeng ho Mesa, se u lumellang hore u thehe bakhanni ntle le ho kena ka lintlha tse khethehileng tsa OpenGL le ho fetolela mehala ea OpenGL ha e le hantle haufi le litšoantšo tsa khale tseo li-GPU tsa sejoale-joale li sebetsang ho tsona. Mokhanni oa Gallium, o amohela litaelo tsa OpenGL le ha o sebelisa mofetoleli oa NIR-to-DXIL
e hlahisa li-buffers tsa litaelo tse sebelisoang ho GPU ho sebelisa mokhanni oa D3D12.

Source: opennet.ru

Eketsa ka tlhaloso