Matt Turner <matts...@gmail.com> writes: > --- > src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 10 ++++++++++ > src/mesa/drivers/dri/i965/brw_vec4_generator.cpp | 10 ++++++++++ > 2 files changed, 20 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp > b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp > index bbed4cc..4ae35ac 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp > @@ -2035,6 +2035,16 @@ fs_generator::generate_code(const cfg_t *cfg, int > dispatch_width) > ralloc_free(annotation.ann); > } > > + static GLuint msg_id = 0; > + _mesa_gl_debug(&brw->ctx, &msg_id, > + MESA_DEBUG_SOURCE_SHADER_COMPILER, > + MESA_DEBUG_TYPE_OTHER, > + MESA_DEBUG_SEVERITY_NOTIFICATION, > + "FS SIMD%d shader: %d inst, %d loops, " > + "compacted %d to %d bytes.\n", > + dispatch_width, before_size / 16, loop_count, > + before_size, after_size); > + > return start_offset; > } > > diff --git a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp > b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp > index b353539..e998bf2 100644 > --- a/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp > +++ b/src/mesa/drivers/dri/i965/brw_vec4_generator.cpp > @@ -1588,6 +1588,16 @@ vec4_generator::generate_code(const cfg_t *cfg) > dump_assembly(p->store, annotation.ann_count, annotation.ann, brw, > prog); > ralloc_free(annotation.ann); > } > + > + static GLuint msg_id = 0; > + _mesa_gl_debug(&brw->ctx, &msg_id, > + MESA_DEBUG_SOURCE_SHADER_COMPILER, > + MESA_DEBUG_TYPE_OTHER, > + MESA_DEBUG_SEVERITY_NOTIFICATION, > + "VS vec4 shader: %d inst, %d loops, " > + "compacted %d to %d bytes.\n", > + before_size / 16, loop_count, > + before_size, after_size); > }
Nice idea. Patch 1/2 is: Reviewed-by: Eric Anholt <e...@anholt.net> Not having the ability to call back out for things like this in the GL sucks about gallium, and I'll have to fix it if I'm going to actually ship a gallium driver. Right now I'm doing my shader-db stats using an env var to trigger printfs. I'd recommend also including some sort of ID for the shader (prog->Name or something) and how many recompiles have happened on the shader. Then you can make nice shader-db regression reports on apitraces then go do full shader dumps to see how a particular shader regressed.
signature.asc
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev