diff options
author | Jason Ekstrand <[email protected]> | 2015-06-22 17:01:22 -0700 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2015-06-23 14:28:08 -0700 |
commit | 073294d3ef20d0dbeffcc38aff3d69eda624ee75 (patch) | |
tree | e4111f8554630d141212baa9565347ed351df5a9 /src/mesa/drivers/dri/i965/brw_shader.cpp | |
parent | 3fd457c9ddd4b9f730e70bfd19b2f9eeeeaef089 (diff) |
i965/fs: Plumb compiler debug logging through brw_compiler
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Chris Forbes <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_shader.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_shader.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 6bc9dd9e53c..42d6236e6fd 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -47,6 +47,31 @@ shader_debug_log_mesa(void *data, const char *fmt, ...) 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); +} + struct brw_compiler * brw_compiler_create(void *mem_ctx, const struct brw_device_info *devinfo) { @@ -54,6 +79,7 @@ brw_compiler_create(void *mem_ctx, const struct brw_device_info *devinfo) compiler->devinfo = devinfo; compiler->shader_debug_log = shader_debug_log_mesa; + compiler->shader_perf_log = shader_perf_log_mesa; brw_fs_alloc_reg_sets(compiler); brw_vec4_alloc_reg_set(compiler); |