[Mesa-dev] [PATCH] mesa: Fix _mesa_unpack_dudv_span_byte assertion.

Brian Paul brianp at vmware.com
Wed Apr 13 19:14:31 PDT 2011


On 04/13/2011 07:05 PM, Eric Anholt wrote:
> It was accepting only GL_DUDV_ATI and not the specific sized format
> GL_DU8DV8_ATI.  Fixes assertion failure at startup in Shadowgrounds.
> ---
>
> Have these assertions in texstore stuff actually proven useful to
> people?

Yes, they were very helpful to me when I initially wrote the code.


> So far it seems like I'm always just adding more entries to
> them because they never have enough, and any time I want to use this
> pack/unpack stuff I'm just reading the code anyway since I know the
> assertions don't match reality.

This particular case is unusual because the <format> parameter to 
glTexImage() has historically always been a generic format like 
GL_RGBA, GL_INTENSITY, etc. and not a sized format like GL_RGBA8 or 
GL_INTENSITY16.  GL_ATI_envmap_bumpmap seems to be the one oddball in 
that it allows format=GL_DU8DV8.

I prefer to keep the assertions.


>   src/mesa/main/pack.c |    3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
> index 0215458..4bb0a90 100644
> --- a/src/mesa/main/pack.c
> +++ b/src/mesa/main/pack.c
> @@ -3973,7 +3973,8 @@ _mesa_unpack_dudv_span_byte( struct gl_context *ctx,
>                                GLbitfield transferOps )
>   {
>      ASSERT(dstFormat == GL_DUDV_ATI);
> -   ASSERT(srcFormat == GL_DUDV_ATI);
> +   ASSERT(srcFormat == GL_DUDV_ATI ||
> +	  srcFormat == GL_DU8DV8_ATI);
>
>      ASSERT(srcType == GL_UNSIGNED_BYTE ||
>             srcType == GL_BYTE ||

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



More information about the mesa-dev mailing list