brw: Fix "GRF registers" stats output

Pick the value from the brw_shader instead of from the prog_data, since
when there are multiple variants, the prog_data one will have the
maximum value.  Picking the wrong value also caused compute shaders
that had a single variant to report 0 GRFs since the prog_data was
being filled after the generate_code() call.

Issue spotted by Felix DeGrood.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39601>
This commit is contained in:
Caio Oliveira 2026-01-28 14:42:37 -08:00 committed by Marge Bot
parent 7fd43d6e35
commit 0d19fc8256

View file

@ -1454,7 +1454,7 @@ brw_generator::generate_code(const brw_shader &s,
stats->max_live_registers = shader_stats.max_register_pressure;
stats->non_ssa_regs_after_nir = shader_stats.non_ssa_registers_after_nir;
stats->source_hash = prog_data->source_hash;
stats->grf_registers = devinfo->ver >= 30 ? prog_data->grf_used : 0;
stats->grf_registers = devinfo->ver >= 30 ? s.grf_used : 0;
/* Report the max dispatch width only on the smallest SIMD variant.
*