Projekti Wine ka lëshuar Vkd3d 1.2 me implementim Direct3D 12

Projekti i verës publikuar lëshimi i paketës vkd3d 1.2 me një implementim Direct3D 12 që funksionon nëpërmjet transmetimit të thirrjeve në API grafike Vulkan. Paketa përfshin bibliotekat libvkd3d me implementime të Direct3D 12, libvkd3d-shader me një përkthyes të modeleve shader 4 dhe 5 dhe libvkd3d-utils me funksione për thjeshtimin e transferimit të aplikacioneve Direct3D 12, si dhe një grup shembujsh demo, duke përfshirë një port. i glxgears në Direct3D 12. Kodi i projektit shperndare nga licencuar sipas LGPLv2.1.

biblioteka libvkd3d mbështet Shumica e veçorive të Direct3D 12, duke përfshirë pajisjet grafike dhe kompjuterike, listat e radhëve dhe komandave, dorezat dhe dorezat e grumbullit, nënshkrimet rrënjësore, aksesin jashtë rendit, mostrat, nënshkrimet e komandave, konstantet rrënjësore, interpretimin indirekt, metodat Clear*() dhe Kopjo*().

Në libvkd3d-shader, zbatohet përkthimi i bytekodit të modeleve shader 4 dhe 5 në një paraqitje të ndërmjetme SPIR-V. Mbështeten vertex, pixel, tessellation, compute dhe shaders të thjeshta gjeometrike, serializimi i nënshkrimit rrënjë dhe deserializimi. Udhëzimet e shader përfshijnë operacionet aritmetike, atomike dhe bit, krahasimin dhe operatorët e kontrollit të rrjedhës së të dhënave, mostrën, mbledhjen dhe ngarkimin e instruksioneve, operacionet e aksesit të parregulluar (UAV, Pamje e Qasjes së Parregullt).

Ndër më të rëndësishmet risitë në Vkd3d 1.2 theksohen sa vijon:

  • Biblioteka libvkd3d-shader është gati për përdorim në projekte të palëve të treta.
  • Mbështetje për shader tessellation.
  • Mbështetje për konvertimin, serializimin dhe deserializimin e nënshkrimeve rrënjësore (vkd3d_serialize_versioned_root_signature() dhe vkd3d_create_versioned_root_signature_deserializer()).
  • Mbështetje për daljen e transmetimit.
  • Zbatimi i shumë veçorive të Direct3D 12 të padisponueshme më parë, duke përfshirë mbështetjen për marrjen e mostrave të shumëfishta, rezervimin e burimeve,
    interpretim indirekt i indeksuar, pasqyrim i thellësisë pa shader pikselësh, akses i njëkohshëm në burime nga radhë të ndryshme komandash, pamje Null.

  • Ndryshoret e shtuara të mjedisit: VKD3D_CONFIG për të vendosur opsionet për të ndryshuar sjelljen libvkd3d dhe VKD3D_VULKAN_DEVICE për të anashkaluar pajisjen për Vulkan API.
  • Mbështetje e shtuar për udhëzimet bufinfo shader,
    eval_centroid,
    eval_mostra_indeksi,
    ld2ms,
    mostra_b,
    mostra_d,
    mostra_info,
    mostërpos.

Burimi: opennet.ru

Shto një koment