From: Erik Faye-Lund Date: Thu, 22 Nov 2018 16:40:47 +0000 (+0100) Subject: mesa/main: check cube-completeness in common code X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=38af69adfaf47019926bfe3a8cf352752068d389;p=mesa.git mesa/main: check cube-completeness in common code This check is the only part of dimensions_error_check that isn't about error-checking the offset and size arguments of glGet[Compressed]TextureSubImage(), so it doesn't really belong in here. This doesn't make a difference right now, apart for changing the presedence of this error. But it will make a difference for the next patch, where we no longer call this method from the non-sub tex-image getters. Signed-off-by: Erik Faye-Lund Reviewed-by: Juan A. Suarez --- diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index cf316a865a9..190f53d62fe 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -981,21 +981,6 @@ dimensions_error_check(struct gl_context *ctx, "%s(zoffset + depth = %d)", caller, zoffset + depth); return true; } - /* According to OpenGL 4.6 spec, section 8.11.4 ("Texture Image Queries"): - * - * "An INVALID_OPERATION error is generated by GetTextureImage if the - * effective target is TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY , - * and the texture object is not cube complete or cube array complete, - * respectively." - * - * This applies also to GetTextureSubImage, GetCompressedTexImage, - * GetCompressedTextureImage, and GetnCompressedTexImage. - */ - if (!_mesa_cube_complete(texObj)) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "%s(cube incomplete)", caller); - return true; - } break; default: ; /* nothing */ @@ -1242,6 +1227,22 @@ common_error_check(struct gl_context *ctx, return true; } + /* According to OpenGL 4.6 spec, section 8.11.4 ("Texture Image Queries"): + * + * "An INVALID_OPERATION error is generated by GetTextureImage if the + * effective target is TEXTURE_CUBE_MAP or TEXTURE_CUBE_MAP_ARRAY , + * and the texture object is not cube complete or cube array complete, + * respectively." + * + * This applies also to GetTextureSubImage, GetCompressedTexImage, + * GetCompressedTextureImage, and GetnCompressedTexImage. + */ + if (target == GL_TEXTURE_CUBE_MAP && !_mesa_cube_complete(texObj)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "%s(cube incomplete)", caller); + return true; + } + return false; }