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>
This commit is contained in:
Anuj Phogat 2012-03-12 10:39:48 -07:00
parent 6830e6515c
commit cc5b0ffae0

View file

@ -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;