Microsoft пусна изходния код на слоя D3D9On12, който се използва за превод на команди Direct3D 9 в Direct3D 12

Добра новина беше публикувана от Microsoft и то наскоро го направи известен чрез публикация в блога отваряне на изходния код на слоя D3D9On12 с внедряването на DDI (Device Driver Interface) устройство, което превежда командите Direct3D 9 (D3D9) в команди Direct3D 12 (D3D12).

Този ход на Microsoft сега ще улесни от всякога разработчиците да преминат от DirectX11 към DirectX12 за своите игри. Слоят за превод на DX12 е по същество помощна библиотека за превод на графични концепции и команди от домейн в стил DX11 в домейн в стил DX12.

Измина доста време, откакто за последно споменахме слоя за картографиране D3D9On12. Като бърза актуализация, той съпоставя командите D3D9 с D3D12, действащ като интерфейс за драйвери на устройства D3D9 (DDI). Наличието на този слой за картографиране позволява на по -старите приложения на D3D9 да работят на съвременни системи, които може да нямат драйвер за D3D9. От последната публикация в блога добавихме поддръжка за разширенията Alpha to Coverage, поправихме някои грешки и изчистихме кодовата база за отворен код.

Това несъмнено е добра новина и това е различни проекти, които работят със слоя, вече могат да се възползват, тъй като като такъв позволява наследените приложения да работят в среди, които поддържат само D3D12, т.е. например, това може да бъде полезно за прилагане на D3D9 въз основа на проектите vkd3d и VKD3D-протонтъй като те предлагат Direct3D 12 реализация за Linux, която работи чрез превеждане на D3D12 обаждания към графичния API на Vulkan.

D3D9On12 е слой, който картографира графични команди от D3D9 до D3D12. D3D9On12 не е реализация на D3D9 API, а по -скоро реализация на потребителския режим на D3D9 DDI (Device Driver Interface). Това означава, че не е двоичен файл, наречен d3d9.dll, а се нарича d3d9on12.dll.

Когато дадено приложение създаде D3D9 устройство, то може да избере да бъде D3D9On12 устройство, а не родно D3D9 устройство. Когато това се случи, d3d9on12.dll се зарежда от средата на изпълнение на D3D9 и се инициализира. Когато приложението извиква команди за изобразяване, D3D9 ще потвърди тези команди и след това ще ги преобразува в DDI D3D9 и ще ги изпрати до D3D9On12, както всеки драйвер D3D9.

D3D9On12 ще приеме тези команди и ще ги превърне в D3D12 API повиквания, които допълнително се потвърждават от времето на изпълнение на D3D12, като по избор включва слоя за отстраняване на грешки D3D12, които след това се преобразуват в D3D12 DDI и се изпращат към драйвера D3D12.

Също така се споменава, че проектът се основава на кода на подобна подсистема, включена в Windows 10. Трябва да се отбележи, че публикуването на кода D3D9On12 ще даде възможност така че представителите на общността участват в корекции на грешки и добавяне на оптимизации, и също така може да служи като пример за изучаване на изпълнението на D3D9 DDI драйверите и рамка за създаване на такива слоеве за преводи на различни графични API в D3D12.

Защо с отворен код?
D3D9On12 е част от Windows 10 от няколко години и през това време се разраства в стабилност и използваемост. Направете го с отворен код:

Позволете на общността да допринесе за допълнителни корекции на грешки или подобрения в производителността.
служат като друг пример за това как да използвате D3D12TranslationLayer
дайте на тези, които се интересуват, да разгледат как изглежда DD3 внедряването на D9DXNUMX

В същото време е пуснат пакет DXBC Signer, който дава възможност за подписване на DXBC файлове произволни, генерирани от инструменти на трети страни. D3D9On12 използва този пакет за подписване на DXBC, генерирани чрез преобразуване на шейдъри в нов модел.

Накрая ако се интересувате да научите повече за това, можете да проверите подробностите за публикацията, която Microsoft направи в своя блог В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.