aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_compiler.h
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-04-15 21:59:50 -0700
committerKenneth Graunke <[email protected]>2019-04-16 09:01:15 -0700
commitfad7801afd194c504bd945c497741ecaf04e2cdd (patch)
tree552a1266c996048a4f900f333a54fb0b8bffb473 /src/intel/compiler/brw_compiler.h
parent4f715868a94b2c43656b3574b876bd254757521b (diff)
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 <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_compiler.h')
-rw-r--r--src/intel/compiler/brw_compiler.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_compiler.h b/src/intel/compiler/brw_compiler.h
index fb7ab289723..332789d7809 100644
--- a/src/intel/compiler/brw_compiler.h
+++ b/src/intel/compiler/brw_compiler.h
@@ -1348,6 +1348,10 @@ brw_compile_cs(const struct brw_compiler *compiler, void *log_data,
int shader_time_index,
char **error_str);
+void brw_debug_key_recompile(const struct brw_compiler *c, void *log,
+ gl_shader_stage stage,
+ const void *old_key, const void *key);
+
static inline uint32_t
encode_slm_size(unsigned gen, uint32_t bytes)
{