Wine project je izdal Vkd3d 1.3 z implementacijo Direct3D 12

Po letu in pol razvoja je projekt Wine objavil izdajo paketa vkd3d 1.3 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. 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 novostmi v Vkd3d 1.3 so:

  • Dodana začetna podpora za prevajanje in predhodno obdelavo senčil v HLSL (High-Level Shader Language), ki je na voljo od DirectX 9.0.
  • Dodana podpora za polja deskriptorjev, definiranih v modelu senčil 5.1.
  • Zagotavlja podporo za operacije s plavajočo vejico dvojne natančnosti v senčilih, posredno naslavljanje za teselacijske senčnike, izvoz šablon iz senčil, "natančen" modifikator senčil in globalne ovire za pomnilniške vire.
  • Izvedena je bila zmožnost razstavljanja senčil Direct3D iz bajtne kode v predstavitev sklopa.
  • Dodana podpora za razčlenjevanje starega formata bajtne kode Direct3D, ki se uporablja v modelih senčil Direct3D 1, 2 in 3.
  • libvkd3d dodaja funkcije Direct3D 12, kot so korenski podpisi, števci pogledov izven vrstnega reda, operaterji logičnega spajanja za izhod in način naslavljanja teksture mirror_once. Dodana struktura vkd3d_host_time_domain_info.

Vir: opennet.ru

Dodaj komentar