Wine meeskond on välja andnud VKD3D 2.0 — suure vabastuse teegi, mis võimaldab rakendusi kasutada Direct3D 12 pinnal Vulkan. VKD3D on tavalises upstream Wine'is D3D12 rakenduste toetamiseks; seda ei tohiks segamini ajada VKD3D-Proton, eraldi mängu haru Valve'ilt, mida kasutatakse Proton/Steam Play'is.
Projekt on litsenseeritud GNU Lesser General Public License 2.1 või hilisema versiooni alusel. Vabastamise lähtekood on avaldatud WineHQ serveris, samuti on kood saadaval Wine'i hoidlatest.
VKD3D 2.0 tähistab üleminekut harust 1.19 otse uuema peamise versiooni juurde. Peamine rõhk on asetatud shaderi alamsüsteemi ja madalama taseme ühilduvuse arendamisele Direct3D 12-ga.
Peamised muutused:
Parandatud HLSL-shaderite töötlemist. HLSL keele tugi on laienenud: teostatud on rohkem operatsioone, mis on nüüd õigesti töödeldud VKD3D kompilaatori ja tõlkijaga. See on oluline rakenduste käitamiseks, mis kasutavad oma HLSL-shadereid, mitte ainult eelnevalt kompileeritud bytecode'i.
Parandatud vanemate Direct3D bytecode'i toetust. Parandatud tööd vanade Direct3D lähtebytecode'iga, et tagada ühilduvus vanemate shaderi formaatide ja tööriistadega, mis esinevad endiselt rakendustes ja mängumootorites.
Parandatud DXIL töötlemist. VKD3D 2.0-s jätkub DXIL-i — DirectX-i shadereid esindava tänapäevase vaheformaatide töötlemine. D3D12 jaoks on see üks võtmeformaatidest, seetõttu mõjutavad sellised muudatused otse uute rakenduste korrektset käivitamist.
Lisatud täiustusi effektide jaoks. Vabastusse on kaasatud muudatused, mis on seotud effektidega — mehanismide kirjeldamise ja rakendamise graafiliste efektide jaoks Direct3D kühvli sees. See on pigem infrastruktuuri osa, kuid see on oluline olemasoleva graafikakoodi ühilduvuse jaoks.
Eksperimentaalne tugi MSL-ile on lisatud. VKD3D 2.0 on saanud eksperimentaalse toe genereerimisele MSL — Metal Shading Language. See suund on seotud shaderelementide siduvusega platvormidele, kus Vulkanit tavaliselt kasutatakse lisasobivuskihtide kaudu.
Liidesed ja silumisvõimalused on laienenud. Arendajad on lisanud uusi liideseid ja parandanud VKD3D silumisinstrumente, mis peaks lihtsustama arendust, vigade diagnoosimist ja edasist Direct3D 12 tuge arendamist Wine'is.
Eraldi tasub rõhutada: enamiku Steam'i kasutajate jaoks Linuxis jääb peamiseks D3D12 komponendiks VKD3D-Proton, mitte tavaline VKD3D. Kuid VKD3D jääb Wine'i oluliseks osaks ja on põhiteostus Direct3D 12 Vulkani peal upstream-projektis.
Allikas: linux.org.ru
