mesa/main: not fill mesa_error on _mesa_legal_texture_base_format_for_target

This would allow to use this method if you are just querying if it is
allowed, like for arb_internalformat_query2.

Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Alejandro Piñeiro
2015-11-20 10:34:50 +01:00
committed by Eduardo Lima Mitev
parent aaf5ad513b
commit 95392cfa9d
3 changed files with 10 additions and 20 deletions
+5 -13
View File
@@ -1552,19 +1552,12 @@ compressed_tex_size(GLsizei width, GLsizei height, GLsizei depth,
* \param ctx GL context
* \param target Texture target
* \param internalFormat Internal format of the texture image
* \param dimensions Dimensionality at the caller. This is \b not used
* in the validation. It is only used when logging
* error messages.
* \param caller Base name of the calling function (e.g.,
* "glTexImage" or "glTexStorage").
*
* \returns true if the combination is legal, false otherwise.
*/
bool
_mesa_legal_texture_base_format_for_target(struct gl_context *ctx,
GLenum target, GLenum internalFormat,
unsigned dimensions,
const char *caller)
GLenum target, GLenum internalFormat)
{
if (_mesa_base_tex_format(ctx, internalFormat) == GL_DEPTH_COMPONENT
|| _mesa_base_tex_format(ctx, internalFormat) == GL_DEPTH_STENCIL
@@ -1603,9 +1596,6 @@ _mesa_legal_texture_base_format_for_target(struct gl_context *ctx,
!((target == GL_TEXTURE_CUBE_MAP_ARRAY ||
target == GL_PROXY_TEXTURE_CUBE_MAP_ARRAY) &&
ctx->Extensions.ARB_texture_cube_map_array)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"%s%dD(bad target for depth texture)",
caller, dimensions);
return false;
}
}
@@ -1849,9 +1839,11 @@ texture_error_check( struct gl_context *ctx,
}
/* additional checks for depth textures */
if (!_mesa_legal_texture_base_format_for_target(ctx, target, internalFormat,
dimensions, "glTexImage"))
if (!_mesa_legal_texture_base_format_for_target(ctx, target, internalFormat)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTexImage%dD(bad target for texture)", dimensions);
return GL_TRUE;
}
/* additional checks for compressed textures */
if (_mesa_is_compressed_format(ctx, internalFormat)) {
+1 -3
View File
@@ -210,9 +210,7 @@ _mesa_validate_texbuffer_format(const struct gl_context *ctx,
bool
_mesa_legal_texture_base_format_for_target(struct gl_context *ctx,
GLenum target,
GLenum internalFormat,
unsigned dimensions,
const char *caller);
GLenum internalFormat);
bool
_mesa_format_no_online_compression(const struct gl_context *ctx, GLenum format);
+4 -4
View File
@@ -358,11 +358,11 @@ tex_storage_error_check(struct gl_context *ctx,
}
/* additional checks for depth textures */
if (!_mesa_legal_texture_base_format_for_target(ctx, target, internalformat,
dims, dsa ?
"glTextureStorage" :
"glTexStorage"))
if (!_mesa_legal_texture_base_format_for_target(ctx, target, internalformat)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glTex%sStorage%uD(bad target for texture)",
suffix, dims);
return GL_TRUE;
}
return GL_FALSE;
}