Projekt Wine on välja andnud Vkd3d 1.2 Direct3D 12 juurutusega

Veini projekt avaldatud pakendi vabastamine vkd3d 1.2 Direct3D 12 juurutusega, mis töötab Vulkani graafika API-le kõnede edastamise kaudu. Pakett sisaldab libvkd3d teeke koos Direct3D 12 rakendustega, libvkd3d-shaderit koos varjundimudelite 4 ja 5 tõlkijaga ja libvkd3d-utilite funktsioonidega Direct3D 12 rakenduste portimise lihtsustamiseks, samuti komplekti demonäiteid, sealhulgas porti. glxgearsist Direct3D-le 12. Projekti kood jaotatud litsentsitud LGPLv2.1 alusel.

libvkd3d teek toetab Enamik Direct3D 12 funktsioone, sealhulgas graafika ja arvutusvahendid, järjekorrad ja käsuloendid, käepidemed ja hunniku käepidemed, juursignatuurid, korrast ära juurdepääs, proovivõtturid, käsusignatuurid, juurkonstandid, kaudne renderdamine, Clear*() meetodid ja Kopeeri*().

Libvkd3d-shaderis on rakendatud varjundimudelite 4 ja 5 baitkoodi tõlkimine vahepealseks SPIR-V esituseks. Toetatud on tipud, pikslid, tessellatsioon, arvutamine ja lihtsad geomeetriavarjutajad, juursignatuuri serialiseerimine ja deserialiseerimine. Varjutusjuhised hõlmavad aritmeetika-, aatomi- ja bitioperatsioone, võrdlus- ja andmevoo juhtimise operaatoreid, valimi-, kogumis- ja laadimisjuhiseid, järjestamata juurdepääsuoperatsioone (UAV, Unordered Access View).

Kõige olulisemate hulgas uuendused Vkd3d 1.2-s on esile tõstetud järgmised:

  • Libvkd3d-shaderi teek on kolmandate osapoolte projektides kasutamiseks valmis.
  • Tesselatsiooni varjundi tugi.
  • Juursignatuuride teisendamise, serialiseerimise ja deserialiseerimise tugi (vkd3d_serialize_versioned_root_signature() ja vkd3d_create_versioned_root_signature_deserializer()).
  • Voogesituse väljundi tugi.
  • Paljude varem kättesaamatud Direct3D 12 funktsioonide juurutamine, sealhulgas multisamplimise tugi, ressursside reserveerimine,
    kaudne indekseeritud renderdamine, sügavusrenderdus ilma pikslivarjutajateta, samaaegne juurdepääs erinevate käsujärjekordade ressurssidele, nullvaated.

  • Lisatud keskkonnamuutujad: VKD3D_CONFIG libvkd3d käitumise muutmise suvandite määramiseks ja VKD3D_VULKAN_DEVICE seadme Vulkani API jaoks alistamiseks.
  • Lisatud tugi bufinfo varjutaja juhistele,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    sample_b,
    sample_d,
    sample_info,
    samplepos.

Allikas: opennet.ru

Lisa kommentaar