[Mesa-dev] [PATCH] st/mesa: restore the stObj's size if it was cleared out

Nicolai Hähnle nhaehnle at gmail.com
Mon Jan 18 12:54:52 PST 2016


On 17.01.2016 16:34, Ilia Mirkin wrote:
> An issue could still occur if the base level is set, but fixing that
> would require a lot more logic.
>
> This fixes the recently-failing texelFetch 3D tests because the mipmaps
> were no longer being generated, which in turn caused the copying logic
> to be hit, which in turn didn't work because of the broken
> width/height/depth.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

> ---
>   src/mesa/state_tracker/st_cb_texture.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>
> diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
> index f8b3679..0ceb370 100644
> --- a/src/mesa/state_tracker/st_cb_texture.c
> +++ b/src/mesa/state_tracker/st_cb_texture.c
> @@ -1670,6 +1670,12 @@ st_finalize_texture(struct gl_context *ctx,
>            width = stObj->width0;
>            height = stObj->height0;
>            depth = stObj->depth0;
> +      } else {
> +         /* The width/height/depth may have been previously reset in
> +          * guess_and_alloc_texture. */
> +         stObj->width0 = width;
> +         stObj->height0 = height;
> +         stObj->depth0 = depth;
>         }
>         /* convert GL dims to Gallium dims */
>         st_gl_texture_dims_to_pipe_dims(stObj->base.Target, width, height, depth,
>


More information about the mesa-dev mailing list