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) {
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;
}
}
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);