Inilabas ng Microsoft ang source code ng layer ng D3D9On12 na ginagamit upang isalin ang mga utos ng Direct3D 9 sa Direct3D 12

Magandang balita ay inilabas mula sa Microsoft at ito ay kamakailan lamang ipinaalam ito sa pamamagitan ng isang post sa blog pagbubukas ng source code ng layer ng D3D9On12 kasama ang pagpapatupad ng aparato ng DDI (Device Driver Interface), na isinalin ang mga utos ng Direct3D 9 (D3D9) sa mga utos ng Direct3D 12 (D3D12).

Ang paglipat ng Microsoft na ito ay gagawing mas madali kaysa dati para sa mga developer na lumipat mula sa DirectX11 hanggang sa DirectX12 para sa kanilang mga laro. Ang layer ng pagsasalin ng DX12 ay mahalagang isang library ng tumutulong para sa pagsasalin ng mga graphic na konsepto at utos mula sa isang DX11-style na domain sa isang DX12-style na domain.

Medyo matagal na mula nang huli naming nabanggit ang layer ng pagmamapa ng D3D9On12. Bilang isang mabilis na pag-update, ini-map ang mga utos ng D3D9 sa D3D12 na kumikilos bilang D3D9 Device Driver Interface (DDI). Ang pagkakaroon ng layer ng pagmamapa na ito ay nagbibigay-daan sa mas matandang mga application ng D3D9 na tumakbo sa mga modernong system na maaaring walang driver ng D3D9. Mula noong huling post sa blog, nagdagdag kami ng suporta para sa mga extension ng Alpha to Coverage, naayos ang ilang mga bug, at nalinis ang code base para sa bukas na mapagkukunan.

Ito ay walang alinlangan na mabuting balita at iyon ba iba't ibang mga proyekto na gumagana sa layer ay maaaring makinabang ngayon, dahil tulad nito pinapayagan ang mga application ng legacy na gumana sa mga kapaligiran na sumusuporta lamang sa D3D12, iyon ay halimbawa maaari itong maging kapaki-pakinabang upang ipatupad ang D3D9 batay sa mga proyekto vkd3d at VKD3D-Protondahil nag-aalok ang mga ito ng pagpapatupad ng Direct3D 12 para sa Linux na gumagana sa pamamagitan ng pagsasalin ng mga tawag sa D3D12 sa Vulkan graphics API.

Ang D3D9On12 ay isang layer na nagma-map ang mga graphic na utos mula sa D3D9 hanggang D3D12. Ang D3D9On12 ay hindi isang pagpapatupad ng D3D9 API, ngunit isang pagpapatupad ng D3D9 DDI (Device Driver Interface) mode ng gumagamit. Nangangahulugan iyon na hindi ito isang binary na tinatawag na d3d9.dll, ngunit sa halip ay tinatawag itong d3d9on12.dll.

Kapag lumilikha ang isang application ng isang aparato na D3D9, maaari silang pumili na maging isang aparato na D3D9On12, sa halip na isang katutubong aparatong D3D9. Kapag nangyari ito, ang d3d9on12.dll ay na-load ng D3D9 runtime at pinasimulan. Kapag ang mga tawag sa application ay nag-render ng mga utos, papatunayan ng D3D9 ang mga utos na iyon at pagkatapos ay i-convert ang mga utos na iyon sa DDI D3D9 at ipadala ito sa D3D9On12, tulad ng anumang driver ng D3D9.

Dadalhin ng D3D9On12 ang mga utos na ito at gagawing mga tawag sa D3D12 API, na karagdagang napatunayan ng D3D12 runtime, opsyonal na isama ang D3D12 debug layer, na pagkatapos ay mai-convert sa D3D12 DDI at ipadala sa D3D12 driver.

Nabanggit din yan ang proyekto ay batay sa code ng isang katulad na subsystem na kasama sa Windows 10. Dapat pansinin na ang paglalathala ng code D3D9On12 ay magbibigay ng isang pagkakataon upang ang mga kinatawan ng pamayanan lumahok sa mga pag-aayos ng bug at pagdaragdag ng mga pag-optimize, at maaari rin itong magsilbing isang halimbawa upang pag-aralan ang pagpapatupad ng mga driver ng D3D9 DDI at isang balangkas para sa paglikha ng nasabing mga layer para sa mga pagsasalin ng iba't ibang mga graphic API sa D3D12.

Bakit open source?
Ang D3D9On12 ay naging bahagi ng Windows 10 sa loob ng ilang taon ngayon, at sa panahong iyon lumaki ito sa katatagan at kakayahang magamit. Gawing open source ito:

Payagan ang komunidad na mag-ambag ng mga karagdagang pag-aayos ng bug o pagpapahusay sa pagganap.
maglingkod bilang isa pang halimbawa ng kung paano gamitin ang D3D12TranslationLayer
bigyan ang mga interesado ng pagtingin sa kung ano ang hitsura ng isang pagpapatupad ng D3D9 DDI

Sa parehong oras, isang pakete ng DXBC Signer ay pinakawalan na nagbibigay-daan sa kakayahang mag-sign mga file ng DXBC di-makatwirang nabuo ng mga toolkit ng third-party. Ginagamit ng D3D9On12 ang package na ito upang mag-sign DXBC na nabuo sa pamamagitan ng pag-convert ng mga shader sa isang bagong modelo.

Sa wakas kung interesado kang malaman ang tungkol dito, maaari mong suriin ang mga detalye ng publication na ginawa ng Microsoft sa blog nito Sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.