Collabora ngembangake tambahan kanggo mbukak OpenCL lan OpenGL ing ndhuwur DirectX

Perusahaan kolaborasi diwenehi pembalap Gallium anyar kanggo Mesa, kang nindakake lapisan kanggo ngatur karya OpenCL 1.2 lan OpenGL 3.3 API ing ndhuwur driver ndhukung DirectX 12 (D3D12). Kode diterbitake miturut lisensi MIT.

Pembalap sing diusulake ngidini sampeyan nggunakake Mesa ing piranti sing ora ndhukung OpenCL lan OpenGL asli, lan uga minangka titik wiwitan kanggo porting aplikasi OpenGL/OpenCL kanggo mbukak ing ndhuwur D3D12. Kanggo manufaktur GPU, subsistem ndadekake iku bisa kanggo nyedhiyani support kanggo OpenCL lan OpenGL, yen mung driver karo D3D12 support kasedhiya.

Antarane rencana langsung yaiku prestasi tes kompatibilitas lengkap OpenCL 1.2 lan OpenGL 3.3, mriksa kompatibilitas karo aplikasi lan kalebu pangembangan ing komposisi utama Mesa. Pangembangan ditindakake bebarengan karo insinyur Microsoft ngembangake mbukak piranti D3D11On12 kanggo transfer game saka D3D11 kanggo D3D12 lan perpustakaan D3D12TranslationLayer, sing ngetrapake primitif grafis standar ing ndhuwur D3D12.

Implementasine kalebu driver Gallium, OpenCL compiler, OpenCL runtime lan NIR-to-DXIL shader compiler, sing ngowahi perwakilan penengah saka NIR shaders sing digunakake ing Mesa menyang format binar DXIL (DirectX Intermediate Language), didhukung ing DirectX 12 lan adhedhasar Kode bit LLVM 3.7 (DirectX Shader Compiler saka Microsoft ateges garpu lengkap LLVM 3.7). Compiler OpenCL disiapake adhedhasar pangembangan proyek lan alat LLVM SPIRV-LLVM.

Sumber karo ekstensi OpenCL dikompilasi nggunakake clang menyang LLVM intermediate pseudocode (LLVM IR), sing banjur diowahi dadi perwakilan penengah saka kernel OpenCL ing format SPIR-V. Inti ing perwakilan SPIR-V diterusake menyang Mesa, diterjemahake menyang format NIR, dioptimalake lan diterusake menyang NIR-kanggo-DXIL kanggo ngasilake shaders komputasi ing format DXIL, cocok kanggo eksekusi ing GPU nggunakake runtime adhedhasar DirectX 12.
Tinimbang Clover, implementasi OpenCL sing digunakake ing Mesa, runtime OpenCL anyar diusulake, ngidini konversi langsung menyang DirectX 12 API.

Collabora ngembangake tambahan kanggo mbukak OpenCL lan OpenGL ing ndhuwur DirectX

Pembalap OpenCL lan OpenGL disiapake nggunakake antarmuka Gallium sing kasedhiya ing Mesa, sing ngidini sampeyan nggawe driver tanpa mlebu menyang rincian khusus OpenGL lan nerjemahake panggilan OpenGL sing luwih cedhak karo primitif grafis sing dioperasikake GPU modern. Pembalap Gallium, nampa perintah OpenGL lan nalika nggunakake penerjemah NIR-to-DXIL
ngasilake buffer printah sing kaleksanan ing GPU nggunakake driver D3D12.

Source: opennet.ru

Add a comment