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.
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev