Microsoft izlaida slāņa D3D9On12 avota kodu, kas tiek izmantots Direct3D 9 komandu tulkošanai uz Direct3D 12

Labas ziņas ir izlaistas no Microsoft un tas ir nesen darīja to zināmu izmantojot emuāra ziņu atverot D3D9On12 slāņa avota kodu ar DDI (Device Driver Interface) ierīces ieviešanu, kas Direct3D 9 (D3D9) komandas pārvērš Direct3D 12 (D3D12) komandās.

Šis Microsoft solis tagad atvieglos izstrādātāju pāreju no DirectX11 uz DirectX12 savām spēlēm. DX12 tulkošanas slānis būtībā ir palīgbibliotēka grafisko jēdzienu un komandu tulkošanai no DX11 stila domēna uz DX12 stila domēnu.

Ir pagājis laiks, kopš pēdējo reizi pieminējām kartēšanas slāni D3D9On12. Kā ātrs atjauninājums tas kartē D3D9 komandas uz D3D12, kas darbojas kā D3D9 ierīces draivera saskarne (DDI). Šī kartēšanas slāņa izmantošana ļauj vecākām D3D9 lietojumprogrammām darboties modernās sistēmās, kurām, iespējams, nav D3D9 draivera. Kopš pēdējā emuāra ziņojuma mēs paplašinājumam Coverage pievienojām atbalstu alfa, labojām dažas kļūdas un sakopām atvērtā koda koda bāzi..

Šī neapšaubāmi ir laba ziņa, un tā arī ir dažādi projekti, kas strādā ar slāni, tagad var gūt labumu, jo tas ļauj mantotajām lietojumprogrammām strādāt vidēs, kas atbalsta tikai D3D12, tas ir piemēram, tas var būt noderīgi, lai ieviestu D3D9, pamatojoties uz projektiem vkd3d un VKD3D-Protonjo tie piedāvā Direct3D 12 ieviešanu Linux, kas darbojas, tulkojot D3D12 zvanus uz Vulkan grafisko API.

D3D9On12 ir slānis, kas kartē grafiskās komandas no D3D9 līdz D3D12. D3D9On12 nav D3D9 API ieviešana, bet drīzāk D3D9 DDI (Device Driver Interface) lietotāja režīma ieviešana. Tas nozīmē, ka tas nav binārs ar nosaukumu d3d9.dll, bet drīzāk to sauc par d3d9on12.dll.

Kad lietojumprogramma izveido D3D9 ierīci, to var izvēlēties kā D3D9On12 ierīci, nevis vietējo D3D9 ierīci. Kad tas notiek, d3d9on12.dll tiek ielādēts ar D3D9 izpildlaiku un tiek inicializēts. Kad lietojumprogramma izsauc renderēšanas komandas, D3D9 validēs šīs komandas un pēc tam pārvērsīs šīs komandas uz DDI D3D9 un nosūtīs to uz D3D9On12, tāpat kā jebkuru D3D9 draiveri.

D3D9On12 izmantos šīs komandas un pārvērsīs tās D3D12 API izsaukumos, kurus tālāk apstiprina D3D12 izpildlaiks, pēc izvēles iekļaujot D3D12 atkļūdošanas slāni, kas pēc tam tiek pārveidoti par DDI D3D12 un nosūtīti uz D3D12 draiveri.

Tas ir arī minēts projekts ir balstīts uz līdzīgas apakšsistēmas kodu, kas iekļauts sistēmā Windows 10. Jāatzīmē, ka koda D3D9On12 publicēšana sniegs iespēju lai kopienas pārstāvji piedalīties kļūdu labojumos un optimizācijas pievienošanā, un tas var kalpot arī kā piemērs, lai izpētītu D3D9 DDI draiveru ieviešanu un sistēmu šādu slāņu izveidošanai dažādu grafisko API tulkojumiem D3D12.

Kāpēc atvērtā koda?
D3D9On12 jau dažus gadus ir daļa no Windows 10, un šajā laikā tā stabilitāte un lietojamība ir pieaugusi. Padariet to par atvērtu pirmkodu:

Ļaujiet kopienai sniegt papildu kļūdu labojumus vai veiktspējas uzlabojumus.
kalpo kā vēl viens piemērs, kā izmantot D3D12TranslationLayer
lai interesenti ieskatās, kā izskatās D3D9 DDI ieviešana

Tajā pašā laikā ir izlaista DXBC Signer pakotne, kas ļauj parakstīt DXBC failus patvaļīgi ģenerēti trešo pušu instrumentu komplekti. D3D9On12 izmanto šo pakotni, lai parakstītu DXBC, kas ģenerēti, pārveidojot ēnotājus uz jaunu modeli.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt Microsoft publikācijas informāciju savā emuārā Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.