A Microsoft közzétette a D3D9On12 réteg forráskódját, amelyet a Direct3D 9 parancsok Direct3D 12 -re történő lefordítására használnak

Jó híreket tettek közzé a Microsoft -tól és ez az a közelmúltban tudtára adta egy blogbejegyzésen keresztül a D3D9On12 réteg forráskódjának megnyitása a DDI (Device Driver Interface) eszköz megvalósításával, amely a Direct3D 9 (D3D9) parancsokat Direct3D 12 (D3D12) parancsokká alakítja.

A Microsoft e lépése mostantól minden korábbinál könnyebbé teszi a fejlesztők számára a játékok átváltását a DirectX11 -ről a DirectX12 -re. A DX12 fordítási réteg lényegében segédkönyvtár a grafikus fogalmak és parancsok DX11 típusú tartományból DX12 stílusú tartományba történő lefordításához.

Már régen említettük a D3D9On12 leképező réteget. Gyors frissítésként a D3D9 parancsokat leképezi a D3D12 -re, amely a D3D9 eszközillesztő interfészként (DDI) működik. Ez a leképezési réteg lehetővé teszi a régebbi D3D9 alkalmazások futtatását olyan modern rendszereken, amelyek esetleg nem rendelkeznek D3D9 illesztőprogrammal. A legutóbbi blogbejegyzés óta támogatást adtunk az Alpha to Coverage kiterjesztésekhez, kijavítottunk néhány hibát, és megtisztítottuk a nyílt forráskódú kódbázist.

Ez kétségtelenül jó hír, és ez az a réteggel együttműködő különféle projektek most profitálhatnak, mivel így lehetővé teszi, hogy a régebbi alkalmazások olyan környezetekben működjenek, amelyek csak a D3D12 -et támogatják, azaz például, ez hasznos lehet a D3D9 megvalósításához a projektek alapján vkd3d és VKD3D-Protonmivel ezek Direct3D 12 implementációt kínálnak Linux számára, amely úgy működik, hogy a D3D12 hívásokat a Vulkan grafikus API -ba fordítja.

A D3D9On12 egy olyan réteg, amely a D3D9 és D3D12 közötti grafikus parancsokat jeleníti meg. A D3D9On12 nem a D3D9 API megvalósítása, hanem a D3D9 DDI (Device Driver Interface) felhasználói mód megvalósítása. Ez azt jelenti, hogy nem bináris, d3d9.dll, hanem d3d9on12.dll.

Amikor egy alkalmazás D3D9 eszközt hoz létre, akkor választható D3D9On12 eszköznek, nem pedig natív D3D9 eszköznek. Amikor ez megtörténik, a d3d9on12.dll betöltődik a D3D9 futtatókörnyezetben, és inicializálódik. Amikor az alkalmazás meghívja a renderelési parancsokat, a D3D9 érvényesíti ezeket a parancsokat, majd átalakítja ezeket a parancsokat DDI D3D9 formátumba, és elküldi a D3D9On12 címre, akárcsak a D3D9 illesztőprogramokat.

A D3D9On12 átveszi ezeket a parancsokat, és D3D12 API -hívásokká alakítja át őket, amelyeket a D3D12 futásideje tovább érvényesít, adott esetben a D3D12 hibakeresési réteget is beleértve, amelyeket ezután DDI D3D12 formátumba konvertál és elküldi a D3D12 illesztőprogramnak.

Azt is megemlítik, hogy a projekt a Windows 10 rendszerben található hasonló alrendszer kódján alapul. Meg kell jegyezni, hogy a D3D9On12 kód közzététele lehetőséget biztosít hogy a közösség képviselői részt vesz a hibajavításokban és az optimalizálásokban, és példaként szolgálhat a D3D9 DDI illesztőprogramok megvalósításának tanulmányozásához, és egy keretrendszer az ilyen rétegek létrehozásához a különböző grafikus API -k fordításához a D3D12 -ben.

Miért nyílt forráskódú?
A D3D9On12 néhány éve része a Windows 10 -nek, és ez idő alatt stabilitása és használhatósága nőtt. Legyen nyílt forráskódú:

Engedélyezze a közösségnek, hogy további hibajavításokat vagy teljesítményjavításokat végezzen.
másik példaként szolgál a D3D12TranslationLayer használatára
nézze meg az érdeklődőket, hogyan néz ki egy D3D9 DDI megvalósítás

Ezzel egy időben megjelent egy DXBC Signer csomag, amely lehetővé teszi a DXBC fájlok aláírását harmadik felek eszköztárai által generált tetszőleges. A D3D9On12 ezt a csomagot használja az árnyékolók új modellre konvertálásával létrehozott DXBC -k aláírására.

Végül ha érdekel, hogy többet tudjon meg róla, ellenőrizheti a Microsoft blogjában közzétett kiadvány részleteit A következő linken.


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.