From 81692b8168dd09c40be5bd3ee9bf24f860b24e2c Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Fri, 17 Oct 2025 17:44:46 -0700 Subject: [PATCH] panvk: minor cleanup in cmd_prepare_push_uniforms This change: 1. Use a different loop var for outer multidraw repeat 2. Make sure fau total_count matches the filled faus per loop Reviewed-by: Boris Brezillon Reviewed-by: Christoph Pillmayer Part-of: --- src/panfrost/vulkan/panvk_vX_cmd_push_constant.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/panfrost/vulkan/panvk_vX_cmd_push_constant.c b/src/panfrost/vulkan/panvk_vX_cmd_push_constant.c index 7888e1f4850..72929975ba6 100644 --- a/src/panfrost/vulkan/panvk_vX_cmd_push_constant.c +++ b/src/panfrost/vulkan/panvk_vX_cmd_push_constant.c @@ -54,9 +54,9 @@ panvk_per_arch(cmd_prepare_push_uniforms)( uint64_t *faus = push_uniforms.cpu; uint32_t w, fau = 0; - for (uint32_t i = 0; i < repeat_count; i++) { + for (uint32_t r = 0; r < repeat_count; r++) { uint64_t addr = - push_uniforms.gpu + i * shader->fau.total_count * sizeof(uint64_t); + push_uniforms.gpu + r * shader->fau.total_count * sizeof(uint64_t); if (shader->info.stage == MESA_SHADER_COMPUTE) cmdbuf->state.compute.sysvals.push_uniforms = addr; else @@ -75,6 +75,7 @@ panvk_per_arch(cmd_prepare_push_uniforms)( faus[fau++] = (uint64_t)shader->info.fau_consts[i + 1] << 32 | shader->info.fau_consts[i]; } + assert(fau % shader->fau.total_count == 0); } *push_ptr = push_uniforms.gpu;