nouveau/nv50: Print the number of loops in shader-db output.

This is important so you don't go comparing the number of instructions
emitted when you unrolled loops differently.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16063>
This commit is contained in:
Emma Anholt 2022-02-28 22:25:52 -08:00 committed by Marge Bot
parent a4840e15ab
commit 1b32d4b7d4
4 changed files with 7 additions and 2 deletions

View file

@ -160,6 +160,7 @@ struct nv50_ir_prog_info_out
uint8_t numOutputs;
uint8_t numPatchConstants; /* also included in numInputs/numOutputs */
uint8_t numSysVals;
uint32_t loops;
union {
struct {

View file

@ -1534,6 +1534,8 @@ Converter::visit(nir_loop *loop)
curLoopDepth -= 1;
info_out->loops++;
return true;
}

View file

@ -3674,6 +3674,8 @@ Converter::handleInstruction(const struct tgsi_full_instruction *insn)
bb->cfg.attach(&lbgnBB->cfg, Graph::Edge::TREE);
setPosition(lbgnBB, true);
mkFlow(OP_PRECONT, lbgnBB, CC_ALWAYS, NULL);
info_out->loops++;
}
break;
case TGSI_OPCODE_ENDLOOP:

View file

@ -453,9 +453,9 @@ nv50_program_translate(struct nv50_program *prog, uint16_t chipset,
&prog->pipe.stream_output);
util_debug_message(debug, SHADER_INFO,
"type: %d, local: %d, shared: %d, gpr: %d, inst: %d, bytes: %d",
"type: %d, local: %d, shared: %d, gpr: %d, inst: %d, loops: %d, bytes: %d",
prog->type, info_out.bin.tlsSpace, info_out.bin.smemSize,
prog->max_gpr, info_out.bin.instructions,
prog->max_gpr, info_out.bin.instructions, info_out.loops,
info_out.bin.codeSize);
out: