From 7d0519c0823b15a884a852f2f2884cdb95a1ab75 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 8 Oct 2013 23:03:41 -0700 Subject: [PATCH] i965: Print instructions' children during scheduling debugging. 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), Reviewed-by: Eric Anholt --- 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); } -- 2.7.4