Vinprosjekt
libvkd3d bibliotek
I libvkd3d-shader implementeres oversettelsen av bytekode for shader-modellene 4 og 5 til en mellomliggende SPIR-V-representasjon. Vertex, pixel, tessellation, databehandling og enkel geometri shaders, rotsignaturserialisering og deserialisering støttes. Shader-instruksjoner inkluderer aritmetiske, atom- og bitoperasjoner, sammenlignings- og dataflytkontrolloperatører, sample, samle og laste instruksjoner, uordnede tilgangsoperasjoner (UAV, Unordered Access View).
Blant de mest betydningsfulle
- Libvkd3d-shader-biblioteket er klart for bruk i tredjepartsprosjekter.
- Tessellation shader støtte.
- Støtte for konvertering, serialisering og deserialisering av rotsignaturer (vkd3d_serialize_versioned_root_signature() og vkd3d_create_versioned_root_signature_deserializer()).
- Støtte for streaming-utgang.
- Implementering av mange tidligere utilgjengelige Direct3D 12-funksjoner, inkludert støtte for multisampling, ressursreservasjon,
indirekte indeksert gjengivelse, dybdegjengivelse uten pikselskyggelegging, samtidig tilgang til ressurser fra forskjellige kommandokøer, Null-visninger. - Lagt til miljøvariabler: VKD3D_CONFIG for å angi alternativer for å endre libvkd3d-atferd og VKD3D_VULKAN_DEVICE for å overstyre enheten for Vulkan API.
- Lagt til støtte for buffinfo shader-instruksjoner,
eval_centroid,
eval_sample_index,
ld2ms,
sample_b,
sample_d,
sample_info,
samplepos.
Kilde: opennet.ru