mesa/main: Fix GetTextureImage error reporting

GetTex*Image should return INVALID_ENUM if target is not valid, however,
GetTextureImage does not receive a target, and instead should return
INVALID_OPERATION if the effective target is not valid. From the
OpenGL 4.6 core profile spec, section 8.11 Texture Queries:

"An INVALID_OPERATION error is generated by GetTextureImage if the effective
 target is not one of TEXTURE_1D, TEXTURE_2D, TEXTURE_3D, TEXTURE_1D_ARRAY,
 TEXTURE_2D_ARRAY, TEXTURE_CUBE_MAP_ARRAY, TEXTURE_RECTANGLE, or
 TEXTURE_CUBE_MAP (for GetTextureImage only)."

Fixes:
KHR-GL45.direct_state_access.textures_image_query_errors

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
This commit is contained in:
Iago Toral Quiroga 2017-09-05 13:06:37 +02:00
parent c77ea0501c
commit 94f740e3fc

View file

@ -1430,7 +1430,7 @@ _mesa_GetTextureImage(GLuint texture, GLint level, GLenum format, GLenum type,
} }
if (!legal_getteximage_target(ctx, texObj->Target, true)) { if (!legal_getteximage_target(ctx, texObj->Target, true)) {
_mesa_error(ctx, GL_INVALID_ENUM, "%s", caller); _mesa_error(ctx, GL_INVALID_OPERATION, "%s", caller);
return; return;
} }