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

Viiniprojekti julkaistu paketin julkaisu vkd3d 1.2 Direct3D 12 -toteutuksella, 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:hen 12. Projektikoodi jakelija lisensoitu LGPLv2.1:llä.

libvkd3d kirjasto tukee Suurin osa Direct3D 12:n ominaisuuksista, mukaan lukien grafiikka- ja laskentatoiminnot, jonot ja komentoluettelot, kahvat ja keon kahvat, juuriallekirjoitukset, epäjärjestyksessä pääsy, Samplerit, komentoallekirjoitukset, juurivakiot, epäsuora hahmonnus, Clear*() -menetelmät ja Kopioi*().

Libvkd3d-shaderissa Shader-mallien 4 ja 5 tavukoodin käännös on toteutettu SPIR-V-väliesityksenä. Vertex, pikseli, tessellaatio, laskeminen ja yksinkertaiset geometrian varjostimet, juuriallekirjoituksen serialisointi ja deserialisointi ovat tuettuja. 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).

Merkittävimpien joukossa innovaatioita Vkd3d 1.2:ssa seuraavat on korostettu:

  • Libvkd3d-shader-kirjasto on valmis käytettäväksi kolmannen osapuolen projekteissa.
  • Tessellation Shader -tuki.
  • Tuki juuriallekirjoitusten (vkd3d_serialize_versioned_root_signature() ja vkd3d_create_versioned_root_signature_deserializer()) muuntamiseen, sarjoitukseen ja sarjoitukseen.
  • Tuki suoratoistolle.
  • Monien aiemmin käyttämättömien Direct3D 12 -ominaisuuksien käyttöönotto, mukaan lukien moninäytteenoton tuki, resurssien varaus,
    epäsuora indeksoitu renderöinti, syvyysrenderöinti ilman pikselivarjostimia, samanaikainen pääsy resursseihin eri komentojonoista, nollanäkymät.

  • Lisätty ympäristömuuttujat: VKD3D_CONFIG asettaa asetukset libvkd3d:n käyttäytymisen muuttamiseksi ja VKD3D_VULKAN_DEVICE ohittamaan laitteen Vulkan API:lle.
  • Lisätty tuki bufinfo shader -ohjeille,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    näyte_b,
    sample_d,
    sample_info,
    samplepos.

Lähde: opennet.ru

Lisää kommentti