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 <boris.brezillon@collabora.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37951>
This commit is contained in:
Yiwei Zhang 2025-10-17 17:44:46 -07:00 committed by Marge Bot
parent 387f75f43d
commit 81692b8168

View file

@ -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;