Projekt vína
knižnica libvkd3d
V libvkd3d-shader je implementovaný preklad bajtového kódu shader modelov 4 a 5 do strednej reprezentácie SPIR-V. Podporované sú vertexové, pixelové, teselačné, výpočtové a jednoduché geometrické shadery, serializácia koreňového podpisu a deserializácia. Shader inštrukcie zahŕňajú aritmetické, atómové a bitové operácie, operátory porovnávania a riadenia dátového toku, vzorkovanie, zhromažďovanie a načítanie pokynov, operácie s neusporiadaným prístupom (UAV, Unordered Access View).
Medzi najvýznamnejšie
- Knižnica libvkd3d-shader je pripravená na použitie v projektoch tretích strán.
- Podpora tessellation shader.
- Podpora konverzie, serializácie a deserializácie koreňových podpisov (vkd3d_serialize_versioned_root_signature() a vkd3d_create_versioned_root_signature_deserializer()).
- Podpora streamingového výstupu.
- Implementácia mnohých predtým nedostupných funkcií Direct3D 12, vrátane podpory multisamplingu, rezervácie zdrojov,
nepriame indexované vykresľovanie, vykresľovanie hĺbky bez pixel shaderov, súčasný prístup k zdrojom z rôznych príkazových frontov, nulové zobrazenia. - Pridané premenné prostredia: VKD3D_CONFIG na nastavenie možností na zmenu správania libvkd3d a VKD3D_VULKAN_DEVICE na prepísanie zariadenia pre Vulkan API.
- Pridaná podpora pre pokyny pre buffinfo shader,
eval_centroid,
eval_sample_index,
ld2ms,
sample_b,
sample_d,
sample_info,
ukážky.
Zdroj: opennet.ru