Skip to content
Snippets Groups Projects
Commit 38af69ad authored by Erik Faye-Lund's avatar Erik Faye-Lund
Browse files

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: default avatarErik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: default avatarJuan A. Suarez <jasuarez@igalia.com>
parent 42820c57
No related branches found
No related tags found
No related merge requests found
......@@ -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;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment