Microsoft allibero el codi font de la capa D3D9On12 que s'usa per traduir les ordres de Direct3D 9 a Direct3D 12

S'han donat a conèixer bones notícies per part de Microsoft i és que fa poc va donar a conèixer mitjançant una publicació de bloc l'obertura d'el codi font de la capa D3D9On12 amb la implementació de el dispositiu DDI (Device Driver Interface), que tradueix les ordres de Direct3D 9 (D3D9) en comandaments de Direct3D 12 (D3D12).

Aquest moviment per part de Microsoft permetrà ara que sigui més fàcil que mai per als desenvolupadors poder realitzar la transició de DirectX11 a DirectX12 per als seus jocs. I és que la capa de traducció DX12 és essencialment una biblioteca auxiliar per traduir conceptes gràfics i comandaments d'un domini d'estil DX11 a un domini d'estil DX12.

Ha passat un temps des de l'última vegada que esmentem la capa de mapeig D3D9On12. Com actualització ràpida, assigna les comandes D3D9 a D3D12 actuant com la interfície de controlador de dispositiu (DDI) D3D9. Tenir aquesta capa de mapatge permet que les aplicacions D3D9 més antigues s'executin en sistemes moderns que poden no tenir un controlador D3D9. Des de l'última publicació de l'bloc, afegim suport per a les extensions Alpha to Coverage, corrigimos alguns errors i netejar la base de el codi per al codi obert.

Això sense dubte és una bona notícia i és que diversos projectes que treballen amb la capa ara es podran veure beneficiats, Ja que com a tal permet que les aplicacions heretades puguin funcionin en entorns que només admeten D3D12, és a dir per exemple, això pot ser útil per implementar D3D9 basat en els projectes vkd3d i VKD3D-Proton, Ja que aquests ofereixen una implementació de Direct3D 12 per a Linux que funciona traduint les trucades D3D12 a l'API de gràfics Vulkan.

D3D9On12 és una capa que mapeja ordres gràfics de D3D9 a D3D12. D3D9On12 no és una implementació de l'API D3D9, sinó una implementació de la manera d'usuari D3D9 DDI (interfície de controlador de dispositiu). Això vol dir que no és un binari anomenat d3d9.dll, sinó que es diu d3d9on12.dll.

Quan una aplicació crea un dispositiu D3D9, es poden triar que sigui un dispositiu D3D9On12, en lloc d'un dispositiu D3D9 natiu. Quan això succeeix, d3d9on12.dll és carregat pel temps d'execució de D3D9 i s'inicialitza. Quan l'aplicació crida a les ordres de renderitzat, D3D9 validarà aquests comandaments i després convertirà aquests comandaments a l'DDI D3D9 i l'enviarà a D3D9On12, com qualsevol controlador D3D9.

D3D9On12 prendrà aquestes comandes i els convertirà en trucades a l'API D3D12, que es validen encara més mitjançant el temps d'execució de D3D12, que inclou opcionalment la capa de depuració D3D12, que després es converteixen a l'DDI D3D12 i s'envien a el controlador D3D12.

També s'esmenta que el projecte es basa en el codi d'un subsistema similar inclòs en Windows 10. Cal assenyalar que la publicació de el codi D3D9On12 brindarà una oportunitat perquè els representants de la comunitat participin en la correcció d'errors i l'addició d'optimitzacions, i també pot servir com a exemple per a estudiar la implementació dels controladors DDI D3D9 i un marc per crear aquestes capes per a les traduccions de diverses API de gràfics en D3D12.

Per què codi obert?
D3D9On12 ha estat part de Windows 10 durant alguns anys, i durant aquest temps ha crescut en estabilitat i ús. Fer-ho de codi obert:

Permetre que la comunitat contribueixi amb correccions d'errors addicionals o millores de rendiment.
servir com un altre exemple de com utilitzar el D3D12TranslationLayer
donar a aquells que estiguin interessats un cop d'ull a com es veu una implementació de D3D9 DDI

A el mateix temps, s'ha publicat un paquet DXBC Signer que permet poder signar arxius DXBC arbitraris generats per kits d'eines de tercers. D3D9On12 fa servir aquest paquet per signar DXBC generats a l'convertir ombrejadors a un nou model.

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls de la publicació que realitzo Microsoft en el seu bloc en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.