[Mesa-dev] [PATCH 3/3] mesa: Fix tautological compare

Brian Paul brianp at vmware.com
Wed Feb 28 03:38:23 UTC 2018


On 02/27/2018 06:07 PM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
> 
> _BaseFormat is GLenum16, but it is compared with an integer -1.  Even if
> _mesa_base_tex_format returned -1, it becomes 0xffff, and the
> comparison, after type promotion, will always fail.  Fix this by
> explicitly casting both to GLenum16.  This should be more future proof
> that casting just the -1.

"than"

Series is, Reviewed-by: Brian Paul <brianp at vmware.com>

How about we change _mesa_base_tex_format() to return GL_INVALID_ENUM 
instead of -1?  Or, even 0 like _mesa_base_fbo_format()?

-Brian


> 
> CID: 1429517
> Fixes: ca721b3 ("mesa: use GLenum16 in a few more places")
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
>   src/mesa/main/teximage.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
> index 35ed875..1d7bff5 100644
> --- a/src/mesa/main/teximage.c
> +++ b/src/mesa/main/teximage.c
> @@ -853,7 +853,7 @@ init_teximage_fields_ms(struct gl_context *ctx,
>   
>      target = img->TexObject->Target;
>      img->_BaseFormat = _mesa_base_tex_format( ctx, internalFormat );
> -   assert(img->_BaseFormat != -1);
> +   assert((GLenum16) img->_BaseFormat != (GLenum16) -1);
>      img->InternalFormat = internalFormat;
>      img->Border = border;
>      img->Width = width;
> 



More information about the mesa-dev mailing list