mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer < 0

Signed-off-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Cc: "10.4 10.5" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit 8ba7ad8abc)
This commit is contained in:
Fredrik Höglund 2015-05-09 15:31:45 +02:00 committed by Emil Velikov
parent a2624f2d2e
commit 7f7e74b536

View file

@ -2452,6 +2452,18 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
return;
}
/* Page 306 (page 328 of the PDF) of the OpenGL 4.5 (Core Profile)
* spec says:
*
* "An INVALID_VALUE error is generated if texture is non-zero
* and layer is negative."
*/
if (zoffset < 0) {
_mesa_error(ctx, GL_INVALID_VALUE,
"glFramebufferTexture%s(layer %u < 0)", caller, zoffset);
return;
}
if (texObj->Target == GL_TEXTURE_3D) {
const GLuint maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1);
if (zoffset >= maxSize) {