From: Eduardo Lima Mitev Date: Wed, 15 Feb 2017 11:14:40 +0000 (+0100) Subject: getteximage: Return correct error value when texure object is not found X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=633c959faeae5099fd095f27da7b954e4a36254b;p=mesa.git getteximage: Return correct error value when texure object is not found glGetTextureSubImage() and glGetCompressedTextureSubImage() are currently returning INVALID_OPERATION error when the passed texture argument does not correspond to an existing texture object. However, the error should be INVALID_VALUE instead. From OpenGL 4.5 spec PDF, section '8.11. Texture Queries', page 236: "An INVALID_VALUE error is generated if texture is not the name of an existing texture object." Same wording applies to the compressed version. The INVALID_OPERATION error is coming from the call to _mesa_lookup_texture_err(). This patch uses _mesa_lookup_texture() instead and emits the correct error in the caller. Fixes: GL45-CTS.get_texture_sub_image.errors_test Reviewed-by: Nicolai Hähnle --- diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c index b0ced1eac0f..c0c50b0518b 100644 --- a/src/mesa/main/texgetimage.c +++ b/src/mesa/main/texgetimage.c @@ -1459,9 +1459,10 @@ _mesa_GetTextureSubImage(GLuint texture, GLint level, GET_CURRENT_CONTEXT(ctx); static const char *caller = "glGetTextureSubImage"; struct gl_texture_object *texObj = - _mesa_lookup_texture_err(ctx, texture, caller); + _mesa_lookup_texture(ctx, texture); if (!texObj) { + _mesa_error(ctx, GL_INVALID_VALUE, "%s(texture)", caller); return; } @@ -1775,8 +1776,9 @@ _mesa_GetCompressedTextureSubImage(GLuint texture, GLint level, static const char *caller = "glGetCompressedTextureImage"; struct gl_texture_object *texObj; - texObj = _mesa_lookup_texture_err(ctx, texture, caller); + texObj = _mesa_lookup_texture(ctx, texture); if (!texObj) { + _mesa_error(ctx, GL_INVALID_VALUE, "%s(texture)", caller); return; }