Projekt vina
biblioteka libvkd3d
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
- 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