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

Pärast poolteist aastat kestnud arendustööd on projekt Wine avaldanud vkd3d 1.3 paketi versiooni Direct3D 12 juurutusega, mis töötab Vulkani graafika API-le kõnede 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 koodi levitatakse LGPLv2.1 litsentsi alusel.

Libvkd3d teek toetab enamikku Direct3D 12 funktsioone, sealhulgas graafika ja arvutusvahendid, järjekorrad ja käsuloendid, pidemed ja hunniku käepidemed, juursignatuurid, korrast ära juurdepääs, proovivõtturid, käsusignatuurid, juurkonstandid, kaudne renderdamine, puhastusmeetodid *( ) 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).

Vkd3d 1.3 kõige olulisemate uuenduste hulgas on:

  • Lisatud esialgne tugi varjutajate kompileerimiseks ja eeltöötlemiseks HLSL-is (High-Level Shader Language), mida pakutakse alates DirectX 9.0-st.
  • Lisatud on 5.1 Shaderi mudelis määratletud deskriptorite massiivide tugi.
  • Toetab kahekordse täpsusega ujukoma toiminguid varjundites, tessellatsioonivarjurite kaudset adresseerimist, šabloonide eksportimist varjunditest, "täpset" varjundi modifikaatorit ja globaalseid tõkkeid mäluressurssidele.
  • Rakendatud on võimalus Direct3D varjutajaid baitkoodist koosteesitluseks lahti võtta.
  • Lisatud on toetus vana Direct3D baitkoodi vormingu sõelumiseks, mida kasutatakse Direct3D 1, 2 ja 3 Shader mudelites.
  • libvkd3d lisab Direct3D 12 funktsioonid, nagu juursignatuurid, korrast ära vaateloendurid, väljundi jaoks loogilised liitmisoperaatorid ja mirror_once tekstuuriaadressi režiim. Lisatud struktuur vkd3d_host_time_domain_info.

Allikas: opennet.ru

Lisa kommentaar