Zbatimi i OpenGL mbi DirectX ka arritur përputhshmëri me OpenGL 3.3 dhe është përfshirë në Mesa

Kompania Collabora njoftoi miratimin e drejtuesit D3D12 Gallium në përbërjen kryesore Mesa, i cili zbaton një shtresë për organizimin e punës OpenGL në krye të API-së DirectX 12 (D3D12). Në të njëjtën kohë, u njoftua se shoferi i kaloi me sukses testet për pajtueshmërinë me OpenGL 3.3 kur punonte në krye të drejtuesve WARP (rasterizues softuerësh) dhe NVIDIA D3D12.

Drejtuesi mund të jetë i dobishëm për përdorimin e Mesa në pajisjet me drejtues që mbështesin vetëm D3D12, dhe gjithashtu si pikënisje për transferimin e aplikacioneve OpenGL për të ekzekutuar në krye të D3D12 API. Në veçanti, drejtuesi mund të përdoret për të organizuar funksionimin e aplikacioneve grafike në mjedise që ekzekutojnë nënsistemin WSL (Windows Subsystem for Linux), i cili siguron nisjen e skedarëve të ekzekutueshëm Linux në Windows.

Zhvillimi po kryhet së bashku me inxhinierët e Microsoft-it të cilët po zhvillojnë paketën e hapur të veglave D3D11On12 për përkthimin e lojërave nga D3D11 në D3D12 dhe bibliotekën D3D12TranslationLayer, e cila zbaton primitivë standardë grafikë në krye të D3D12. Bazuar në projektin në shqyrtim, Microsoft ka përgatitur tashmë një shtresë që bën të mundur ekzekutimin e aplikacioneve të bazuara në OpenGL në pajisjet Windows që nuk ofrojnë mbështetje të plotë OpenGL. Në veçanti, ishte e mundur të sigurohej që Photoshop të funksionojë në pajisjet Windows me procesorë ARM.

Implementimi përfshin një drejtues për Mesa dhe një përpilues shader NIR-to-DXIL (D3D12 runtime), i cili konverton paraqitjen e ndërmjetme të shaderëve NIR të përdorur në Mesa në formatin binar DXIL (DirectX Intermediate Language) i mbështetur në DirectX 12 dhe i bazuar në LLVM 3.7 bitkod (DirectX Shader Compiler nga Microsoft është një fork i LLVM 3.7). Drejtuesi Mesa përdor ndërfaqen Gallium, pranon komandat OpenGL dhe përdor përkthyesin NIR-në-DXIL për të gjeneruar komanda D3D12, të cilat ekzekutohen në GPU përmes drejtuesit të sistemit D3D12. Më vete, komponentët janë duke u zhvilluar për të siguruar që OpenCL të funksionojë në krye të D3D12, duke përfshirë përpiluesin OpenCL dhe kohën e ekzekutimit OpenCL.

Burimi: opennet.ru

Shto një koment