diff options
author | Fredrik Höglund <[email protected]> | 2017-03-29 18:12:44 +0200 |
---|---|---|
committer | Fredrik Höglund <[email protected]> | 2017-04-07 00:54:46 +0200 |
commit | c6487bc48bb084ec3d4a3c331239d690dfc94436 (patch) | |
tree | 07398ca3e6d7f3a92f48e923da2f05a399b89bfd /src/amd/vulkan/radv_private.h | |
parent | 3b33f03913d6c41aedf01a63c8b847c058a73f2f (diff) |
radv: implement VK_KHR_push_descriptor
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.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index cba1891d1e5..e39819fff3e 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -79,6 +79,7 @@ typedef uint32_t xcb_window_t; #define MAX_VIEWPORTS 16 #define MAX_SCISSORS 16 #define MAX_PUSH_CONSTANTS_SIZE 128 +#define MAX_PUSH_DESCRIPTORS 32 #define MAX_DYNAMIC_BUFFERS 16 #define MAX_SAMPLES_LOG2 4 #define NUM_META_FS_KEYS 11 @@ -549,6 +550,12 @@ struct radv_descriptor_set { struct radeon_winsys_bo *descriptors[0]; }; +struct radv_push_descriptor_set +{ + struct radv_descriptor_set set; + uint32_t capacity; +}; + struct radv_descriptor_pool { struct radeon_winsys_bo *bo; uint8_t *mapped_ptr; @@ -682,6 +689,7 @@ struct radv_cmd_state { uint32_t vb_dirty; radv_cmd_dirty_mask_t dirty; bool vertex_descriptors_dirty; + bool push_descriptors_dirty; struct radv_pipeline * pipeline; struct radv_pipeline * emitted_pipeline; @@ -739,6 +747,7 @@ struct radv_cmd_buffer { uint8_t push_constants[MAX_PUSH_CONSTANTS_SIZE]; uint32_t dynamic_buffers[4 * MAX_DYNAMIC_BUFFERS]; VkShaderStageFlags push_constant_stages; + struct radv_push_descriptor_set push_descriptors; struct radv_cmd_buffer_upload upload; |