Hoʻokumu ʻo Collabora i mea hoʻohui no ka holo ʻana i OpenCL a me OpenGL ma luna o DirectX

Hui hui hōʻike ʻia he mea hoʻokele Gallium hou no Mesa, nāna e hoʻokō i kahi papa no ka hoʻonohonoho ʻana i ka hana o ka OpenCL 1.2 a me OpenGL 3.3 API ma luna o nā mea hoʻokele e kākoʻo ana iā DirectX 12 (D3D12). Code i paʻiʻia ma lalo o ka laikini MIT.

ʻO ka mea hoʻokele i manaʻo ʻia e ʻae iā ʻoe e hoʻohana iā Mesa ma nā polokalamu ʻaʻole i kākoʻo maoli iā OpenCL a me OpenGL, a ma ke ʻano he kumu hoʻomaka no ka lawe ʻana i nā noi OpenGL/OpenCL e holo ma luna o D3D12. No nā mea hana GPU, hiki i ka subsystem ke hāʻawi i ke kākoʻo no OpenCL a me OpenGL, inā loaʻa nā mea hoʻokele me ke kākoʻo D3D12.

Ma waena o nā hoʻolālā koke ka loaʻa ʻana o ka hoʻokō piha ʻana i nā hoʻokolohua hoʻohālikelike o OpenCL 1.2 a me OpenGL 3.3, ka nānā ʻana i ka hoʻohālikelike ʻana me nā noi a me ka hoʻokomo ʻana o nā hoʻomohala i ka haku nui o Mesa. Hana ʻia ka hoʻomohala ʻana me nā ʻenehana Microsoft e hoʻomohala nei wehe mea paahana D3D11On12 no ka hoʻoili ʻana i nā pāʻani mai D3D11 a i D3D12 a me ka waihona D3D12Layer Unuhi, ka mea e hoʻokō i nā primitives kiʻi maʻamau ma luna o D3D12.

Hoʻokomo ʻia ka mea hoʻokele Gallium, OpenCL compiler, OpenCL runtime a me NIR-to-DXIL shader compiler, e hoʻohuli ana i ka hōʻike waena o nā shaders NIR i hoʻohana ʻia ma Mesa i ka format binary DXIL (DirectX Intermediate Language), i kākoʻo ʻia ma DirectX 12 a ma muli o LLVM 3.7 bitcode (Kaʻa Hōʻailona DirectX Shader mai Microsoft ka mea nui o ka LLVM 3.7). Hoʻomākaukauʻia ka OpenCL compiler ma muli o ka hoʻomohalaʻana o ka papahana LLVM a me nā mea hana SPIRV-LLVM.

Hoʻohui ʻia nā kumu me nā hoʻonui OpenCL me ka hoʻohana ʻana i ka clang i loko o LLVM intermediate pseudocode (LLVM IR), a laila hoʻololi ʻia i kahi hōʻike waena o nā kernels OpenCL ma ka format SPIR-V. Hoʻouna ʻia nā koina ma ka hōʻike SPIR-V i Mesa, unuhi ʻia i ke ʻano NIR, hoʻopaʻa ʻia a hāʻawi ʻia i NIR-to-DXIL e hana i nā shaders compute ma DXIL format, kūpono no ka hoʻokō ʻana ma nā GPU me ka hoʻohana ʻana i ka manawa holo DirectX 12.
Ma kahi o Clover, ka hoʻokō OpenCL i hoʻohana ʻia ma Mesa, ua manaʻo ʻia kahi runtime OpenCL hou, e ʻae ana i ka hoʻololi pololei ʻana i ka DirectX 12 API.

Hoʻokumu ʻo Collabora i mea hoʻohui no ka holo ʻana i OpenCL a me OpenGL ma luna o DirectX

Hoʻomākaukau ʻia nā mea hoʻokele OpenCL a me OpenGL me ka hoʻohana ʻana i ka interface Gallium i hāʻawi ʻia ma Mesa, kahi e hiki ai iā ʻoe ke hana i nā mea hoʻokele me ka ʻole o ka hele ʻana i nā kikoʻī kikoʻī OpenGL a unuhi i nā kelepona OpenGL ma ke ʻano kokoke loa i nā primitives kiʻi i hana ʻia e nā GPU hou. ʻO ka mea hoʻokele Gallium, ʻae i nā kauoha OpenGL a i ka wā e hoʻohana ai i ka unuhi NIR-to-DXIL
hoʻopuka i nā pale kauoha i hoʻokō ʻia ma ka GPU me ka hoʻohana ʻana i ka mea hoʻokele D3D12.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka