mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 19:40:10 +01:00
mesa/genmipmap: Added a function to validate the internalformat
It will be used by the ARB_internalformat_query2 implementation to implement mipmap related queries. Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
06852f4b7a
commit
079d99b830
2 changed files with 15 additions and 4 deletions
|
|
@ -75,6 +75,16 @@ _mesa_is_valid_generate_texture_mipmap_target(struct gl_context *ctx,
|
|||
return (error != GL_TRUE);
|
||||
}
|
||||
|
||||
bool
|
||||
_mesa_is_valid_generate_texture_mipmap_internalformat(struct gl_context *ctx,
|
||||
GLenum internalformat)
|
||||
{
|
||||
return (!_mesa_is_enum_format_integer(internalformat) &&
|
||||
!_mesa_is_depthstencil_format(internalformat) &&
|
||||
!_mesa_is_astc_format(internalformat) &&
|
||||
!_mesa_is_stencil_format(internalformat));
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements glGenerateMipmap and glGenerateTextureMipmap.
|
||||
* Generates all the mipmap levels below the base level.
|
||||
|
|
@ -117,10 +127,8 @@ _mesa_generate_texture_mipmap(struct gl_context *ctx,
|
|||
return;
|
||||
}
|
||||
|
||||
if (_mesa_is_enum_format_integer(srcImage->InternalFormat) ||
|
||||
_mesa_is_depthstencil_format(srcImage->InternalFormat) ||
|
||||
_mesa_is_astc_format(srcImage->InternalFormat) ||
|
||||
_mesa_is_stencil_format(srcImage->InternalFormat)) {
|
||||
if (!_mesa_is_valid_generate_texture_mipmap_internalformat(ctx,
|
||||
srcImage->InternalFormat)) {
|
||||
_mesa_unlock_texture(ctx, texObj);
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glGenerate%sMipmap(invalid internal format)", suffix);
|
||||
|
|
|
|||
|
|
@ -35,6 +35,9 @@ _mesa_generate_texture_mipmap(struct gl_context *ctx,
|
|||
bool
|
||||
_mesa_is_valid_generate_texture_mipmap_target(struct gl_context *ctx,
|
||||
GLenum target);
|
||||
bool
|
||||
_mesa_is_valid_generate_texture_mipmap_internalformat(struct gl_context *ctx,
|
||||
GLenum internalformat);
|
||||
|
||||
extern void GLAPIENTRY
|
||||
_mesa_GenerateMipmap(GLenum target);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue