Spoločnosť Collabora už začala pracovať na prijatí radiča Gallium D3D12

Vývojári Collabora prepustená nedávno prostredníctvom inzerátu prijatie otvoreného radiča Gallium D3D12, ktorá implementuje vrstvu na usporiadanie práce OpenGL na API DirectX 12 (D3D12) v hlavnej kompozícii Mesa.

Súčasne vodič úspešne prešiel testom kompatibility OpenGL 3.3 pri práci na ovládačoch WARP (softvér rasterizéra) a NVIDIA D3D12.

S potešením zdieľame, že sme nedávno absolvovali testovanie zhody OpenGL 3.3 a aktualizovali sme kód v programe Mesa 3D!

Kontrolór môže byť užitočné používať Mesa na zariadeniach s riadiacimi jednotkami iba D3D12 a ako východiskový bod pre portovanie aplikácií OpenGL na beh na D3D12 API. Ovládač je možné použiť najmä na organizáciu prevádzky grafických aplikácií v prostrediach riadených podsystémom WSL (Windows Subsystem for Linux), ktorý zaisťuje spustenie spustiteľných súborov systému Linux v systéme Windows.

Jednou z hlavných aplikácií, ktorá vyniká, je podpora Photoshopu, ktorá, ako sa uvádza v reklame, nemusí byť veľkým prekvapením, ale jednou z motivácií pre túto prácu bolo, aby bolo možné spúšťať aplikácie ako Photoshop na zariadeniach Windows bez kompatibility celkom s OpenGL.

S potešením oznamujem, že spoločnosť Microsoft vydala svoj balíček kompatibility, ktorý využíva našu prácu na poskytovanie podpory OpenGL (a OpenCL), a preto môže Photoshop teraz bežať na Windows na procesoroch ARM! Je také vzrušujúce sledovať, ako vysoko hodnotné aplikácie, ako je táto, profitujú z našej práce!

Vývoj sa realizuje v spolupráci s inžiniermi spoločnosti Microsoft s cieľom vyvinúť nástroje ako D3D11On12 na prenos hier do knižnice D3D11 a D3D12 D3D12TranslationLayer, ktorá nad D3D12 implementuje štandardné grafické primitívy.

Na základe posudzovaného projektu Microsoft už pripravil medzivrstvu čo umožňuje spúšťať aplikácie založené na OpenGL na zariadeniach Windows ktoré neposkytujú úplnú podporu pre OpenGL. Predovšetkým bolo možné zaručiť prácu Photoshopu na zariadeniach so systémom Windows s procesormi ARM.

Rád by som zdôraznil, že po schválení OpenGL CTS nemusí to byť nevyhnutne to isté ako formálne dodržiavanie súladu. Existuje niekoľko podrobností o tom, ako formálne vyhovieť vrstvovým implementáciám, ktoré sú komplikované, a otázku formálneho súladu nechám na spoločnosti Microsoft a Khronos.

Implementácia obsahuje ovládač pre Mesa a kompilátor shaderu NIR-to-DXIL (runtime D3D12), ktorý prevádza prostredný shader MIRy na binárny formát DirectX Intermediate Language (DXIL) kompatibilný s DirectX 12, LLVM 3.7 založeným na bitových kódoch. (Microsoft DirectX Kompilátor Shader je vidlicou LLVM 3.7).

Pred odoslaním výsledkov by sa mali opraviť aj problémy s behom D3D12. V prípade potreby tieto problémy spolupracujeme so spoločnosťou Microsoft. Tieto opravy môžu chvíľu trvať, kým sa dostanú k zostaveniu systému Windows a ku koncovým používateľom, ale nakoniec sa ukážu.

Ale u dodávateľa a ovládača D3D12 a nižších verzií sa veci komplikujú ...

Po prvé, nie vždy je možné rozlišovať medzi problémami s ovládačmi dodávateľov a hardvérovými problémami. A čo je horšie, keďže sú vyvíjané spoločnosťami tretích strán, máme o nich málo informácií. 

Kontrolér Mesa používa rozhranie Gálium, prijíma príkazy OpenGL a pomocou prekladača NIR do DXIL, generuje príkazy D3D12, ktoré sa spúšťajú na GPU pomocou systémového ovládača D3D12. Samostatne sa vyvíjajú komponenty, ktoré majú zabezpečiť, aby OpenCL fungoval nad D3D12, vrátane kompilátora OpenCL a runtime OpenCL.

Konečne ak máte záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti Na nasledujúcom odkaze.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.