On Sat, May 31, 2014 at 5:33 PM, Kenneth Graunke <kenn...@whitecape.org> wrote: > On Friday, May 30, 2014 07:35:22 PM Matt Turner wrote: >> With INTEL_DEBUG=optimizer, write the output of dump_instructions() to a >> file each time an optimization pass makes progress. This lets you easily >> diff successive files to see what an optimization pass did. >> >> Example filenames written when running glxgears: >> fs8-00-00-start >> fs8-00-01-04-opt_copy_propagate >> fs8-00-01-06-dead_code_eliminate >> fs8-00-01-12-compute_to_mrf >> fs8-00-02-06-dead_code_eliminate >> | | | | >> | | | `-- optimization pass name >> | | | >> | | `-- optimization pass number in the loop >> | | >> | `-- optimization loop interation >> | >> `-- shader program number >> >> Note that with INTEL_DEBUG=optimizer, we disable compact_virtual_grfs, >> so that we can diff instruction lists across loop interations without >> the register numbers being changes. >> --- >> src/mesa/drivers/dri/i965/brw_fs.cpp | 53 >> ++++++++++++++++++++++++++++-------- >> 1 file changed, 41 insertions(+), 12 deletions(-) >> >> diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp >> b/src/mesa/drivers/dri/i965/brw_fs.cpp >> index c9b31fe..0d56ac7 100644 >> --- a/src/mesa/drivers/dri/i965/brw_fs.cpp >> +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp >> @@ -1714,6 +1714,9 @@ fs_visitor::split_virtual_grfs() >> void >> fs_visitor::compact_virtual_grfs() >> { >> + if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER)) >> + return; >> + >> /* Mark which virtual GRFs are used, and count how many. */ >> int remap_table[this->virtual_grf_count]; >> memset(remap_table, -1, sizeof(remap_table)); >> @@ -3020,24 +3023,50 @@ fs_visitor::run() >> >> opt_drop_redundant_mov_to_flags(); >> >> +#define OPT(pass, args...) do { \ >> + pass_num++; \ >> + bool this_progress = pass(args); \ >> + \ >> + if (unlikely(INTEL_DEBUG & DEBUG_OPTIMIZER) && this_progress) { \ >> + char filename[64]; \ >> + snprintf(filename, 64, "fs%d-%02d-%02d-%02d-" #pass, \ > > One thought...could we widen the shader number to: > "fs%d-%04d-%02d-%02-d" > Some programs have a lot of shaders (though admittedly you're probably not > using INTEL_DEBUG=optimizer on a whole game). > > Either way's fine.
Sure thing. That's not a bad idea. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev