Collabora ngembangkeun tambihan pikeun ngajalankeun OpenCL sareng OpenGL di luhur DirectX

Perusahaan kolaborasi ditepikeun supir Gallium anyar pikeun Mesa, nu implements lapisan pikeun ngatur karya OpenCL 1.2 jeung OpenGL 3.3 API on luhureun drivers ngarojong DirectX 12 (D3D12). Kodeu diterbitkeun handapeun lisénsi MIT.

Supir anu diusulkeun ngamungkinkeun anjeun ngagunakeun Mesa dina alat anu henteu asli ngadukung OpenCL sareng OpenGL, sareng ogé salaku titik awal pikeun porting aplikasi OpenGL / OpenCL pikeun ngajalankeun di luhur D3D12. Pikeun pabrik GPU, subsistem ngamungkinkeun nyadiakeun rojongan pikeun OpenCL na OpenGL, lamun ngan supir jeung rojongan D3D12 sadia.

Di antara rencana langsung nyaéta prestasi lulus pinuh tina tés kasaluyuan OpenCL 1.2 sareng OpenGL 3.3, mariksa kasaluyuan sareng aplikasi sareng kalebet kamajuan dina komposisi utama Mesa. Pangwangunan dilaksanakeun babarengan sareng insinyur Microsoft ngembang kabuka parabot D3D11On12 pikeun mindahkeun kaulinan tina D3D11 mun D3D12 jeung perpustakaan D3D12Lapisan Tarjamahan, nu nerapkeun primitif grafis baku dina luhureun D3D12.

Implementasina kalebet supir Gallium, kompiler OpenCL, runtime OpenCL sareng kompiler shader NIR-to-DXIL, anu ngarobih perwakilan perantara shaders NIR anu dianggo dina Mesa kana format binér DXIL (DirectX Intermediate Language), dirojong dina DirectX 12 sareng dumasar kana LLVM 3.7 bitcode (DirectX Shader kompiler ti Microsoft dasarna mangrupa garpu nambahan LLVM 3.7). Kompiler OpenCL disusun dumasar kana pamekaran proyék sareng alat LLVM SPIRV-LLVM.

Sumber sareng ekstensi OpenCL disusun nganggo clang kana LLVM pseudocode perantara (LLVM IR), anu teras dirobih janten perwakilan perantara kernel OpenCL dina format SPIR-V. Inti dina representasi SPIR-V dialirkeun kana Mesa, ditarjamahkeun kana format NIR, dioptimalkeun sareng dikirimkeun ka NIR-to-DXIL pikeun ngahasilkeun shaders komputasi dina format DXIL, cocog pikeun palaksanaan dina GPU nganggo runtime dumasar DirectX 12.
Gantina Clover, palaksanaan OpenCL dipaké dina Mesa, a runtime OpenCL anyar diusulkeun, sahingga conversions leuwih langsung ka DirectX 12 API.

Collabora ngembangkeun tambihan pikeun ngajalankeun OpenCL sareng OpenGL di luhur DirectX

Supir OpenCL sareng OpenGL disiapkeun nganggo antarmuka Gallium anu disayogikeun dina Mesa, anu ngamungkinkeun anjeun nyiptakeun supir tanpa lebet kana detil khusus OpenGL sareng narjamahkeun sauran OpenGL dina hakekatna langkung caket kana primitif grafis anu dioperasikeun ku GPU modern. Supir Gallium, nampi paréntah OpenGL sareng nalika nganggo penerjemah NIR-to-DXIL
dibangkitkeun buffers paréntah nu dieksekusi dina GPU ngagunakeun supir D3D12.

sumber: opennet.ru

Tambahkeun komentar