[Mesa-dev] [PATCH] st/mesa: fix computation of last_level for array textures

Marek Olšák maraeo at gmail.com
Sun Nov 11 05:12:03 PST 2012


Please ignore this patch, I'll send a new one.

Marek

On Sun, Nov 11, 2012 at 2:01 PM, Marek Olšák <maraeo at gmail.com> wrote:
> NOTE: This is a candidate for the stable branches.
> ---
>  src/mesa/state_tracker/st_gen_mipmap.c |   20 ++++++++++++++++++--
>  1 file changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_gen_mipmap.c b/src/mesa/state_tracker/st_gen_mipmap.c
> index 8892006..7e97edd 100644
> --- a/src/mesa/state_tracker/st_gen_mipmap.c
> +++ b/src/mesa/state_tracker/st_gen_mipmap.c
> @@ -129,8 +129,24 @@ compute_num_levels(struct gl_context *ctx,
>           _mesa_get_tex_image(ctx, texObj, target, texObj->BaseLevel);
>        GLuint size, numLevels;
>
> -      size = MAX2(baseImage->Width2, baseImage->Height2);
> -      size = MAX2(size, baseImage->Depth2);
> +      switch (target) {
> +      case GL_TEXTURE_1D:
> +      case GL_TEXTURE_1D_ARRAY:
> +      case GL_TEXTURE_CUBE_MAP: /* cubemaps are squares, don't check Height2 */
> +      case GL_TEXTURE_CUBE_MAP_ARRAY:
> +         size = baseImage->Width2;
> +         break;
> +      case GL_TEXTURE_2D:
> +      case GL_TEXTURE_2D_ARRAY:
> +         size = MAX2(baseImage->Width2, baseImage->Height2);
> +         break;
> +      case GL_TEXTURE_3D:
> +         size = MAX3(baseImage->Width2, baseImage->Height2, baseImage->Depth2);
> +         break;
> +      default:
> +         assert(0);
> +         return 1;
> +      }
>
>        numLevels = texObj->BaseLevel;
>
> --
> 1.7.9.5
>


More information about the mesa-dev mailing list