Projekt Wine je objavil Vkd3d 1.7 z implementacijo Direct3D 12

Projekt Wine je objavil izdajo paketa vkd3d 1.7 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čunskimi 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:

  • Nadaljevalo se je delo za izboljšanje prevajalnika senčil v HLSL (High-Level Shader Language):
    • Dodana možnost klicanja funkcij po meri in uporabe nizov kot parametrov za funkcije po meri.
    • Dodana podpora za parametre SV_DispatchThreadID, SV_GroupID in SV_GroupThreadID.
    • Dodane vgrajene funkcije all(), distance(), exp(), exp2(), frac(), lit(), reflect(), sin(), cos(), smoothstep(), sqrt(), rsqrt (), step(), transpose().
    • Dodana začetna podpora za nizkonatančne tipe s plavajočo vejico, kot je "min16float".
  • Bistveno izboljšana podpora za profile modelov senčil Direct3D 1/2/3.
  • Dodan javni API za razčlenjevanje (vkd3d_shader_parse_dxbc) in serializacijo (vkd3d_shader_serialize_dxbc) binarnih podatkov DXBC.

Vir: opennet.ru

Dodaj komentar