I'm not sure this is valid. The cache is read-only, but textures can get modified by other actions, rendering the cached copy invalid - that's the point of the flush.
Keith On Sun, 2009-08-30 at 04:37 -0700, Jose Fonseca wrote: > Module: Mesa > Branch: master > Commit: ffe1b7bad82726da44bf91bd61ca62e5cf6645de > URL: > http://cgit.freedesktop.org/mesa/mesa/commit/?id=ffe1b7bad82726da44bf91bd61ca62e5cf6645de > > Author: José Fonseca <[email protected]> > 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 ); > > _______________________________________________ > mesa-commit mailing list > [email protected] > http://lists.freedesktop.org/mailman/listinfo/mesa-commit ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
