diff options
author | José Fonseca <[email protected]> | 2009-08-30 12:03:49 +0100 |
---|---|---|
committer | José Fonseca <[email protected]> | 2009-08-30 12:37:03 +0100 |
commit | ffe1b7bad82726da44bf91bd61ca62e5cf6645de (patch) | |
tree | 2afc43b12897667469de36453c478429a49243f1 | |
parent | 3d305243938980af520c6d3e0ce02f4ee3a6126c (diff) |
llvmpipe: Texture cache is read-only. No need to flush.
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_flush.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_tex_cache.c | 39 | ||||
-rw-r--r-- | 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 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 ); |