Collabora kumpanya
Binibigyang-daan ka ng iminungkahing driver na gamitin ang Mesa sa mga device na hindi katutubong sumusuporta sa OpenCL at OpenGL, at pati na rin bilang panimulang punto para sa pag-port ng mga OpenGL/OpenCL na application upang tumakbo sa ibabaw ng D3D12. Para sa mga tagagawa ng GPU, ginagawang posible ng subsystem na magbigay ng suporta para sa OpenCL at OpenGL, kung available lang ang mga driver na may suporta sa D3D12.
Kabilang sa mga agarang plano ay ang pagkamit ng ganap na pagpasa sa mga pagsusulit sa compatibility ng OpenCL 1.2 at OpenGL 3.3, pagsuri ng compatibility sa mga application at ang pagsasama ng mga development sa pangunahing komposisyon ng Mesa. Ang pag-unlad ay isinagawa nang magkasama sa pagbuo ng mga inhinyero ng Microsoft
Kasama sa pagpapatupad ang Gallium driver, OpenCL compiler, OpenCL runtime at NIR-to-DXIL shader compiler, na nagko-convert sa intermediate na representasyon ng NIR shaders na ginamit sa Mesa sa binary na format ng DXIL (DirectX Intermediate Language), na sinusuportahan sa DirectX 12 at batay sa LLVM 3.7 bitcode (
Ang mga mapagkukunan na may mga extension ng OpenCL ay pinagsama-sama gamit ang clang sa LLVM intermediate pseudocode (LLVM IR), na pagkatapos ay na-convert sa isang intermediate na representasyon ng OpenCL kernels sa SPIR-V na format. Ang mga core sa SPIR-V na representasyon ay ipinapasa sa Mesa, isinalin sa NIR format, na-optimize at ipinasa sa NIR-to-DXIL upang bumuo ng mga compute shader sa DXIL na format, na angkop para sa pagpapatupad sa mga GPU gamit ang DirectX 12-based na runtime.
Sa halip na Clover, ang pagpapatupad ng OpenCL na ginamit sa Mesa, isang bagong OpenCL runtime ang iminungkahi, na nagbibigay-daan sa mas maraming direktang conversion sa DirectX 12 API.
Ang mga driver ng OpenCL at OpenGL ay inihanda gamit ang interface ng Gallium na ibinigay sa Mesa, na nagbibigay-daan sa iyong lumikha ng mga driver nang hindi pumunta sa mga detalyeng partikular sa OpenGL at isalin ang mga tawag sa OpenGL sa esensya na mas malapit sa mga primitive ng graphics na pinapatakbo ng mga modernong GPU. Gallium driver, tumatanggap ng OpenGL command at kapag ginagamit ang NIR-to-DXIL translator
bumubuo ng mga command buffer na isinasagawa sa GPU gamit ang D3D12 driver.
Pinagmulan: opennet.ru