[Mesa-dev] [PATCH] softpipe: fix texture view crashes
Brian Paul
brianp at vmware.com
Wed Mar 20 14:55:29 UTC 2019
On 03/19/2019 09:13 PM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
>
> I noticed we crashed piglit arb_texture_view-rendering-formats
> when run on softpipe.
>
> This fixes the clear tiles to use the surface format not the
> underlying storage format.
>
> This fixes a bunch of srgb piglits as well.
> ---
> src/gallium/drivers/softpipe/sp_tile_cache.c | 11 ++++++-----
> 1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/src/gallium/drivers/softpipe/sp_tile_cache.c b/src/gallium/drivers/softpipe/sp_tile_cache.c
> index 351736ee421..998939bdf30 100644
> --- a/src/gallium/drivers/softpipe/sp_tile_cache.c
> +++ b/src/gallium/drivers/softpipe/sp_tile_cache.c
> @@ -373,17 +373,18 @@ sp_tile_cache_flush_clear(struct softpipe_tile_cache *tc, int layer)
> if (util_format_is_pure_uint(tc->surface->format)) {
> pipe_put_tile_ui_format(pt, tc->transfer_map[layer],
> x, y, TILE_SIZE, TILE_SIZE,
> - pt->resource->format,
> + tc->surface->format,
> (unsigned *) tc->tile->data.colorui128);
> } else if (util_format_is_pure_sint(tc->surface->format)) {
> pipe_put_tile_i_format(pt, tc->transfer_map[layer],
> x, y, TILE_SIZE, TILE_SIZE,
> - pt->resource->format,
> + tc->surface->format,
> (int *) tc->tile->data.colori128);
> } else {
> - pipe_put_tile_rgba(pt, tc->transfer_map[layer],
> - x, y, TILE_SIZE, TILE_SIZE,
> - (float *) tc->tile->data.color);
> + pipe_put_tile_rgba_format(pt, tc->transfer_map[layer],
> + x, y, TILE_SIZE, TILE_SIZE,
> + tc->surface->format,
> + (float *) tc->tile->data.color);
> }
> }
> numCleared++;
>
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list