Borprojekt
libvkd3d könyvtár
A libvkd3d-shaderben a 4-es és 5-ös shader-modell bájtkódjának fordítása egy köztes SPIR-V reprezentációra valósul meg. Csúcs, pixel, tesselláció, számítás és egyszerű geometriai shader, gyökéraláírás szerializálás és deszerializálás támogatott. A Shader utasításai közé tartoznak az aritmetikai, atomi és bitműveletek, összehasonlító és adatfolyam-vezérlő operátorok, mintavételezési, gyűjtési és betöltési utasítások, rendezetlen hozzáférési műveletek (UAV, Unordered Access View).
A legjelentősebbek között
- A libvkd3d-shader könyvtár készen áll a harmadik féltől származó projektekben való használatra.
- Tessellation shader támogatás.
- A gyökéraláírások (vkd3d_serialize_versioned_root_signature() és vkd3d_create_versioned_root_signature_deserializer()) konverziójának, szerializálásának és deszerializálásának támogatása.
- Streaming kimenet támogatása.
- Számos korábban nem elérhető Direct3D 12 funkció megvalósítása, beleértve a többszörös mintavételezést, az erőforrás-foglalást,
közvetett indexelt renderelés, mélységi renderelés pixel shader nélkül, egyidejű hozzáférés a különböző parancssorokból származó erőforrásokhoz, Null-nézetek. - Hozzáadott környezeti változók: VKD3D_CONFIG a libvkd3d viselkedésének módosítására vonatkozó beállítások megadásához, és VKD3D_VULKAN_DEVICE az eszköz felülbírálásához a Vulkan API számára.
- Támogatás hozzáadva a bufinfo shader utasításokhoz,
eval_centroid,
eval_sample_index,
ld2ms,
minta_b,
minta_d,
minta_információ,
samplepos.
Forrás: opennet.ru