From 12e1f5d0eabeb9b73b237b6a9f2052fe0b618ea0 Mon Sep 17 00:00:00 2001 From: Faith Ekstrand Date: Mon, 2 Mar 2026 15:14:45 -0500 Subject: [PATCH] panvk: Rework setting dyn_buf_offsets There's no point in looping over all the descriptors. Reviewed-by: Lars-Ivar Hesselberg Simonsen Reviewed-by: Christoph Pillmayer Reviewed-by: Lorenzo Rossi Part-of: --- src/panfrost/vulkan/panvk_vX_cmd_desc_state.c | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/panfrost/vulkan/panvk_vX_cmd_desc_state.c b/src/panfrost/vulkan/panvk_vX_cmd_desc_state.c index 25df6dbb454..1f89cd2a33e 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_desc_state.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_desc_state.c @@ -41,18 +41,9 @@ cmd_desc_state_bind_sets(struct panvk_descriptor_state *desc_state, desc_state->sets[set_idx] = set; - if (!set || !set->layout->dyn_buf_count) - continue; - - for (unsigned b = 0; b < set->layout->binding_count; b++) { - VkDescriptorType type = set->layout->bindings[b].type; - - if (!vk_descriptor_type_is_dynamic(type)) - continue; - - unsigned dyn_buf_idx = set->layout->bindings[b].desc_idx; - for (unsigned e = 0; e < set->layout->bindings[b].desc_count; e++) { - desc_state->dyn_buf_offsets[set_idx][dyn_buf_idx++] = + if (set) { + for (unsigned b = 0; b < set->layout->dyn_buf_count; b++) { + desc_state->dyn_buf_offsets[set_idx][b] = info->pDynamicOffsets[dynoffset_idx++]; } }