Wine project je izdal Vkd3d 1.2 z implementacijo Direct3D 12

Vinski projekt objavljeno sprostitev paketa vkd3d 1.2 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 distributer licenciran pod LGPLv2.1.

knjižnica libvkd3d podpira Večina 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, metodami Clear*(). in Kopiraj*().

V libvkd3d-shader je implementiran prevod bajtne kode modelov senčil 4 in 5 v vmesno predstavitev SPIR-V. Podprti so senčniki Vertex, pixel, teselation, compute in preprosti geometrijski senčniki, serializacija korenskega podpisa in deserializacija. 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).

Med najpomembnejšimi inovacije v Vkd3d 1.2 je poudarjeno naslednje:

  • Knjižnica libvkd3d-shader je pripravljena za uporabo v projektih tretjih oseb.
  • Podpora za senčenje teselacije.
  • Podpora za pretvorbo, serializacijo in deserializacijo korenskih podpisov (vkd3d_serialize_versioned_root_signature() in vkd3d_create_versioned_root_signature_deserializer()).
  • Podpora za pretočni izhod.
  • Izvedba številnih funkcij Direct3D 12, ki prej niso bile na voljo, vključno s podporo za večkratno vzorčenje, rezervacijo virov,
    posredno indeksirano upodabljanje, globinsko upodabljanje brez senčil pikslov, hkraten dostop do virov iz različnih čakalnih vrst ukazov, ničelni pogledi.

  • Dodane spremenljivke okolja: VKD3D_CONFIG za nastavitev možnosti za spreminjanje obnašanja libvkd3d in VKD3D_VULKAN_DEVICE za preglasitev naprave za API Vulkan.
  • Dodana podpora za navodila za senčenje bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    vzorec_b,
    vzorec_d,
    vzorec_info,
    samplepos.

Vir: opennet.ru

Dodaj komentar