Microsoft julkaisi D3D9On12 -kerroksen lähdekoodin, jota käytetään Direct3D 9 -komentojen kääntämiseen Direct3D 12: ksi

Microsoftilta on julkaistu hyviä uutisia ja se on viime aikoina teki siitä tunnetuksi blogipostauksen kautta D3D9On12 -kerroksen lähdekoodin avaaminen toteutettaessa DDI (Device Driver Interface) -laite, joka muuntaa Direct3D 9 (D3D9) -komennot Direct3D 12 (D3D12) -komentoiksi.

Tämä Microsoftin siirto helpottaa nyt kehittäjien siirtymistä peleistään DirectX11: stä DirectX12: een kuin koskaan. DX12-käännöskerros on pohjimmiltaan apukirjasto graafisten käsitteiden ja komentojen kääntämiseen DX11-tyylisestä toimialueesta DX12-tyyppiseen toimialueeseen.

Siitä on aikaa, kun viimeksi mainitsimme D3D9On12 -kartoituskerroksen. Nopeana päivityksenä se yhdistää D3D9 -komennot D3D12: ksi, joka toimii D3D9 -laiteohjaimen käyttöliittymänä (DDI). Tämän kartoituskerroksen ansiosta vanhemmat D3D9 -sovellukset voivat toimia nykyaikaisissa järjestelmissä, joissa ei ehkä ole D3D9 -ohjainta. Viimeisimmän blogikirjoituksen jälkeen lisäsimme Alpha -tuen kattavuuslaajennuksiin, korjasimme joitain virheitä ja puhdistimme avoimen lähdekoodin koodikannan.

Tämä on epäilemättä hyvä uutinen ja sitä se on eri kerroksen kanssa toimivat projektit voivat nyt hyötyä, koska se sallii vanhojen sovellusten toimia ympäristöissä, jotka tukevat vain D3D12 esimerkiksi tämä voi olla hyödyllistä toteuttaa D3D9 projektien perusteella vkd3d ja VKD3D-Protonkoska nämä tarjoavat Direct3D 12 -ratkaisun Linuxille, joka toimii kääntämällä D3D12 -kutsut Vulkan -grafiikkarajapintaan.

D3D9On12 on kerros, joka kuvaa graafisia komentoja D3D9: stä D3D12: een. D3D9On12 ei ole D3D9 -sovellusliittymän toteutus, vaan pikemminkin D3D9 DDI (Device Driver Interface) -käyttötilan toteutus. Tämä tarkoittaa, että se ei ole binääri nimeltä d3d9.dll, vaan sitä kutsutaan d3d9on12.dll.

Kun sovellus luo D3D9 -laitteen, se voidaan valita D3D9On12 -laitteeksi alkuperäisen D3D9 -laitteen sijasta. Kun näin tapahtuu, d3d9on12.dll ladataan D3D9 -ajon aikana ja se alustetaan. Kun sovellus kutsuu render -komentoja, D3D9 vahvistaa nämä komennot ja muuntaa ne sitten DDI D3D9: ksi ja lähettää sen D3D9On12: ksi, aivan kuten mikä tahansa D3D9 -ohjain.

D3D9On12 ottaa nämä komennot ja muuntaa ne D3D12 API -kutsuiksi, jotka vahvistetaan edelleen D3D12 -ajon aikana, mukaan lukien valinnaisesti D3D12 -debug -kerros, jotka sitten muunnetaan DDI D3D12: ksi ja lähetetään D3D12 -ohjaimeen.

Mainitaan myös se projekti perustuu samanlaisen osajärjestelmän koodiin, joka sisältyy Windows 10: een. On huomattava, että koodin D3D9On12 julkaiseminen antaa mahdollisuuden niin että yhteisön edustajat osallistua virheenkorjauksiin ja optimointien lisäämiseen, ja se voi myös toimia esimerkkinä D3D9 DDI -ohjainten toteutuksen tutkimisesta ja kehyksestä tällaisten kerrosten luomiseksi eri grafiikkarajapintojen käännöksille D3D12: ssa.

Miksi avoimen lähdekoodin?
D3D9On12 on ollut osa Windows 10: tä jo muutaman vuoden ajan, ja sen aikana sen vakaus ja käytettävyys ovat kasvaneet. Tee siitä avoin lähdekoodi:

Anna yhteisön antaa lisäkorjauksia tai parantaa suorituskykyä.
toimii toisena esimerkkinä D3D12TranslationLayerin käyttämisestä
anna kiinnostuneille katsoa miltä D3D9 DDI -toteutus näyttää

Samalla on julkaistu DXBC Signer -paketti, joka mahdollistaa DXBC -tiedostojen allekirjoittamisen mielivaltaisesti kolmannen osapuolen työkalupakkien tuottamia. D3D9On12 käyttää tätä pakettia allekirjoittamaan DXBC: t, jotka on luotu muuntamalla varjostimet uuteen malliin.

Vihdoin jos olet kiinnostunut tietämään siitä lisää, voit tarkistaa Microsoftin julkaiseman julkaisun tiedot blogistaan Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.