diff options
author | Dave Airlie <[email protected]> | 2017-11-05 23:37:47 +0000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-11-06 01:11:03 +0000 |
commit | 60a9705e0040a0962b82ec5363c14503d8a96d42 (patch) | |
tree | f5524aecb89aa915d66ee086cb3af536f624ef17 /src/amd/vulkan/radv_private.h | |
parent | 3a0d0982522a995f15553d88cfef1c11de63a16c (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.h | 3 |
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; |