diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/mesa/main/texstate.c | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 4bd9895cd5..7e762edd25 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -1,6 +1,6 @@  /*   * Mesa 3-D graphics library - * Version:  6.5 + * Version:  6.5.1   *   * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.   * @@ -34,6 +34,7 @@  #include "context.h"  #include "enums.h"  #include "macros.h" +#include "texcompress.h"  #include "texobj.h"  #include "teximage.h"  #include "texstate.h" @@ -1831,11 +1832,18 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,        /* GL_ARB_texture_compression */        case GL_TEXTURE_COMPRESSED_IMAGE_SIZE:           if (ctx->Extensions.ARB_texture_compression) { -            if (img->IsCompressed && !isProxy) -               *params = img->CompressedSize; -            else +            if (img->IsCompressed && !isProxy) { +               /* Don't use ctx->Driver.CompressedTextureSize() since that +                * may returned a padded hardware size. +                */ +               *params = _mesa_compressed_texture_size(ctx, img->Width, +                                                   img->Height, img->Depth, +                                                   img->TexFormat->MesaFormat); +            } +            else {                 _mesa_error(ctx, GL_INVALID_OPERATION,                             "glGetTexLevelParameter[if]v(pname)"); +            }           }           else {              _mesa_error(ctx, GL_INVALID_ENUM, | 
