diff options
author | Jason Ekstrand <[email protected]> | 2016-05-25 18:19:50 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-05-26 14:13:38 -0700 |
commit | 870ff6cd3829b1f15f1aa636be17c1ffb371a290 (patch) | |
tree | 6a3a8a9211caa03bb93197c46f76318354174c14 /src/mesa/drivers/dri/i965/intel_screen.c | |
parent | 327161a48dcff9ec082ba5365ffa41bf0cbec3e4 (diff) |
i965: Move compiler debug functions to intel_screen.c
They reference the compiler so they shouldn't go in libi965_compiler.la.
Reviewed-by: Emil Velikov <[email protected]>
Reviewed-by: Kristian Høgsberg <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/intel_screen.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_screen.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c index 4f14201aebf..2f8fed5eef9 100644 --- a/src/mesa/drivers/dri/i965/intel_screen.c +++ b/src/mesa/drivers/dri/i965/intel_screen.c @@ -1467,6 +1467,46 @@ brw_get_revision(int fd) #define I915_PARAM_HAS_RESOURCE_STREAMER 36 #endif +static void +shader_debug_log_mesa(void *data, const char *fmt, ...) +{ + struct brw_context *brw = (struct brw_context *)data; + va_list args; + + va_start(args, fmt); + GLuint msg_id = 0; + _mesa_gl_vdebug(&brw->ctx, &msg_id, + MESA_DEBUG_SOURCE_SHADER_COMPILER, + MESA_DEBUG_TYPE_OTHER, + MESA_DEBUG_SEVERITY_NOTIFICATION, fmt, args); + va_end(args); +} + +static void +shader_perf_log_mesa(void *data, const char *fmt, ...) +{ + struct brw_context *brw = (struct brw_context *)data; + + va_list args; + va_start(args, fmt); + + if (unlikely(INTEL_DEBUG & DEBUG_PERF)) { + va_list args_copy; + va_copy(args_copy, args); + vfprintf(stderr, fmt, args_copy); + va_end(args_copy); + } + + if (brw->perf_debug) { + GLuint msg_id = 0; + _mesa_gl_vdebug(&brw->ctx, &msg_id, + MESA_DEBUG_SOURCE_SHADER_COMPILER, + MESA_DEBUG_TYPE_PERFORMANCE, + MESA_DEBUG_SEVERITY_MEDIUM, fmt, args); + } + va_end(args); +} + /** * This is the driver specific part of the createNewScreen entry point. * Called when using DRI2. @@ -1579,6 +1619,8 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp) intelScreen->compiler = brw_compiler_create(intelScreen, intelScreen->devinfo); + intelScreen->compiler->shader_debug_log = shader_debug_log_mesa; + intelScreen->compiler->shader_perf_log = shader_perf_log_mesa; intelScreen->program_id = 1; if (intelScreen->devinfo->has_resource_streamer) { |