Wine-projekti julkaisi Vkd3d 1.4:n Direct3D 12 -toteutuksella

Wine-projekti on julkaissut vkd3d 1.4 -paketin Direct3D 12 -toteutuksen kanssa, joka toimii lähettämällä kutsuja Vulkan-grafiikkasovellusliittymälle. Paketti sisältää libvkd3d-kirjastoja Direct3D 12 -toteutuksineen, libvkd3d-shaderin Shader-mallien 4 ja 5 kääntäjällä ja libvkd3d-utilit toiminnoilla, jotka yksinkertaistavat Direct3D 12 -sovellusten siirtoa, sekä joukon esimerkkejä, mukaan lukien portti. glxgearsistä Direct3D 12:een. Projektikoodi on jaettu LGPLv2.1-lisenssillä.

Libvkd3d-kirjasto tukee useimpia Direct3D 12 -ominaisuuksia, mukaan lukien grafiikka ja laskentatilat, jonot ja komentoluettelot, kahvat ja kasakahvat, juuriallekirjoitukset, epäjärjestyksessä käyttö, Samplerit, komentoallekirjoitukset, juurivakiot, epäsuora renderöinti, Clear method *( ) ja Kopioi*().

Libvkd3d-shaderissa Shader-mallien 4 ja 5 tavukoodin käännös on toteutettu SPIR-V-väliesityksenä. Tukee vertexiä, pikseliä, tessellaatiota, laskentaa ja yksinkertaisia ​​geometrian varjostimia, juuriallekirjoituksen serialisointia ja deserialisointia. Shader-käskyt sisältävät aritmeettisia, atomi- ja bittioperaatioita, vertailu- ja tietovirran ohjausoperaattoreita, näyte-, keräys- ja latauskäskyjä, järjestämättömät pääsytoiminnot (UAV, Unordered Access View).

Uudessa versiossa:

  • DirectX 9.0:n jälkeen toimitettuun HLSL (High-Level Shader Language) -varjostuskääntäjään on tehty lukuisia parannuksia.
  • Descriptor Heapille on ehdotettu uutta toteutusta Vulkan-laajennuksella VK_EXT_descriptor_indexing.
  • Lisätty uusi aitatoteutus, joka perustuu Vulkan-laajennukseen K_KHR_timeline_semaphore.

Lähde: opennet.ru

Lisää kommentti