i965: Move program key debugging to the compiler.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 16 Apr 2019 04:59:50 +0000 (21:59 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 16 Apr 2019 16:01:15 +0000 (09:01 -0700)
commitfad7801afd194c504bd945c497741ecaf04e2cdd
tree552a1266c996048a4f900f333a54fb0b8bffb473
parent4f715868a94b2c43656b3574b876bd254757521b
i965: Move program key debugging to the compiler.

The i965 driver has a bunch of code to compare two sets of program keys
and print out the differences.  This can be useful for debugging why a
shader needed to be recompiled on the fly due to non-orthogonal state
dependencies.  anv doesn't do recompiles, so we didn't need to share
this in the past - but I'd like to use it in iris.

This moves the bulk of the code to the compiler where it can be reused.
To make that possible, we need to decouple it from i965 - we can't get
at the brw program cache directly, nor use brw_context to print things.
Instead, we use compiler->shader_perf_log(), and simply pass in keys.

We put all of this debugging code in brw_debug_recompile.c, and only
export a single function, for simplicity.  I also tidied the code a
bit while moving it, now that it all lives in one file.

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
13 files changed:
src/intel/Makefile.sources
src/intel/compiler/brw_compiler.h
src/intel/compiler/brw_debug_recompile.c [new file with mode: 0644]
src/intel/compiler/meson.build
src/mesa/drivers/dri/i965/brw_context.h
src/mesa/drivers/dri/i965/brw_cs.c
src/mesa/drivers/dri/i965/brw_gs.c
src/mesa/drivers/dri/i965/brw_program.c
src/mesa/drivers/dri/i965/brw_program.h
src/mesa/drivers/dri/i965/brw_tcs.c
src/mesa/drivers/dri/i965/brw_tes.c
src/mesa/drivers/dri/i965/brw_vs.c
src/mesa/drivers/dri/i965/brw_wm.c