summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-08-30 12:03:49 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-08-30 12:37:03 +0100
commitffe1b7bad82726da44bf91bd61ca62e5cf6645de (patch)
tree2afc43b12897667469de36453c478429a49243f1
parent3d305243938980af520c6d3e0ce02f4ee3a6126c (diff)
llvmpipe: Texture cache is read-only. No need to flush.
-rw-r--r--src/gallium/drivers/llvmpipe/lp_flush.c6
-rw-r--r--src/gallium/drivers/llvmpipe/lp_tex_cache.c39
-rw-r--r--src/gallium/drivers/llvmpipe/lp_tex_cache.h3
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 44b4696a131..b5c1c95bb73 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 984f71688ba..3069c765aef 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 f521b2ae0b9..106b5059b71 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 );