On 04/23/2012 03:11 PM, Eric Anholt wrote:
It seems silly that GL lets you allocate these given that they're
framebuffer attachment incomplete, but the webgl conformance tests
actually go looking to see if the getters on 0-width/height
depth/stencil renderbuffers return good values.  By failing out here,
they all got smashed to 0, which turned out to be correct for all the
getters they tested except for GL_RENDERBUFFER_INTERNAL_FORMAT.  Now,
by succeeding but not making a miptree, that one also returns the
expected value.
---
  src/mesa/drivers/dri/intel/intel_fbo.c |    3 +++
  1 file changed, 3 insertions(+)

diff --git a/src/mesa/drivers/dri/intel/intel_fbo.c 
b/src/mesa/drivers/dri/intel/intel_fbo.c
index 2d1a798..5872ece 100644
--- a/src/mesa/drivers/dri/intel/intel_fbo.c
+++ b/src/mesa/drivers/dri/intel/intel_fbo.c
@@ -237,6 +237,9 @@ intel_alloc_renderbuffer_storage(struct gl_context * ctx, 
struct gl_renderbuffer
         _mesa_lookup_enum_by_nr(internalFormat),
         _mesa_get_format_name(rb->Format), width, height);

+   if (width == 0 || height == 0)
+      return true;
+
     irb->mt = intel_miptree_create_for_renderbuffer(intel, rb->Format,
                                                   width, height);
     if (!irb->mt)

Seems reasonable. If it makes more tests pass and doesn't cause regressions, we should do it. Besides, it's entirely pointless and not going to affect real applications anyway.

Acked-by: Kenneth Graunke <kenn...@whitecape.org>
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to