Perusahaan kolaborasi
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
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 (
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.
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