On 04/25/2013 01:20 PM, Eric Anholt wrote:
---
src/mesa/drivers/dri/intel/intel_fbo.c | 56 +++++++++++++++++++-------------
1 file changed, 34 insertions(+), 22 deletions(-)
diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c
b/src/mesa/drivers/dri/intel/intel_fbo.c
index 9fcee14..15d3918 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -701,6 +701,18 @@ intel_finish_render_texture(struct gl_context * ctx,
intel_batchbuffer_emit_mi_flush(intel);
}
+#define fbo_incomplete(fb, ...) do { \
+ static GLuint msg_id = 0; \
+ if (unlikely(ctx->Const.ContextFlags & GL_CONTEXT_FLAG_DEBUG_BIT)) { \
+ _mesa_gl_debug(ctx, &msg_id, \
+ MESA_DEBUG_TYPE_OTHER, \
+ MESA_DEBUG_SEVERITY_MEDIUM, \
+ __VA_ARGS__); \
+ } \
+ DBG(__VA_ARGS__); \
+ fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED; \
+ } while (0)
+
/**
* Do additional "completeness" testing of a framebuffer object.
*/
@@ -735,22 +747,23 @@ intel_validate_framebuffer(struct gl_context *ctx, struct
gl_framebuffer *fb)
*/
if (depthRb->mt_level != stencilRb->mt_level ||
depthRb->mt_layer != stencilRb->mt_layer) {
- DBG("depth image level/layer %d/%d != stencil image %d/%d\n",
- depthRb->mt_level,
- depthRb->mt_layer,
- stencilRb->mt_level,
- stencilRb->mt_layer);
- fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
+ fbo_incomplete(fb,
+ "FBO incomplete: depth image level/layer %d/%d != "
+ "stencil image %d/%d\n",
+ depthRb->mt_level,
+ depthRb->mt_layer,
+ stencilRb->mt_level,
+ stencilRb->mt_layer);
}
} else {
if (!intel->has_separate_stencil) {
- DBG("separate stencil unsupported\n");
- fb->_Status = GL_FRAMEBUFFER_UNSUPPORTED_EXT;
+ fbo_incomplete(fb, "FBO incomplete: separate stencil "
+ "unsupported\n");
I'm not sure this can ever happen, but regardless...
- Really glad to see more ARB_debug_output - this'll be incredibly
useful for application authors
- Glad to see ARB_color_buffer_float dropped too!
All three are:
Reviewed-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev