I-Collabora ithuthukisa isengezo sokusebenzisa i-OpenCL ne-OpenGL phezu kwe-DirectX

Inkampani Collabora kwethulwe umshayeli omusha we-Gallium we-Mesa, esebenzisa isendlalelo sokuhlela umsebenzi we-OpenCL 1.2 kanye ne-OpenGL 3.3 APIs phezu kwabashayeli abasekela i-DirectX 12 (D3D12). Ikhodi eshicilelwe ngaphansi kwelayisensi ye-MIT.

Umshayeli ohlongozwayo ukuvumela ukuthi usebenzise i-Mesa kumadivayisi angayisekeli ngokwemvelo i-OpenCL ne-OpenGL, futhi njengendawo yokuqala yokufaka izinhlelo zokusebenza ze-OpenGL/OpenCL ukuze zisebenze phezu kwe-D3D12. Kubakhiqizi be-GPU, isistimu engaphansi ikwenza kube nokwenzeka ukuhlinzeka ngosekelo lwe-OpenCL ne-OpenGL, uma kuphela abashayeli abanokwesekwa kwe-D3D12 abatholakalayo.

Phakathi kwezinhlelo zangaleso sikhathi kukhona ukuzuzwa kokuphasiswa okuphelele kokuhlolwa kokuhambisana kwe-OpenCL 1.2 ne-OpenGL 3.3, ukuhlola ukuhambisana nezinhlelo zokusebenza kanye nokufakwa kwentuthuko ekwakhiweni okuyinhloko kwe-Mesa. Ukuthuthukiswa kwenziwa ngokubambisana nonjiniyela beMicrosoft vula amathuluzi I-D3D11On12 yokudlulisa imidlalo isuka ku-D3D11 iye ku-D3D12 kanye nomtapo wolwazi I-D3D12TranslationLayer, esebenzisa ama-primitives ajwayelekile wesithombe ngaphezulu kwe-D3D12.

Ukuqaliswa kuhlanganisa umshayeli we-Gallium, i-OpenCL compiler, i-OpenCL runtime kanye ne-NIR-to-DXIL shader compiler, eguqula ukumelwa okuphakathi kwama-NIR shader asetshenziswa ku-Mesa kube ifomethi kanambambili ye-DXIL (DirectX Intermediate Language), esekelwa ku-DirectX 12 futhi kusekelwe I-LLVM 3.7 bitcode (I-DirectX Shader Compiler kusuka kuMicrosoft empeleni iyimfoloko enwetshiwe ye-LLVM 3.7). I-OpenCL compiler ilungiswa ngokusekelwe ekuthuthukisweni kwephrojekthi ye-LLVM namathuluzi I-SPIRV-LLVM.

Imithombo enezandiso ze-OpenCL ihlanganiswa kusetshenziswa i-clang ibe i-LLVM intermediate pseudocode (LLVM IR), ebese iguqulwa ibe ukumelwa okuphakathi kwama-OpenCL kernels ngefomethi ye-SPIR-V. Ama-cores esethulweni se-SPIR-V adluliselwa ku-Mesa, ahunyushelwe kufomethi ye-NIR, athuthukiswe futhi adluliselwe ku-NIR-to-DXIL ukuze kukhiqizwe ama-shader wekhompyutha ngefomethi ye-DXIL, alungele ukusetshenziswa kuma-GPU kusetshenziswa isikhathi sokusebenza esisekelwe ku-DirectX 12.
Esikhundleni se-Clover, ukusetshenziswa kwe-OpenCL okusetshenziswe ku-Mesa, kuhlongozwa isikhathi sokusebenza esisha se-OpenCL, okuvumela ukuguqulwa okuqondile okwengeziwe ku-DirectX 12 API.

I-Collabora ithuthukisa isengezo sokusebenzisa i-OpenCL ne-OpenGL phezu kwe-DirectX

Izishayeli ze-OpenCL ne-OpenGL zilungiswa kusetshenziswa isixhumi esibonakalayo se-Gallium esinikezwe ku-Mesa, esikuvumela ukuthi udale abashayeli ngaphandle kokungena emininingwaneni eqondene ne-OpenGL futhi uhumushe amakholi e-OpenGL empeleni eduze kwezithombe zakudala ezisebenza kuzo ama-GPU esimanje. Umshayeli we-Gallium, wamukela imiyalo ye-OpenGL nalapho usebenzisa umhumushi we-NIR-to-DXIL
ikhiqiza amabhafa womyalo asetshenziswa ku-GPU kusetshenziswa umshayeli we-D3D12.

Source: opennet.ru

Engeza amazwana