Projekt Wine objavio je Vkd3d 1.2 s implementacijom Direct3D 12

Projekt vina objavljen oslobađanje paketa vkd3d 1.2 s implementacijom Direct3D 12 koja radi putem emitiranja poziva grafičkom API-ju Vulkan. Paket uključuje libvkd3d biblioteke s implementacijama Direct3D 12, libvkd3d-shader s prevoditeljem shader modela 4 i 5 i libvkd3d-utils s funkcijama za pojednostavljenje prijenosa Direct3D 12 aplikacija, kao i skup demo primjera, uključujući priključak od glxgears na Direct3D 12. Kod projekta distribuira licenciran pod LGPLv2.1.

biblioteka libvkd3d podupire Većina značajki Direct3D 12, uključujući grafičke i računalne mogućnosti, redove i popise naredbi, ručke i heap ručke, korijenske potpise, pristup izvan reda, uzorke, potpise naredbi, korijenske konstante, neizravno iscrtavanje, metode Clear*() i Kopiraj*().

U libvkd3d-shaderu, implementiran je prijevod bajt koda shader modela 4 i 5 u posrednu SPIR-V reprezentaciju. Podržani su Vertex, pixel, tessellation, compute i jednostavni geometrijski shaderi, root signature serijalizacija i deserialization. Upute shadera uključuju aritmetičke, atomske i bitne operacije, operatore za usporedbu i kontrolu protoka podataka, upute za uzorkovanje, prikupljanje i učitavanje, operacije neuređenog pristupa (UAV, neuređen pristupni prikaz).

Među najznačajnijim inovacije u Vkd3d 1.2 istaknuto je sljedeće:

  • Biblioteka libvkd3d-shader spremna je za korištenje u projektima trećih strana.
  • Podrška za teselacijski shader.
  • Podrška za konverziju, serijalizaciju i deserijalizaciju korijenskih potpisa (vkd3d_serialize_versioned_root_signature() i vkd3d_create_versioned_root_signature_deserializer()).
  • Podrška za streaming izlaz.
  • Implementacija mnogih prethodno nedostupnih značajki Direct3D 12, uključujući podršku za višestruko uzorkovanje, rezervaciju resursa,
    neizravno indeksirano prikazivanje, dubinsko prikazivanje bez sjenčanja piksela, istovremeni pristup resursima iz različitih redova naredbi, Null-views.

  • Dodane varijable okruženja: VKD3D_CONFIG za postavljanje opcija za promjenu ponašanja libvkd3d i VKD3D_VULKAN_DEVICE za nadjačavanje uređaja za Vulkan API.
  • Dodana podrška za upute bufinfo shadera,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    uzorak_b,
    uzorak_d,
    uzorak_info,
    samplepos.

Izvor: opennet.ru

Dodajte komentar