summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorFredrik Höglund <[email protected]>2017-04-14 00:26:58 +0200
committerBas Nieuwenhuizen <[email protected]>2017-04-14 23:21:24 +0200
commitf95caae504a894d804257674538640a9178dceb2 (patch)
tree352b66917066ff6fccccbf6692c0aa15beba5dcd /src/amd/vulkan/radv_private.h
parent220974b38dfcd557f4a6bc723e4b5d15add39f84 (diff)
radv: add private push descriptors for meta
This allows meta to use push descriptors without disturbing user push descriptors. radv_meta_push_descriptor_set differs from vkCmdPushDescriptorSetKHR in that partial updates are not supported; all descriptors used in subsequent draw commands must be pushed at the same time. Signed-off-by: Fredrik Höglund <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 2afc0cbedfc..bff8845bc73 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -787,6 +787,7 @@ struct radv_cmd_buffer {
uint32_t dynamic_buffers[4 * MAX_DYNAMIC_BUFFERS];
VkShaderStageFlags push_constant_stages;
struct radv_push_descriptor_set push_descriptors;
+ struct radv_descriptor_set meta_push_descriptors;
struct radv_cmd_buffer_upload upload;
@@ -1410,6 +1411,13 @@ radv_update_descriptor_set_with_template(struct radv_device *device,
VkDescriptorUpdateTemplateKHR descriptorUpdateTemplate,
const void *pData);
+void radv_meta_push_descriptor_set(struct radv_cmd_buffer *cmd_buffer,
+ VkPipelineBindPoint pipelineBindPoint,
+ VkPipelineLayout _layout,
+ uint32_t set,
+ uint32_t descriptorWriteCount,
+ const VkWriteDescriptorSet *pDescriptorWrites);
+
void radv_initialise_cmask(struct radv_cmd_buffer *cmd_buffer,
struct radv_image *image, uint32_t value);
void radv_initialize_dcc(struct radv_cmd_buffer *cmd_buffer,