llvmpipe: Texture cache is read-only. No need to flush.
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 30 Aug 2009 11:03:49 +0000 (12:03 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 30 Aug 2009 11:37:03 +0000 (12:37 +0100)
src/gallium/drivers/llvmpipe/lp_flush.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tex_cache.h

index 44b4696a1316ea4a14a9e50acfb631e14fb2014c..b5c1c95bb73fea36b2631b5ad6a80c5662cb8101 100644 (file)
@@ -51,12 +51,6 @@ llvmpipe_flush( struct pipe_context *pipe,
 
    draw_flush(llvmpipe->draw);
 
-   if (flags & PIPE_FLUSH_TEXTURE_CACHE) {
-      for (i = 0; i < llvmpipe->num_textures; i++) {
-         lp_flush_tex_tile_cache(llvmpipe->tex_cache[i]);
-      }
-   }
-
    if (flags & PIPE_FLUSH_SWAPBUFFERS) {
       /* If this is a swapbuffers, just flush color buffers.
        *
index 984f71688bab75334c29517c5682f7fc86ad0dea..3069c765aefb7578a3f756d0065343a26cd4c1c0 100644 (file)
@@ -200,45 +200,6 @@ lp_tex_tile_cache_set_texture(struct llvmpipe_tex_tile_cache *tc,
 }
 
 
-/**
- * Flush the tile cache: write all dirty tiles back to the transfer.
- * any tiles "flagged" as cleared will be "really" cleared.
- */
-void
-lp_flush_tex_tile_cache(struct llvmpipe_tex_tile_cache *tc)
-{
-   struct pipe_transfer *pt = tc->transfer;
-   int inuse = 0, pos;
-
-   if (pt) {
-      /* caching a drawing transfer */
-      for (pos = 0; pos < NUM_ENTRIES; pos++) {
-         struct llvmpipe_cached_tex_tile *tile = tc->entries + pos;
-         if (!tile->addr.bits.invalid) {
-            pipe_put_tile_rgba(pt,
-                               tile->addr.bits.x * TEX_TILE_SIZE,
-                               tile->addr.bits.y * TEX_TILE_SIZE,
-                               TEX_TILE_SIZE, TEX_TILE_SIZE,
-                               (float *) tile->color);
-            tile->addr.bits.invalid = 1;  /* mark as empty */
-            inuse++;
-         }
-      }
-   }
-   else if (tc->texture) {
-      /* caching a texture, mark all entries as empty */
-      for (pos = 0; pos < NUM_ENTRIES; pos++) {
-         tc->entries[pos].addr.bits.invalid = 1;
-      }
-      tc->tex_face = -1;
-   }
-
-#if 0
-   debug_printf("flushed tiles in use: %d\n", inuse);
-#endif
-}
-
-
 /**
  * Given the texture face, level, zslice, x and y values, compute
  * the cache entry position/index where we'd hope to find the
index f521b2ae0b93779ed64524143a74cfdb9a805a9e..106b5059b715991baab93456dbc05ce90768f827 100644 (file)
@@ -111,9 +111,6 @@ lp_tex_tile_cache_set_texture(struct llvmpipe_tex_tile_cache *tc,
 void
 lp_tex_tile_cache_validate_texture(struct llvmpipe_tex_tile_cache *tc);
 
-extern void
-lp_flush_tex_tile_cache(struct llvmpipe_tex_tile_cache *tc);
-
 extern const struct llvmpipe_cached_tex_tile *
 lp_find_cached_tex_tile(struct llvmpipe_tex_tile_cache *tc,
                         union tex_tile_address addr );