Wine Project
libvkd3d library
libvkd3d-shader implements translation of bytecode 4 and 5 of shader models into an intermediate representation of SPIR-V. Supports vertex, pixel, tessellation, compute and simple geometry shaders, root signature serialization and deserialization. Arithmetic, atomic and bit operations, comparison and data flow control operators, sample, gather and load instructions, unordered access operations (UAV, Unordered Access View) are implemented from shader instructions.
Among the most significant
- The readiness of the libvkd3d-shader library for use in third-party projects.
- Support for tessellation shaders.
- Support for converting, serializing, and deserializing root signatures (vkd3d_serialize_versioned_root_signature() and vkd3d_create_versioned_root_signature_deserializer()).
- Support for streaming output.
- Implementation of many previously unavailable Direct3D 12 features, including support for multisampling, resource reservation,
indirect indexed rendering, depth rendering without pixel shaders, simultaneous access to resources from different command queues, null views (Null-views). - Added environment variables: VKD3D_CONFIG to set options to change libvkd3d behavior and VKD3D_VULKAN_DEVICE to override device for Vulkan API.
- Added support for bufinfo shader instructions,
eval_centroid,
eval_sample_index,
ld2ms,
sample_b,
sample_d,
sample_info,
samplepos.
Source: opennet.ru