diff options
| -rw-r--r-- | src/gallium/drivers/softpipe/sp_tile_cache.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/src/gallium/drivers/softpipe/sp_tile_cache.c b/src/gallium/drivers/softpipe/sp_tile_cache.c index c070cf68db..8534c7745b 100644 --- a/src/gallium/drivers/softpipe/sp_tile_cache.c +++ b/src/gallium/drivers/softpipe/sp_tile_cache.c @@ -163,10 +163,7 @@ sp_tile_cache_set_surface(struct softpipe_tile_cache *tc,     assert(!tc->texture);     if (tc->transfer) { -      if (ps->texture == tc->transfer->texture && -          ps->face == tc->transfer->face && -          ps->level == tc->transfer->level && -          ps->zslice == tc->transfer->zslice) +      if (ps == tc->surface)           return;        if (tc->transfer_map) { @@ -177,6 +174,8 @@ sp_tile_cache_set_surface(struct softpipe_tile_cache *tc,        screen->tex_transfer_release(screen, &tc->transfer);     } +   tc->surface = ps; +     tc->transfer = screen->get_tex_transfer(screen, ps->texture, ps->face,                                             ps->level, ps->zslice,                                             PIPE_TRANSFER_READ_WRITE, | 
