Kamfanin sadarwa
Direban da aka tsara yana ba ku damar amfani da Mesa akan na'urorin da ba su goyan bayan OpenCL da OpenGL na asali ba, haka kuma azaman mafari don jigilar aikace-aikacen OpenGL/OpenCL don gudana akan D3D12. Ga masana'antun GPU, tsarin tsarin yana ba da damar samar da tallafi don OpenCL da OpenGL, idan kawai direbobi masu goyon bayan D3D12 suna samuwa.
Daga cikin tsare-tsaren nan da nan akwai nasarar samun cikakkiyar nasarar gwajin dacewa na OpenCL 1.2 da OpenGL 3.3, duba dacewa tare da aikace-aikace da haɗa abubuwan haɓakawa a cikin babban abun ciki na Mesa. Ana gudanar da haɓakawa tare da injiniyoyin Microsoft masu tasowa
Ayyukan aiwatarwa sun haɗa da direban Gallium, mai tarawa na OpenCL, OpenCL runtime da NIR-to-DXIL shader compiler, wanda ke canza matsakaicin wakilcin NIR shaders da aka yi amfani da su a cikin Mesa a cikin tsarin binary DXIL (DirectX Intermediate Language), wanda aka goyan bayan DirectX 12 kuma bisa ga LLVM 3.7 bitcode
Ana tattara tushen tushen kari na OpenCL ta amfani da dangi zuwa cikin LLVM matsakaici pseudocode (LLVM IR), wanda sai a canza shi zuwa matsakaicin wakilci na kernels na OpenCL a tsarin SPIR-V. Cores a cikin wakilcin SPIR-V an wuce su cikin Mesa, an fassara su zuwa tsarin NIR, an inganta su kuma an wuce su zuwa NIR-to-DXIL don samar da shaders a cikin tsarin DXIL, wanda ya dace da aiwatarwa akan GPUs ta amfani da lokaci na tushen DirectX 12.
Maimakon Clover, aiwatar da OpenCL da aka yi amfani da shi a Mesa, an ba da shawarar sabon lokacin gudu na OpenCL, yana ba da damar ƙarin juyawa kai tsaye zuwa DirectX 12 API.
An shirya direbobin OpenCL da OpenGL ta amfani da gallium interface da aka bayar a cikin Mesa, wanda ke ba ku damar ƙirƙirar direbobi ba tare da shiga takamaiman takamaiman bayanai na OpenGL ba kuma ku fassara kiran OpenGL a zahiri kusa da abubuwan ƙira waɗanda GPUs na zamani ke aiki da su. Direban Gallium, yana karɓar umarnin OpenGL da lokacin amfani da fassarar NIR-zuwa-DXIL
yana haifar da buffers umarni waɗanda aka kashe akan GPU ta amfani da direban D3D12.
source: budenet.ru