Collabora tsim ib qho ntxiv rau kev khiav OpenCL thiab OpenGL saum DirectX

Collabora tuam txhab рСдставила tus tsav tsheb Gallium tshiab rau Mesa, uas siv cov txheej txheem rau kev teeb tsa kev ua haujlwm ntawm OpenCL 1.2 thiab OpenGL 3.3 APIs rau saum cov tsav tsheb txhawb nqa DirectX 12 (D3D12). Code luam tawm nyob rau hauv MIT daim ntawv tso cai.

Cov neeg tsav tsheb tau thov tso cai rau koj siv Mesa ntawm cov khoom siv uas tsis yog ib txwm txhawb nqa OpenCL thiab OpenGL, thiab tseem yog qhov chaw pib rau kev xa cov ntawv thov OpenGL / OpenCL khiav saum D3D12. Rau GPU cov tuam txhab, lub subsystem ua rau nws muaj peev xwm muab kev txhawb nqa rau OpenCL thiab OpenGL, yog tias tsuas yog tsav tsheb nrog D3D12 kev txhawb nqa muaj.

Ntawm cov phiaj xwm tam sim no yog qhov ua tiav ntawm tag nrho cov kev xeem sib raug zoo ntawm OpenCL 1.2 thiab OpenGL 3.3, tshuaj xyuas kev sib raug zoo nrog cov ntawv thov thiab suav nrog kev txhim kho hauv cov ntsiab lus tseem ceeb ntawm Mesa. Kev txhim kho yog ua tiav nrog Microsoft engineers tsim qhib cuab yeej D3D11Ob 12 rau kev hloov ua si los ntawm D3D11 rau D3D12 thiab tsev qiv ntawv D3D12TranslationLayer, uas siv cov qauv duab primitives saum D3D12.

Kev siv suav nrog tus tsav tsheb Gallium, OpenCL compiler, OpenCL runtime thiab NIR-to-DXIL shader compiler, uas hloov cov sawv cev nruab nrab ntawm NIR shaders siv hauv Mesa rau hauv DXIL (DirectX Intermediate Language) binary hom, txhawb hauv DirectX 12 thiab raws li LLVM 3.7 bitcode (DirectX Shader Compiler los ntawm Microsoft yog qhov tseem ceeb ntawm kev txuas ntxiv ntawm LLVM 3.7). OpenCL compiler yog npaj raws li kev txhim kho ntawm LLVM qhov project thiab cov cuab yeej SPIRV-LLVM.

Cov peev txheej nrog OpenCL txuas ntxiv tau muab tso ua ke siv clang rau hauv LLVM nruab nrab pseudocode (LLVM IR), uas tom qab ntawd hloov mus rau hauv nruab nrab sawv cev ntawm OpenCL kernels hauv SPIR-V hom. Cores hauv SPIR-V tus sawv cev tau dhau mus rau Mesa, txhais rau NIR hom, ua kom zoo dua thiab dhau mus rau NIR-rau-DXIL los tsim kev suav cov duab ntxoov ntxoo hauv DXIL hom, tsim nyog rau kev ua tiav ntawm GPUs siv DirectX 12-based runtime.
Hloov chaw Clover, qhov kev siv OpenCL siv hauv Mesa, ib qho tshiab OpenCL runtime yog npaj, tso cai rau kev hloov pauv ncaj qha rau DirectX 12 API.

Collabora tsim ib qho ntxiv rau kev khiav OpenCL thiab OpenGL saum DirectX

OpenCL thiab OpenGL tsav tsheb tau npaj siv Gallium interface muab hauv Mesa, uas tso cai rau koj los tsim cov tsav tsheb yam tsis tau nkag mus rau hauv OpenGL cov ntsiab lus tshwj xeeb thiab txhais OpenGL hu rau hauv qhov tseem ceeb ze rau cov duab primitives uas niaj hnub GPUs ua haujlwm. Gallium tsav tsheb, lees txais OpenGL cov lus txib thiab thaum siv tus txhais lus NIR-rau-DXIL
tsim cov lus txib buffers uas raug tua ntawm GPU siv tus tsav tsheb D3D12.

Tau qhov twg los: opennet.ru

Ntxiv ib saib