info->max_const = -1;
info->instrs_count = 0;
info->sizedwords = 0;
+ info->ss = info->sy = 0;
list_for_each_entry (struct ir3_block, block, &shader->block_list, node) {
list_for_each_entry (struct ir3_instruction, instr, &block->instr_list, node) {
goto fail;
info->instrs_count += 1 + instr->repeat;
dwords += 2;
+
+ if (instr->flags & IR3_INSTR_SS)
+ info->ss++;
+
+ if (instr->flags & IR3_INSTR_SY)
+ info->sy++;
}
}
pipe_debug_message(debug, SHADER_INFO, "\n"
"SHADER-DB: %s prog %d/%d: %u instructions, %u dwords\n"
"SHADER-DB: %s prog %d/%d: %u half, %u full\n"
- "SHADER-DB: %s prog %d/%d: %u const, %u constlen\n",
+ "SHADER-DB: %s prog %d/%d: %u const, %u constlen\n"
+ "SHADER-DB: %s prog %d/%d: %u (ss), %u (sy)\n",
ir3_shader_stage(v->shader),
v->shader->id, v->id,
v->info.instrs_count,
ir3_shader_stage(v->shader),
v->shader->id, v->id,
v->info.max_const + 1,
- v->constlen);
+ v->constlen,
+ ir3_shader_stage(v->shader),
+ v->shader->id, v->id,
+ v->info.ss, v->info.sy);
}
static struct ir3_shader_variant *
so->info.max_const + 1,
so->constlen);
+ debug_printf("; %u (ss), %u (sy)\n", so->info.ss, so->info.sy);
+
/* print shader type specific info: */
switch (so->type) {
case SHADER_VERTEX: