From: Fredrik Höglund Date: Sat, 9 May 2015 13:31:45 +0000 (+0200) Subject: mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer < 0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8ba7ad8abc7d71131e17970203c991ccb1befbe6;p=mesa.git mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer < 0 Signed-off-by: Fredrik Höglund Reviewed-by: Adam Jackson Cc: "10.4 10.5" --- diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index 4524e51e4c0..20a4e86007c 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -2668,6 +2668,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) {