Józef Kucia
18b285328e
libs/vkd3d-shader: Add version argument to vkd3d_shader_serialize_root_signature().
2017-10-10 16:57:36 +02:00
Józef Kucia
6b43a5fe38
libs/vkd3d-shader: Implement root signature serialization.
2017-10-10 16:02:09 +02:00
Józef Kucia
5a020d6673
libs/vkd3d-shader: Implement shader visibility for descriptors.
2017-09-22 16:42:07 +02:00
Józef Kucia
b19fe74284
libs/vkd3d-shader: Export shader signature parsing.
2017-09-11 22:35:16 +02:00
Józef Kucia
5ef6f71996
libs/vkd3d-shader: Emit declarations for UAV counters.
2017-09-07 17:15:54 +02:00
Józef Kucia
7416c83ae2
libs/vkd3d-shader: Rename vkd3d_descriptor_type to vkd3d_shader_descriptor_type.
2017-09-07 17:15:54 +02:00
Józef Kucia
efdf2ec691
libs/vkd3d-shader: Rename vkd3d_shader_push_constant to vkd3d_shader_push_constant_buffer.
...
This should be clearer. Multiple constant buffers can be assigned to
a single push constant range.
2017-09-07 17:15:54 +02:00
Józef Kucia
5bdc928908
libs/vkd3d-shader: Export shader scan function.
...
For UAV counters support in libvkd3d.
2017-09-01 11:27:58 +02:00
Józef Kucia
f5515c46df
libs/vkd3d: Create default sampler for each root signature.
...
We need a sampler for SpvOpImageFetch aka texelFetch().
2017-08-16 13:11:52 +02:00
Józef Kucia
e3d6bac31b
libs/vkd3d-shader: Introduce vkd3d_shader_interface structure.
2017-08-16 13:11:52 +02:00
Józef Kucia
2665cbe522
libs/vkd3d: Duplicate Vulkan descriptors for SRVs and UAVs.
...
Vulkan has different descriptor types for buffers and textures.
Therefore, we do not know the exact Vulkan descriptor type for D3D12 SRV
and UAV descriptors up front. This information can be extracted from
shaders when creating PSOs but creating incompatible Vulkan descriptor
set layouts for PSOs with the same root signature would introduce a lot
of complexity.
In order to preserve compatibility between resource bindings for PSOs
with the same root signature we duplicate Vulkan descriptors for SRVs
and UAVs (a buffer view and an image view descriptor). This strategy may
be reasonable for small root signatures.
2017-08-08 17:09:35 +02:00
Józef Kucia
d75966ab9e
libs/vkd3d: Assign non-overlapping push constant ranges for root constants.
2017-08-01 10:51:45 +02:00
Józef Kucia
92fcb9ffa2
libs/vkd3d-shader: Add support for push constants.
2017-07-27 15:24:38 +02:00
Józef Kucia
edd1e9602d
libs/vkd3d-shader: Implement arbitrary mappings from D3D shader register to Vulkan descriptors.
...
An arbitrary mapping can be passed to vkd3d_shader_compile_dxbc().
2017-07-26 13:45:25 +02:00
Józef Kucia
8f6af1125d
libs/vkd3d-shader: Get rid of VKD3D_SHADER_FLIP_Y compiler option.
...
We use negative viewport height to flip Y.
2017-06-27 22:21:43 +02:00
Józef Kucia
0afe0032b0
libs/vkd3d-shader: Add VKD3D_SHADER_STRIP_DEBUG compiler option.
2017-06-27 22:21:43 +02:00
Józef Kucia
3f03cd1ec8
libs/vkd3d-shader: Implement root signature parsing.
2017-06-27 13:16:47 +02:00
Józef Kucia
93458c8933
libs/vkd3d-shader: Add library.
2017-06-16 22:38:21 +02:00