Vin projekt
libvkd3d bibliotek
I libvkd3d-shader implementeres oversættelsen af bytekode for shader-modeller 4 og 5 til en mellemliggende SPIR-V-repræsentation. Vertex, pixel, tessellation, beregning og simpel geometri shaders, rodsignatur-serialisering og deserialisering understøttes. Shader-instruktioner omfatter aritmetiske, atom- og bitoperationer, sammenlignings- og dataflowkontroloperatører, sample, indsamle og indlæse instruktioner, uordnede adgangsoperationer (UAV, Unordered Access View).
Blandt de mest betydningsfulde
- Libvkd3d-shader-biblioteket er klar til brug i tredjepartsprojekter.
- Tessellation shader støtte.
- Understøttelse af konvertering, serialisering og deserialisering af rodsignaturer (vkd3d_serialize_versioned_root_signature() og vkd3d_create_versioned_root_signature_deserializer()).
- Understøttelse af streaming output.
- Implementering af mange tidligere utilgængelige Direct3D 12-funktioner, herunder understøttelse af multisampling, ressourcereservation,
indirekte indekseret gengivelse, dybdegengivelse uden pixel shaders, samtidig adgang til ressourcer fra forskellige kommandokøer, Null-visninger. - Tilføjede miljøvariabler: VKD3D_CONFIG for at indstille muligheder for at ændre libvkd3d adfærd og VKD3D_VULKAN_DEVICE for at tilsidesætte enheden til Vulkan API.
- Tilføjet understøttelse af buffinfo shader instruktioner,
eval_centroid,
eval_sample_index,
ld2ms,
sample_b,
sample_d,
sample_info,
samplepos.
Kilde: opennet.ru