mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-27 08:50:49 +02:00
softpipe: zero-out entire clear_flags array in sp_tile_cache_flush_clear()
Before, we only cleared the flags for the active tiles (the ones inside the framebuffer bound). The problem is if we later bound a different, larger surface to the tile cache we'd have some stale clear-flags still set (and mistakenly clear some tiles in the new surface). Fixes fd.o bug 26932.
This commit is contained in:
parent
80dc54e308
commit
e1762fb870
1 changed files with 4 additions and 3 deletions
|
|
@ -299,13 +299,14 @@ sp_tile_cache_flush_clear(struct softpipe_tile_cache *tc)
|
|||
x, y, TILE_SIZE, TILE_SIZE,
|
||||
tc->tile.data.color32, 0/*STRIDE*/);
|
||||
|
||||
/* do this? */
|
||||
clear_clear_flag(tc->clear_flags, addr);
|
||||
|
||||
numCleared++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* reset all clear flags to zero */
|
||||
memset(tc->clear_flags, 0, sizeof(tc->clear_flags));
|
||||
|
||||
#if 0
|
||||
debug_printf("num cleared: %u\n", numCleared);
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue