mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-05 02:30:18 +01:00
i965/fs: Plumb compiler debug logging through brw_compiler
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz>
This commit is contained in:
parent
3fd457c9dd
commit
073294d3ef
3 changed files with 36 additions and 4 deletions
|
|
@ -710,7 +710,9 @@ fs_visitor::no16(const char *msg)
|
|||
} else {
|
||||
simd16_unsupported = true;
|
||||
|
||||
perf_debug("SIMD16 shader failed to compile: %s", msg);
|
||||
struct brw_compiler *compiler = brw->intelScreen->compiler;
|
||||
compiler->shader_perf_log(brw,
|
||||
"SIMD16 shader failed to compile: %s", msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3800,9 +3802,12 @@ fs_visitor::allocate_registers()
|
|||
fail("Failure to register allocate. Reduce number of "
|
||||
"live scalar values to avoid this.");
|
||||
} else {
|
||||
perf_debug("%s shader triggered register spilling. "
|
||||
"Try reducing the number of live scalar values to "
|
||||
"improve performance.\n", stage_name);
|
||||
struct brw_compiler *compiler = brw->intelScreen->compiler;
|
||||
compiler->shader_perf_log(brw,
|
||||
"%s shader triggered register spilling. "
|
||||
"Try reducing the number of live scalar "
|
||||
"values to improve performance.\n",
|
||||
stage_name);
|
||||
}
|
||||
|
||||
/* Since we're out of heuristics, just go spill registers until we
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -88,6 +88,7 @@ struct brw_compiler {
|
|||
} fs_reg_sets[2];
|
||||
|
||||
void (*shader_debug_log)(void *, const char *str, ...) PRINTFLIKE(2, 3);
|
||||
void (*shader_perf_log)(void *, const char *str, ...) PRINTFLIKE(2, 3);
|
||||
};
|
||||
|
||||
enum PACKED register_file {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue