From e382d82ca97df2290dd3da2398f0a1f4e1791856 Mon Sep 17 00:00:00 2001 From: Caio Oliveira Date: Mon, 6 Apr 2026 10:32:34 -0700 Subject: [PATCH] anv: Fix assert in anv_nir_compute_push_layout When per-primitive padding is needed, max_push_buffers is set to 3 (instead of 4) to reserve the last slot for it. The assert was requiring `n_push_ranges < max_push_buffers`, which incorrectly fired when the 3 ranges were used. Fixes: a8ba6829195 ("anv: assert we haven't gone over the maximum number of push_buffers") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15155 Reviewed-by: Lionel Landwerlin Reviewed-by: Dylan Baker Part-of: --- src/intel/vulkan/anv_nir_compute_push_layout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/vulkan/anv_nir_compute_push_layout.c b/src/intel/vulkan/anv_nir_compute_push_layout.c index f90de6315d7..7a560558c55 100644 --- a/src/intel/vulkan/anv_nir_compute_push_layout.c +++ b/src/intel/vulkan/anv_nir_compute_push_layout.c @@ -624,7 +624,7 @@ anv_nir_compute_push_layout(nir_shader *nir, } if (needs_padding_per_primitive) { - assert(n_push_ranges < max_push_buffers); + assert(n_push_ranges < ARRAY_SIZE(map->push_ranges)); struct anv_push_range push_constant_padding_range = { .set = ANV_DESCRIPTOR_SET_PER_PRIM_PADDING, .start = 0,