Vīna projekts
libvkd3d bibliotēka
Programmā libvkd3d-shader ir realizēta 4. un 5. ēnotāju modeļu baitkoda tulkošana starpposma SPIR-V attēlojumā. Tiek atbalstīti virsotņu, pikseļu, teselācijas, aprēķinu un vienkāršu ģeometrijas ēnotāji, saknes parakstu serializācija un deserializācija. Shader instrukcijas ietver aritmētiskās, atomu un bitu darbības, salīdzināšanas un datu plūsmas vadības operatorus, izlases, apkopošanas un ielādes instrukcijas, nekārtotas piekļuves darbības (UAV, Unordered Access View).
Starp nozīmīgākajiem
- Libvkd3d-shader bibliotēka ir gatava lietošanai trešo pušu projektos.
- Tesselācijas ēnotāja atbalsts.
- Atbalsts saknes parakstu konvertēšanai, serializācijai un deserializācijai (vkd3d_serialize_versioned_root_signature() un vkd3d_create_versioned_root_signature_deserializer()).
- Atbalsts straumēšanas izvadei.
- Daudzu iepriekš nepieejamu Direct3D 12 funkciju ieviešana, tostarp atbalsts vairāku iztveršanai, resursu rezervēšana,
netieša indeksēta renderēšana, dziļuma renderēšana bez pikseļu ēnotājiem, vienlaicīga piekļuve resursiem no dažādām komandu rindām, nulles skati. - Pievienoti vides mainīgie: VKD3D_CONFIG, lai iestatītu opcijas, lai mainītu libvkd3d darbību, un VKD3D_VULKAN_DEVICE, lai ignorētu ierīci Vulkan API.
- Pievienots atbalsts bufinfo shadera instrukcijām,
eval_centroid,
eval_sample_index,
ld2ms,
paraugs_b,
sample_d,
sample_info,
samplepos.
Avots: opennet.ru