Module: Mesa Branch: main Commit: 5ff3d4a8a2c8a44ad7a980675827e25975f0a580 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ff3d4a8a2c8a44ad7a980675827e25975f0a580
Author: Lionel Landwerlin <[email protected]> Date: Thu Jan 12 19:56:43 2023 +0200 anv: fix generated indirect draw shader stats checks Signed-off-by: Lionel Landwerlin <[email protected]> Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws") Tested-by: Rohan Garg <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20776> --- src/intel/vulkan/anv_generated_indirect_draws.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/intel/vulkan/anv_generated_indirect_draws.c b/src/intel/vulkan/anv_generated_indirect_draws.c index 10d8cfbb659..528786bae60 100644 --- a/src/intel/vulkan/anv_generated_indirect_draws.c +++ b/src/intel/vulkan/anv_generated_indirect_draws.c @@ -230,20 +230,24 @@ compile_upload_spirv(struct anv_device *device, }; const unsigned *program = brw_compile_fs(compiler, nir, ¶ms); + unsigned stat_idx = 0; if (wm_prog_data.dispatch_8) { - assert(stats[0].spills == 0); - assert(stats[0].fills == 0); - assert(stats[0].sends == sends_count_expectation); + assert(stats[stat_idx].spills == 0); + assert(stats[stat_idx].fills == 0); + assert(stats[stat_idx].sends == sends_count_expectation); + stat_idx++; } if (wm_prog_data.dispatch_16) { - assert(stats[1].spills == 0); - assert(stats[1].fills == 0); - assert(stats[1].sends == sends_count_expectation); + assert(stats[stat_idx].spills == 0); + assert(stats[stat_idx].fills == 0); + assert(stats[stat_idx].sends == sends_count_expectation); + stat_idx++; } if (wm_prog_data.dispatch_32) { - assert(stats[2].spills == 0); - assert(stats[2].fills == 0); - assert(stats[2].sends == sends_count_expectation); + assert(stats[stat_idx].spills == 0); + assert(stats[stat_idx].fills == 0); + assert(stats[stat_idx].sends == sends_count_expectation); + stat_idx++; } struct anv_pipeline_bind_map bind_map;
