Projekti Wine avaldas vkd3d paketi versiooni 1.12, mis sisaldab Direct3D 12 rakendust, mis töötab läbi hüvede ülekandmise Vulkan graafikaportfelli. Pakett sisaldab raamatukogusid libvkd3d Direct3D 12 rakendusega, libvkd3d-shader koos 4. ja 5. versiooni shaderite tõlkijaga ning libvkd3d-utils funktsioonidega, mis lihtsustavad Direct3D 12 rakenduste portimist, samuti mitmesuguseid demo näiteid, sealhulgas glxgears porti Direct3D 12. Projekti kood levitatakse LGPLv2.1 litsentsi alusel.
libvkd3d raamatukogu toetab enamikku Direct3D 12 funktsioone, sealhulgas graafika- ja arvutusvahendeid, järjekordi ja käsu loendeid, deskriptorite ja puhverski deskriptorite, juur-sigantuuride, mittesorteeritud juurdepääsu, sample'ite, käsusigantuuride, juur-konstantide, kaudse (indirect) joonistamise, Clear*() ja Copy*() meetodeid. libvkd3d-shaderis on realiseeritud shaderi mudelite bytecode'i tõlkimine vahepealsesse esitusvormi SPIR-V. Toetatakse tipp-, pikslirida-, tesselleerimise-, arvutus- ja lihtsaid geomeetrilisi shadereid, juur-sigantuuride serialiseerimist ja deserialiseerimist. Shaderi käsud hõlmavad arvutus-, aatom- ja bititehteid, võrdlus- ja voolu juhtimise operaatorite, sample, gather ja load instruktsioone, mittesorteeritud juurdepääsu operatsioonide (UAV, Unordered Access View) toetust.
Uues versioonis:
- HLSL kompilaatorisse on lisatud toetus otseseks kompileerimiseks Direct3D shaderite masinkoodiks ja sihttüüpideks SPIR-V.
- HLSL kompilaatoris on parandatud toimet 1., 2. ja 3. versiooni shaderite profiilide toetamiseks.
- HLSL-le on rakendatud sisseehitatud funktsioonid cosh(), determinant(), refract(), sinh() ja tanh().
- libvkd3d-sse on lisatud tugi formaatidele DXGI_FORMAT_B5G6R5_UNORM, DXGI_FORMAT_B5G5R5A1_UNORM ja DXGI_FORMAT_B4G4R4A4_UNORM, kui neid toetab olemasolev Vulkan API rakendus.
- Toetatud on liideseid ID3D12ShaderCacheSession ja ID3D12Device9. Liidesesse ID3D12Device8 on lisatud meetodid CreateCommittedResource2(), CreatePlacedResource1(), GetCopyableFootprints1() ja GetResourceAllocationInfo2().
- On tõhusad kontrollpäringud D3D12_FEATURE_D3D12_OPTIONS14, D3D12_FEATURE_D3D12_OPTIONS15, D3D12_FEATURE_D3D12_OPTIONS16, D3D12_FEATURE_D3D12_OPTIONS17 ja D3D12_FEATURE_D3D12_OPTIONS18.
- libvkd3d-shaderis on eksperimentaalne tugi enamiku meetodite ja käskluste jaoks, mis kuuluvad 6. shaderi mudeli Direct3D'i vahekeelele DXIL (DirectX Intermediate Language).
Allikas: opennet.ru
