From 8ba7ad8abc7d71131e17970203c991ccb1befbe6 Mon Sep 17 00:00:00 2001 From: Fredrik Höglund Date: Sat, 9 May 2015 15:31:45 +0200 Subject: mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer < 0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Fredrik Höglund Reviewed-by: Adam Jackson Cc: "10.4 10.5" --- src/mesa/main/fbobject.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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) { -- cgit v1.2.3