Collabora arendajad esitlesid Mesale uut Gallium-kontrollerit

Collabora kontroller

Hiljuti Collabora arendajad vabastati ajaveebipostituse kaudu uus Gallium-kontroller Mesale, mis rakendab vahekihi korraldada OpenCL 1.2 ja OpenGL 3.3 API DirectX 12 (D3D12) toega draiverite kohta ja nende lähtekood on välja antud MIT-litsentsi alusel.

Kavandatav kontroller teeb seda võimaldab teil Mesa seadmetes kasutada mis algselt ei ühildu OpenCL-i ja OpenGL-iga ja ka lähtepositsioonina OpenGL / OpenCL-rakenduste portimiseks tööle D3D12-le. GPU tootjate jaoks võimaldab alamsüsteem pakkuda tuge OpenCL-ile ja OpenGL-ile, kusjuures draiverid toetavad ainult D3D12.

Arendajad jagavad oma ajaveebipostituses järgmist:

Viimase paari kuu jooksul oleme töötanud Collaboras kahe uue põneva projekti kallal ja on lõpuks aeg nende kohta kogu maailmaga teavet jagada ...

Vahetutest plaanidest, täheldatakse, et testide täielik heakskiit on saavutatud OpenCL 1.2 ja OpenGL 3.3 tugi, rakendustega ühilduvuse kontrollimine ja parimate tavade lisamine Mesa põhikoosseisu.

Uue kontrolleri kohta

Uue draiveri väljatöötamine toimub koos Microsofti inseneridega D3D11On12 tööriistade väljatöötamiseks D3D11 ülekandekomplektide ja D3D12 D3D12TranslationLayer teeki jaoks, samuti standardsete graafiliste primitiivsete tööriistade väljatöötamiseks D3D12 peal.

Rakendamine sisaldab Gallium draiverit, OpenCL kompilaatorit, OpenCL-i käitusaeg ja NIR-to-DXIL varjundi kompilaator, mis teisendab Mesas kasutatavate NIR-varjundite vahepealse kujutise binaarseks DXIL-vorminguks (DirectX-i vahekeel), mis ühildub DirectX 12-ga ja põhineb bittkoodil LLVM 3.7 (Microsofti DirectX Shader Compiler on sisuliselt LLVM 3.7 pikendatud kahvel). OpenCL-i kompilaator koostati LLVM-projekti kogemuste ja SPIRV-LLVM-i tööriistakomplekti põhjal.

See töö tugineb paljudele varasematele töödele. Kõigepealt ehitame selle kasutades Mesa 3D-d, kusjuures OpenGL-i kihi aluseks on liides Gallium ja OpenCL-kompilaatori aluseks NIR. Koostajana kasutame ka LLVM-i ja Khronose SPIRV-LLVM-tõlkijat.

Lisaks kasutame ära Microsofti kogemusi nende D3D12 tõlkekihi loomisel ning enda kogemusi Zinki arendamisel.

OpenCL-i lähtekood komponeeritakse klangiga LLVM-i vahe-pseudokoodiks (LLVM IR), mis teisendatakse seejärel OpenCL-i tuuma vahepealseks esituseks SPIR-V-vormingus.

SPIR-V esinduses olevad südamikud viiakse Mesasse, tõlgitakse NIR-vormingusse, optimeeritakse ja kantakse NIR-to-DXIL-i, et luua sobivad DXIL-i arvutusvarjud GPU käivitamiseks DirectX 12-põhise käituse abil. Cloveri kasutamise asemel OpenCL Mesa juurutamises pakutakse välja uus OpenCL-i käitamisaeg, mis võimaldab otsesemaid konversioone DirectX 12 API-le.

OpenCL ja OpenGL draiverid valmistatakse ette liidese Gallium abil pakutakse Mesas, mis võimaldab draiverite loomisel mööda minna OpenGL-i spetsiifikast ja tõlkida OpenGL-kõned üksusteks, mis on lähemal graafilistele primitiividele, millega kaasaegsed GPU-d töötavad.

Gallium-draiver aktsepteerib OpenGL-i käske ja ehitab NIR-to-DXIL tõlgi osalusel käsupuhvreid, mis töötavad GPU-l D3D12 draiveri abil.

Lõpuks arendajad mainivad, et see on varajane töö ja et nad eeldavad, et kontroller aja jooksul paraneb:

See on lihtsalt teadaanne ja palju tööd on veel teha. Meil on midagi, mis praegu mõnel juhul töötab, kuid alles hakkame pinda kriipima.

Kõigepealt peame jõudma funktsioonide tasemele, kuhu suundume. Meie eesmärk on praegu läbida OpenCL 1.2 ja OpenGL 3.3 vastavuskontroll. Meil on veel pikk tee minna, kuid vähese raske töö ja higistamisega jõuame kindlasti kohale.

Kui soovite sellest rohkem teada saada, saate algset märkust kontrollida järgmine link või neile, kes on huvitatud lähtekoodi ülevaatamisest, saavad seda teha sellelt lingilt.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.