Mesa (master): mesa: Fix the cause of piglit test fbo-array failure

Anuj Phogat aphogat at kemper.freedesktop.org
Mon Mar 12 19:00:45 UTC 2012


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

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Mon Mar 12 10:39:48 2012 -0700

mesa: Fix the cause of piglit test fbo-array failure

Handle the special case of glFramebufferTextureLayer() for which we pass
teximage = 0 internally in framebuffer_texture(). This patch makes failing
piglit test fbo-array, fbo-depth-array to pass.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47126

V4: Removed the duplicated code.
Note: This is a candidate for the stable branches.

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/fbobject.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 12527f8..26ae108 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -1927,6 +1927,7 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
    struct gl_renderbuffer_attachment *att;
    struct gl_texture_object *texObj = NULL;
    struct gl_framebuffer *fb;
+   GLenum maxLevelsTarget;
 
    ASSERT_OUTSIDE_BEGIN_END(ctx);
 
@@ -2001,8 +2002,9 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
          }
       }
 
+      maxLevelsTarget = textarget ? textarget : texObj->Target;
       if ((level < 0) ||
-          (level >= _mesa_max_texture_levels(ctx, textarget))) {
+          (level >= _mesa_max_texture_levels(ctx, maxLevelsTarget))) {
          _mesa_error(ctx, GL_INVALID_VALUE,
                      "glFramebufferTexture%sEXT(level)", caller);
          return;




More information about the mesa-commit mailing list