gallium: in sp_tile_cache_clear() mark all cache slots as empty/free. Fixes progs...
authorBrian <brian.paul@tungstengraphics.com>
Wed, 23 Jan 2008 22:39:34 +0000 (15:39 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Wed, 23 Jan 2008 22:39:34 +0000 (15:39 -0700)
src/mesa/pipe/softpipe/sp_tile_cache.c

index 1974f77459144d7cd70f6aeb28ac9fc75cc4f9f8..bc7e8d01e41703a7b9dfa49d8fe1ec0896d10336 100644 (file)
@@ -538,6 +538,7 @@ void
 sp_tile_cache_clear(struct softpipe_tile_cache *tc, uint clearValue)
 {
    uint r, g, b, a;
+   uint pos;
 
    tc->clear_val = clearValue;
 
@@ -576,4 +577,9 @@ sp_tile_cache_clear(struct softpipe_tile_cache *tc, uint clearValue)
    /* disable the optimization */
    memset(tc->clear_flags, 0, sizeof(tc->clear_flags));
 #endif
+
+   for (pos = 0; pos < NUM_ENTRIES; pos++) {
+      struct softpipe_cached_tile *tile = tc->entries + pos;
+      tile->x = tile->y = -1;
+   }
 }