Mesa (master): llvmpipe: Texture cache is read-only. No need to flush.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sun Aug 30 11:37:59 UTC 2009


Module: Mesa
Branch: master
Commit: ffe1b7bad82726da44bf91bd61ca62e5cf6645de
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe1b7bad82726da44bf91bd61ca62e5cf6645de

Author: José Fonseca <jfonseca at vmware.com>
Date:   Sun Aug 30 12:03:49 2009 +0100

llvmpipe: Texture cache is read-only. No need to flush.

---

 src/gallium/drivers/llvmpipe/lp_flush.c     |    6 ----
 src/gallium/drivers/llvmpipe/lp_tex_cache.c |   39 ---------------------------
 src/gallium/drivers/llvmpipe/lp_tex_cache.h |    3 --
 3 files changed, 0 insertions(+), 48 deletions(-)

diff --git a/src/gallium/drivers/llvmpipe/lp_flush.c b/src/gallium/drivers/llvmpipe/lp_flush.c
index 44b4696..b5c1c95 100644
--- a/src/gallium/drivers/llvmpipe/lp_flush.c
+++ b/src/gallium/drivers/llvmpipe/lp_flush.c
@@ -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.
        *
diff --git a/src/gallium/drivers/llvmpipe/lp_tex_cache.c b/src/gallium/drivers/llvmpipe/lp_tex_cache.c
index 984f716..3069c76 100644
--- a/src/gallium/drivers/llvmpipe/lp_tex_cache.c
+++ b/src/gallium/drivers/llvmpipe/lp_tex_cache.c
@@ -201,45 +201,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
  * cached texture tile.
diff --git a/src/gallium/drivers/llvmpipe/lp_tex_cache.h b/src/gallium/drivers/llvmpipe/lp_tex_cache.h
index f521b2a..106b505 100644
--- a/src/gallium/drivers/llvmpipe/lp_tex_cache.h
+++ b/src/gallium/drivers/llvmpipe/lp_tex_cache.h
@@ -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 );




More information about the mesa-commit mailing list