Wine komanda ir izlaidusi VKD3D 2.0 — lielu bibliotēkas izlaidumu, kas nodrošina programmu darbību ar Direct3D 12 virs Vulkan. VKD3D tiek izmantots parastajā upstream Wine, lai atbalstītu D3D12 lietotnes; to nevajadzētu sajaukt ar VKD3D-Proton, atsevišķu spēļu paveidu no Valve, kas tiek izmantota Proton/Steam Play.
Projekts tiek izplatīts saskaņā ar licenci GNU Lesser General Public License 2.1 vai jaunāku versiju. Izlaiduma avota kods ir publicēts WineHQ serverī, kā arī kods ir pieejams caur Wine repozitorijiem.
VKD3D 2.0 ir pāreja no filiāles 1.19 uzreiz uz jauno galveno versiju. Galvenā uzmanība tiek pievērsta šēderu apakšsistēmas attīstībai un zemu līmeņu saderībai ar Direct3D 12.
Galveno izmaiņu saraksts:
Uzlabota HLSL šēderu apstrāde. Paplašināta HLSL valodas atbalsts: ieviests vairāk darbību, kuras tagad pareizi apstrādā VKD3D kompilators un tulkotājs. Tas ir svarīgi, lai palaistu lietotnes, kas izmanto savus HLSL šēderus, nevis tikai iepriekš kompilētu bytecode.
Uzlabota atbalsta nodrošināšana legacy Direct3D bytecode. Uzlabota vecā Direct3D avota bytecode apstrāde, lai nodrošinātu saderību ar veciem šēderu formātiem un rīkiem, kas vēl joprojām tiek izmantoti lietojumprogrammās un dzinēju vidē.
Uzlabota DXIL apstrāde. VKD3D 2.0 turpina uzlabot DXIL apstrādi — mūsdienu intermediāro šēderu reprezentāciju DirectX. D3D12 tas ir viens no galvenajiem formātiem, tādēļ šādas izmaiņas tieši ietekmē jauno lietotņu palaišanas pareizību.
Pievienoti uzlabojumi efektiem. Izlaidumā ir iekļautas izmaiņas, kas saistītas ar efektiem — grafisko efektu apraksta un pielietošanas mehānismiem Direct3D struktūrā. Tas ir vairāk infrastruktūras jautājums, tomēr tas ir svarīgi saderībai ar esošo grafisko kodu.
Parādījās eksperimentālais atbalsts MSL. VKD3D 2.0 ir ieguvis eksperimentālo atbalstu MSL ģenerēšanai MSL — Metal Shading Language. Šis virziens ir saistīts ar šēderu pārvietojamību uz platformām, kur Vulkan parasti tiek izmantots caur papildu saderības slāņiem.
Paplašināti interfeisi un atkļūdošanas iespējas. Izstrādātāji pievienoja jaunus interfeisus un uzlaboja VKD3D atkļūdošanas rīkus, kas atvieglos izstrādi, kļūdu diagnosticēšanu un turpmāko Direct3D 12 atbalsta attīstību Wine.
Atsevišķi jāizceļ: lielākajai daļai Steam lietotāju Linux operētājsistēmā galvenais D3D12 komponents paliek VKD3D-Proton, nevis parasto VKD3D. Tomēr VKD3D joprojām paliek svarīga daļa pašā Wine un kalpo kā pamata reālāzācija Direct3D 12 virs Vulkan upstream projektā.
Avots: linux.org.ru
