Collabora tiżviluppa add-on għat-tħaddim ta' OpenCL u OpenGL fuq DirectX

Kumpanija Collabora ippreżentata sewwieq Gallium ġdid għal Mesa, li jimplimenta saff għall-organizzazzjoni tax-xogħol tal-APIs OpenCL 1.2 u OpenGL 3.3 fuq sewwieqa li jappoġġjaw DirectX 12 (D3D12). Kodiċi ippubblikat taħt il-liċenzja MIT.

Is-sewwieq propost jippermettilek tuża Mesa fuq apparati li ma jappoġġjawx OpenCL u OpenGL b'mod nattiv, u wkoll bħala punt tat-tluq għall-portabbiltà tal-applikazzjonijiet OpenGL/OpenCL biex jaħdmu fuq D3D12. Għall-manifatturi tal-GPU, is-subsistema tagħmilha possibbli li jiġi pprovdut appoġġ għal OpenCL u OpenGL, jekk huma disponibbli biss sewwieqa b'appoġġ D3D12.

Fost il-pjanijiet immedjati hemm il-kisba ta 'passaġġ sħiħ tat-testijiet ta' kompatibilità ta 'OpenCL 1.2 u OpenGL 3.3, verifika tal-kompatibilità ma' applikazzjonijiet u l-inklużjoni ta 'żviluppi fil-kompożizzjoni prinċipali ta' Mesa. L-iżvilupp jitwettaq flimkien mal-inġiniera tal-Microsoft li qed jiżviluppaw miftuħ għodod D3D11On12 għat-trasferiment tal-logħob minn D3D11 għal D3D12 u librerija D3D12TranslationLayer, li timplimenta primitives grafiċi standard fuq D3D12.

L-implimentazzjoni tinkludi s-sewwieq Gallium, il-kompilatur OpenCL, il-runtime OpenCL u l-kompilatur shader NIR-to-DXIL, li jikkonverti r-rappreżentazzjoni intermedja ta 'shaders NIR użati f'Mesa fil-format binarju DXIL (DirectX Intermediate Language), appoġġjat f'DirectX 12 u bbażat fuq LLVM 3.7 bitcode (DirectX Shader Kumpilatur minn Microsoft huwa essenzjalment furketta estiża ta 'LLVM 3.7). Il-kompilatur OpenCL huwa ppreparat ibbażat fuq l-iżviluppi tal-proġett LLVM u l-għodod SPIRV-LLVM.

Sorsi b'estensjonijiet OpenCL huma kkompilati bl-użu ta' clang f'LLVM intermedju pseudocode (LLVM IR), li mbagħad jiġi kkonvertit f'rappreżentazzjoni intermedja ta' kernels OpenCL f'format SPIR-V. Il-qlub fir-rappreżentazzjoni SPIR-V huma mgħoddija f'Mesa, tradotti f'format NIR, ottimizzati u mgħoddija lil NIR-to-DXIL biex jiġġeneraw compute shaders f'format DXIL, adattati għall-eżekuzzjoni fuq GPUs li jużaw runtime ibbażat fuq DirectX 12.
Minflok Clover, l-implimentazzjoni OpenCL użata f'Mesa, huwa propost runtime OpenCL ġdid, li jippermetti aktar konverżjonijiet diretti għad-DirectX 12 API.

Collabora tiżviluppa add-on għat-tħaddim ta' OpenCL u OpenGL fuq DirectX

Is-sewwieqa OpenCL u OpenGL huma ppreparati bl-użu tal-interface Gallium ipprovdut f'Mesa, li jippermettilek toħloq sewwieqa mingħajr ma tidħol f'dettalji speċifiċi għall-OpenGL u tittraduċi sejħiet OpenGL essenzjalment eqreb lejn il-primittivi tal-grafika li joperaw fuqhom GPUs moderni. Is-sewwieq tal-gallju, jaċċetta kmandi OpenGL u meta juża t-traduttur NIR-to-DXIL
jiġġenera buffers tal-kmand li huma esegwiti fuq il-GPU bl-użu tas-sewwieq D3D12.

Sors: opennet.ru

Żid kumment