diff options
author | Lionel Landwerlin <lionel.g.landwerlin@intel.com> | 2023-01-12 19:56:43 +0200 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2023-01-19 07:36:19 +0000 |
commit | 5ff3d4a8a2c8a44ad7a980675827e25975f0a580 (patch) | |
tree | 681a3cd564b6e8ca754a43fa352bd95877aa2c48 /src/intel/vulkan | |
parent | 4fd9bf6e7fb38559c4e5e5b28127b909d1399a8e (diff) |
anv: fix generated indirect draw shader stats checks
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: c950fe97a0 ("anv: implement generated (indexed) indirect draws")
Tested-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20776>
Diffstat (limited to 'src/intel/vulkan')
-rw-r--r-- | src/intel/vulkan/anv_generated_indirect_draws.c | 22 |
1 files 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; |