Tim Wine je izdao VKD3D 2.0 — veliki izlazak biblioteke koja omogućava rad aplikacija s Direct3D 12 iznad Vulkan. VKD3D se koristi u standardnoj upstream Wine za podršku D3D12 aplikacijama; ne treba ga miješati s VKD3D-Proton, zasebnom igrom koja se koristi u Proton/Steam Play.
Projekt se distribuira pod licencom GNU Lesser General Public License 2.1 ili novijim verzijama. Izvorni kod izdanja objavljen je na serveru WineHQ, a kod je također dostupan kroz Wine repozitorije.
VKD3D 2.0 predstavlja prijelaz s grane 1.19 odmah na novu glavnu verziju. Glavni fokus je na razvoju sustava sjenila i niskonivoj kompatibilnosti s Direct3D 12.
Ključne promjene:
Unaprijeđena je obrada HLSL sjenila. Proširena podrška za HLSL jezik: implementirano je više operacija koje se sada ispravno obrađuju od strane VKD3D kompajlera i prevoditelja. Ovo je važno za pokretanje aplikacija koje koriste vlastita HLSL sjenila, a ne samo unaprijed kompilirani bajtkod.
Poboljšana je podrška za legacy Direct3D bajtkod. Unaprijeđeno je rukovanje starim tipovima izvornih bajtkoda Direct3D za kompatibilnost sa starim formatima sjenila i alatima koji se još uvijek koriste u aplikacijama i engineima.
Poboljšana je obrada DXIL. U VKD3D 2.0 nastavljen je rad na obradi DXIL — modernog međurezultantnog oblika sjenila DirectX. Za D3D12 to je jedan od ključnih formata, pa takve promjene izravno utječu na pravilno pokretanje novijih aplikacija.
Dodana su poboljšanja za efekte. U izdanje su uključene promjene vezane za efekte — mehanizme za opisivanje i primjenu grafičkih efekata u Direct3D sloju. Ovo je više infrastrukturni dio, ali je važan za kompatibilnost s postojećim grafičkim kodom.
Eksperimentalna podrška za MSL. VKD3D 2.0 je dobio eksperimentalnu podršku za generiranje MSL — Metal Shading Language. Ova smjernica je povezana s prenosivošću dijela sjenila na platforme gdje se Vulkan obično koristi preko dodatnih slojeva kompatibilnosti.
Prošireni su sučelja i mogućnosti dijagnostike. Razvijatelji su dodali nova sučelja i poboljšali alate za dijagnostiku VKD3D-a, što bi trebalo olakšati razvoj, dijagnosticiranje grešaka i daljnji razvoj podrške za Direct3D 12 u Wineu.
Osobito treba istaknuti: za većinu Steam korisnika na Linuxu, glavni D3D12 komponent ostaje VKD3D-Proton, a ne obični VKD3D. Ipak, VKD3D ostaje važan dio samog Winea i služi kao osnovna implementacija Direct3D 12 iznad Vulcana u upstream projektu.
Izvor: linux.org.ru
