From 807eedf70fe6a01eb0298b9d2e7a26687f7c6d82 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Feb 2013 13:03:51 -0800 Subject: [PATCH] intel: Hook up the WARN_ONCE macro to GL_ARB_debug_output. This doesn't provide detailed error type information, but it's important to get these relatively severe but rare error messages out to the developer through whatever mechanism they are using. v2: Rebase on new WARN_ONCE additions. Reviewed-by: Jordan Justen (v1) --- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 1 + src/mesa/drivers/dri/i965/gen6_blorp.cpp | 1 + src/mesa/drivers/dri/i965/gen7_blorp.cpp | 1 + src/mesa/drivers/dri/intel/intel_context.h | 5 +++++ 4 files changed, 8 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index 5eee364eb72..7979487a900 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -630,6 +630,7 @@ translate_tex_format(struct intel_context *intel, GLenum depth_mode, GLenum srgb_decode) { + struct gl_context *ctx = &intel->ctx; if (srgb_decode == GL_SKIP_DECODE_EXT) mesa_format = _mesa_get_srgb_format_linear(mesa_format); diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 56e8994dc24..e6b8485c3ed 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -824,6 +824,7 @@ gen6_blorp_emit_depth_stencil_config(struct brw_context *brw, const brw_blorp_params *params) { struct intel_context *intel = &brw->intel; + struct gl_context *ctx = &intel->ctx; uint32_t draw_x = params->depth.x_offset; uint32_t draw_y = params->depth.y_offset; uint32_t tile_mask_x, tile_mask_y; diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp index 27305322b69..bfd2cbd279e 100644 --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp @@ -579,6 +579,7 @@ gen7_blorp_emit_depth_stencil_config(struct brw_context *brw, const brw_blorp_params *params) { struct intel_context *intel = &brw->intel; + struct gl_context *ctx = &intel->ctx; uint32_t draw_x = params->depth.x_offset; uint32_t draw_y = params->depth.y_offset; uint32_t tile_mask_x, tile_mask_y; diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index cae8ecf7a4f..ce83bc1209b 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -474,10 +474,15 @@ extern int INTEL_DEBUG; #define WARN_ONCE(cond, fmt...) do { \ if (unlikely(cond)) { \ static bool _warned = false; \ + static GLuint msg_id = 0; \ if (!_warned) { \ fprintf(stderr, "WARNING: "); \ fprintf(stderr, fmt); \ _warned = true; \ + \ + _mesa_gl_debug(ctx, &msg_id, \ + MESA_DEBUG_TYPE_OTHER, \ + MESA_DEBUG_SEVERITY_HIGH, fmt); \ } \ } \ } while (0) -- 2.30.2