Mesa (master): intel: Hook up the WARN_ONCE macro to GL_ARB_debug_output.

Eric Anholt anholt at kemper.freedesktop.org
Tue Mar 5 22:28:37 UTC 2013


Module: Mesa
Branch: master
Commit: 807eedf70fe6a01eb0298b9d2e7a26687f7c6d82
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=807eedf70fe6a01eb0298b9d2e7a26687f7c6d82

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Feb 22 13:03:51 2013 -0800

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 <jordan.l.justen at intel.com> (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(+), 0 deletions(-)

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 5eee364..7979487 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 56e8994..e6b8485 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 2730532..bfd2cbd 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 cae8ecf..ce83bc1 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)




More information about the mesa-commit mailing list