summaryrefslogtreecommitdiffstats
path: root/src/amd/vulkan/radv_private.h
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2017-11-05 23:37:47 +0000
committerDave Airlie <[email protected]>2017-11-06 01:11:03 +0000
commit60a9705e0040a0962b82ec5363c14503d8a96d42 (patch)
treef5524aecb89aa915d66ee086cb3af536f624ef17 /src/amd/vulkan/radv_private.h
parent3a0d0982522a995f15553d88cfef1c11de63a16c (diff)
radv: move descriptor sets out of cmd_state.
Instead of storing all the pointers and zeroing them all out, just store a valid bitmask in the state. This also moves the CmdBindPipeline path down the cpu usage path for the multithreading demo as it no longer has to traverse MAX_SETS to find the active descriptor sets. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r--src/amd/vulkan/radv_private.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index 8fb34962713..cfbdfeb9909 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -822,7 +822,6 @@ struct radv_cmd_state {
struct radv_render_pass * pass;
const struct radv_subpass * subpass;
struct radv_dynamic_state dynamic;
- struct radv_descriptor_set * descriptors[MAX_SETS];
struct radv_attachment_state * attachments;
VkRect2D render_area;
@@ -839,6 +838,7 @@ struct radv_cmd_state {
unsigned active_occlusion_queries;
float offset_scale;
uint32_t descriptors_dirty;
+ uint32_t valid_descriptors;
uint32_t trace_id;
uint32_t last_ia_multi_vgt_param;
};
@@ -878,6 +878,7 @@ struct radv_cmd_buffer {
VkShaderStageFlags push_constant_stages;
struct radv_push_descriptor_set push_descriptors;
struct radv_descriptor_set meta_push_descriptors;
+ struct radv_descriptor_set *descriptors[MAX_SETS];
struct radv_cmd_buffer_upload upload;