summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/softpipe/sp_tile_cache.h
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2007-12-07 20:13:10 -0700
committerBen Skeggs <skeggsb@gmail.com>2007-12-09 12:05:27 +1100
commit7c8cc71a28e5d02c01c0a528f1c35f29281e88f2 (patch)
tree4e55b68faae1997e7019fe56f0d3436c83e8a929 /src/mesa/pipe/softpipe/sp_tile_cache.h
parent77c7fd3cec458511ea0789130a72e443a8d16d2f (diff)
Tile clearing optimizations.
Clear using int values rather than floats when possible. Better performance now.
Diffstat (limited to 'src/mesa/pipe/softpipe/sp_tile_cache.h')
-rw-r--r--src/mesa/pipe/softpipe/sp_tile_cache.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/pipe/softpipe/sp_tile_cache.h b/src/mesa/pipe/softpipe/sp_tile_cache.h
index c4f2e0f184..91fb2795a2 100644
--- a/src/mesa/pipe/softpipe/sp_tile_cache.h
+++ b/src/mesa/pipe/softpipe/sp_tile_cache.h
@@ -51,9 +51,11 @@ struct softpipe_cached_tile
int z, face, level; /**< Extra texture indexes */
union {
float color[TILE_SIZE][TILE_SIZE][4];
+ uint color32[TILE_SIZE][TILE_SIZE];
uint depth32[TILE_SIZE][TILE_SIZE];
ushort depth16[TILE_SIZE][TILE_SIZE];
ubyte stencil8[TILE_SIZE][TILE_SIZE];
+ ubyte any[1];
} data;
};
@@ -80,7 +82,7 @@ sp_flush_tile_cache(struct softpipe_context *softpipe,
struct softpipe_tile_cache *tc);
extern void
-sp_tile_cache_clear(struct softpipe_tile_cache *tc, const float value[4]);
+sp_tile_cache_clear(struct softpipe_tile_cache *tc, uint clearValue);
extern struct softpipe_cached_tile *
sp_get_cached_tile(struct softpipe_context *softpipe,