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

Wine-projekti on julkaissut vkd3d 1.5 -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. Sisältää parannetun tuen HLSL-objektityypeille, kuten Texture2D rakenteissa ja taulukoissa, lisätty tuki sisäänrakennetuille funktioille dot(), ldexp() ja lerp(), lisätty tuki loogisille operaattoreille "and", "or" Shader-malleille 4 ja 5 ja "ei", sekä kyky heittää Boolen tyyppejä.
  • Otettiin käyttöön VKD3D_SHADER_COMPILE_OPTION_TYPED_UAV-vaihtoehto SPIR-V-moniosaisten muotojen (DXGI_FORMAT) lataamiseksi järjestämättömän pääsyn esityksen (UAV).

Lähde: opennet.ru

Lisää kommentti