Projekt Wine je objavil Vkd3d 1.5 z implementacijo Direct3D 12

Projekt Wine je objavil izdajo paketa vkd3d 1.5 z implementacijo Direct3D 12, ki deluje prek oddajanja klicev v grafični API Vulkan. Paket vključuje knjižnice libvkd3d z implementacijami Direct3D 12, libvkd3d-shader s prevajalnikom modelov senčil 4 in 5 in libvkd3d-utils s funkcijami za poenostavitev prenosa aplikacij Direct3D 12, kot tudi niz demo primerov, vključno s pristaniščem glxgears v Direct3D 12. Koda projekta se distribuira pod licenco LGPLv2.1.

Knjižnica libvkd3d podpira večino funkcij Direct3D 12, vključno z grafičnimi in računalniškimi zmogljivostmi, čakalnimi vrstami in seznami ukazov, ročaji in ročaji kopice, korenskimi podpisi, dostopom izven vrstnega reda, vzorčevalniki, podpisi ukazov, korenskimi konstantami, posrednim upodabljanjem, jasnimi metodami *( ) in Kopiraj*().

V libvkd3d-shader je implementiran prevod bajtne kode modelov senčil 4 in 5 v vmesno predstavitev SPIR-V. Podpira vertex, pixel, teselation, compute in preproste geometrijske senčnike, serializacijo korenskega podpisa in deserializacijo. Navodila shaderja vključujejo aritmetične, atomske in bitne operacije, operaterje za primerjavo in nadzor pretoka podatkov, navodila za vzorčenje, zbiranje in nalaganje, operacije neurejenega dostopa (UAV, pogled neurejenega dostopa).

V novi različici:

  • V prevajalnik senčil HLSL (High-Level Shader Language), ki je na voljo od DirectX 9.0, so bile narejene številne izboljšave. Vključuje izboljšano podporo za tipe predmetov HLSL, kot je Texture2D v strukturah in nizih, dodano podporo za vgrajene funkcije dot(), ldexp() in lerp(), dodano podporo za logične operatorje »in«, »ali« za modele senčil 4 in 5 ter »ne«, kot tudi zmožnost pretvorbe logičnih tipov.
  • Implementirana je bila možnost VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV za nalaganje predstavitve neurejenega dostopa (UAV) za večdelne formate SPIR-V (DXGI_FORMAT).

Vir: opennet.ru

Dodaj komentar