r600: Add number of ALU groups to statistics

The number of ALU groups is important for good sccheduling, so
let's add it to the stats.

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Filip Gawin <filip@gawin.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17076>
This commit is contained in:
Gert Wollny 2022-05-18 22:41:54 +02:00 committed by Marge Bot
parent c67c9688c3
commit 105b03a5ed
3 changed files with 10 additions and 2 deletions

View file

@ -1347,9 +1347,12 @@ int r600_bytecode_add_alu_type(struct r600_bytecode *bc,
return r;
if (bc->cf_last->prev_bs_head) {
r = merge_inst_groups(bc, slots, bc->cf_last->prev_bs_head);
struct r600_bytecode_alu *cur_prev_head = bc->cf_last->prev_bs_head;
r = merge_inst_groups(bc, slots, cur_prev_head);
if (r)
return r;
if (cur_prev_head != bc->cf_last->prev_bs_head)
bc->nalu_groups--;
}
if (bc->cf_last->prev_bs_head) {
@ -1381,10 +1384,13 @@ int r600_bytecode_add_alu_type(struct r600_bytecode *bc,
bc->cf_last->prev_bs_head = bc->cf_last->curr_bs_head;
bc->cf_last->curr_bs_head = NULL;
bc->nalu_groups++;
if (bc->r6xx_nop_after_rel_dst) {
for (int i = 0; i < max_slots; ++i) {
if (slots[i] && slots[i]->dst.rel) {
insert_nop_r6xx(bc, max_slots);
bc->nalu_groups++;
break;
}
}

View file

@ -262,6 +262,7 @@ struct r600_bytecode {
struct r600_bytecode_cf *cf_last;
unsigned ndw;
unsigned ncf;
unsigned nalu_groups;
unsigned ngpr;
unsigned nstack;
unsigned nlds_dw;

View file

@ -382,10 +382,11 @@ int r600_pipe_shader_create(struct pipe_context *ctx,
goto error;
}
util_debug_message(&rctx->b.debug, SHADER_INFO, "%s shader: %d dw, %d gprs, %d loops, %d cf, %d stack",
util_debug_message(&rctx->b.debug, SHADER_INFO, "%s shader: %d dw, %d gprs, %d alu_groups, %d loops, %d cf, %d stack",
_mesa_shader_stage_to_abbrev(tgsi_processor_to_shader_stage(processor)),
shader->shader.bc.ndw,
shader->shader.bc.ngpr,
shader->shader.bc.nalu_groups,
shader->shader.num_loops,
shader->shader.bc.ncf,
shader->shader.bc.nstack);