b61c785bd0
libs/vkd3d-shader: Implement SV_InstanceID.
2017-09-11 22:35:16 +02:00
cd99601b3c
libs/vkd3d: Implement offset computation for D3D12_APPEND_ALIGNED_ELEMENT.
2017-09-11 22:35:16 +02:00
8e802ed0af
libs/vkd3d: Update descriptor table ranges only with matching descriptor types.
2017-09-11 22:35:16 +02:00
a78fe60ef8
Revert "libs/vkd3d: Skip unbound UAV counters."
...
This reverts commit d9bc635d1a
.
We should not need to handle this invalid behavior. It was triggered
by the bug in d3d12_command_list_update_descriptor_table().
2017-09-11 22:35:16 +02:00
1cde37d341
libs/vkd3d: Fix updating descriptor sets for descriptor tables with gaps.
...
Fixes 9afaed918d
.
2017-09-11 22:35:16 +02:00
32966338df
libs/vkd3d: Get rid of UAV counter count from d3d12_pipeline_state.
2017-09-08 15:30:48 +02:00
e8868affc0
libs/vkd3d: Clear UAV counters dirty mask after updating descriptors.
2017-09-08 15:30:48 +02:00
d9bc635d1a
libs/vkd3d: Skip unbound UAV counters.
2017-09-08 15:04:30 +02:00
9afaed918d
libs/vkd3d: Bind descriptor set for UAV counters.
2017-09-08 15:04:30 +02:00
19dc6c412e
libs/vkd3d: Constify root signature pointers.
2017-09-08 15:04:30 +02:00
0d28036d2a
libs/vkd3d: Add UAV counter support for compute pipelines.
...
UAV counter descriptors are stored in a separate VkDescriptorSet.
A VkPipelineLayout created for compute pipeline is compatible for all
other descriptor sets with the VkPipelineLayout created for the root
signature. This ensures that only UAV counter bindings in the last
descriptor set may be disturbed when switching between pipelines with
compatible root signatures.
The implementation of vkd3d_popcount() is based on
https://graphics.stanford.edu/~seander/bithacks.html
2017-09-08 15:04:30 +02:00
37f4c9d2a3
libs/vkd3d: Print only TRACE() messages for not initialized descriptors.
...
A descriptor do not have to be initialized if it is not used by shaders.
2017-09-07 17:48:43 +02:00
30cd4cc59f
libs/vkd3d-shader: Always declare format for raw/structured image variables.
2017-09-07 17:48:43 +02:00
6dfb4ad520
libs/vkd3d-shader: Mark imm_atomic_alloc as UAV read instruction.
2017-09-07 17:48:43 +02:00
4af15035df
libs/vkd3d-shader: Improve some debug messages.
2017-09-07 17:48:43 +02:00
3191e1eaa9
libs/vkd3d-shader: Implement UAV counters instructions.
2017-09-07 17:15:54 +02:00
5ef6f71996
libs/vkd3d-shader: Emit declarations for UAV counters.
2017-09-07 17:15:54 +02:00
7416c83ae2
libs/vkd3d-shader: Rename vkd3d_descriptor_type to vkd3d_shader_descriptor_type.
2017-09-07 17:15:54 +02:00
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
bd0c886281
libs/vkd3d: Store push constant ranges in root signatures.
...
In prep for UAV counters support.
2017-09-07 17:15:54 +02:00
ce8a0290b4
libs/vkd3d: Factor out vkd3d_create_pipeline_layout() function.
2017-09-07 17:15:54 +02:00
22b019137b
libs/vkd3d: Factor out vkd3d_create_descriptor_set_layout() function.
2017-09-07 17:15:53 +02:00
f587670445
libs/vkd3d: Drop support for SPIR-V shaders.
2017-09-07 17:15:53 +02:00
495bd6fddc
libs/vkd3d: Create Vulkan buffer views for UAV counter resources.
2017-09-07 17:15:53 +02:00
23150f6050
libs/vkd3d: Update Vulkan descriptor sets just before draw call.
2017-09-05 11:53:55 +02:00