summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnuj Phogat <anuj.phogat@gmail.com>2012-03-12 10:39:48 -0700
committerAnuj Phogat <anuj.phogat@gmail.com>2012-03-12 11:58:12 -0700
commitcc5b0ffae048824a6bdcaf43e0c8c2dd4a7ff14b (patch)
tree919ae4f83a31eb3bc297493165a5d5af4df57910
parent6830e6515c840ff98a2ee5eb61e33dd5fb4d1ee2 (diff)
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@gmail.com> Reviewed-by: Brian Paul <brianp@vmware.com>
-rw-r--r--src/mesa/main/fbobject.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 12527f8a54..26ae1087c6 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;