[Mesa-dev] [PATCH 1/2] i965: Print instructions' children during scheduling debugging.
Matt Turner
mattst88 at gmail.com
Wed Oct 16 02:52:07 CEST 2013
Useful for tracking down problems in dependency calculations.
Scheduling debugging now prints:
clock 2, scheduled: linterp vgrf5, hw_reg2, hw_reg3, hw_reg0,
child 0, 53 parents: fb_write (null), (null), (null), (null),
child 1, 2 parents: tex vgrf4, vgrf5, (null), (null),
child 2, 52 parents: placeholder_halt (null), (null), (null), (null),
clock 4, scheduled: linterp vgrf5+1, hw_reg2, hw_reg3, hw_reg0+16,
child 0, 52 parents: fb_write (null), (null), (null), (null),
child 1, 1 parents: tex vgrf4, vgrf5, (null), (null),
now available
child 2, 51 parents: placeholder_halt (null), (null), (null), (null),
---
src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
index b24c38c..84b74ff 100644
--- a/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
+++ b/src/mesa/drivers/dri/i965/brw_schedule_instructions.cpp
@@ -1065,11 +1065,15 @@ instruction_scheduler::schedule_instructions(backend_instruction *next_block_hea
child->unblocked_time = MAX2(child->unblocked_time,
time + chosen->child_latency[i]);
+ if (debug) {
+ printf("\tchild %d, %d parents: ", i, child->parent_count);
+ bv->dump_instruction(child->inst);
+ }
+
child->parent_count--;
if (child->parent_count == 0) {
if (debug) {
- printf("now available: ");
- bv->dump_instruction(child->inst);
+ printf("\t\tnow available\n");
}
instructions.push_tail(child);
}
--
1.8.3.2
More information about the mesa-dev
mailing list