diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c index 37ac1bd1fda..3ab99428b54 100644 --- a/src/intel/vulkan/anv_cmd_buffer.c +++ b/src/intel/vulkan/anv_cmd_buffer.c @@ -57,12 +57,10 @@ static void anv_cmd_pipeline_state_finish(struct anv_cmd_buffer *cmd_buffer, struct anv_cmd_pipeline_state *pipe_state) { - for (uint32_t i = 0; i < ARRAY_SIZE(pipe_state->push_descriptors); i++) { - if (pipe_state->push_descriptors[i]) { - anv_descriptor_set_layout_unref(cmd_buffer->device, - pipe_state->push_descriptors[i]->set.layout); - vk_free(&cmd_buffer->vk.pool->alloc, pipe_state->push_descriptors[i]); - } + if (pipe_state->push_descriptor) { + anv_descriptor_set_layout_unref(cmd_buffer->device, + pipe_state->push_descriptor->set.layout); + vk_free(&cmd_buffer->vk.pool->alloc, pipe_state->push_descriptor); } } @@ -877,7 +875,7 @@ anv_cmd_buffer_push_descriptor_set(struct anv_cmd_buffer *cmd_buffer, } struct anv_push_descriptor_set **push_set = - &pipe_state->push_descriptors[_set]; + &pipe_state->push_descriptor; if (*push_set == NULL) { *push_set = vk_zalloc(&cmd_buffer->vk.pool->alloc, diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 31472430485..b3a24bd3c51 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -2433,7 +2433,7 @@ anv_gfx8_9_vb_cache_range_needs_workaround(struct anv_vb_cache_range *bound, */ struct anv_cmd_pipeline_state { struct anv_descriptor_set *descriptors[MAX_SETS]; - struct anv_push_descriptor_set *push_descriptors[MAX_SETS]; + struct anv_push_descriptor_set *push_descriptor; struct anv_push_constants push_constants;