summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/softpipe/sp_tile_cache.h
diff options
context:
space:
mode:
authorMorgan Armand <morgan.devel@gmail.com>2011-12-07 21:30:48 +0100
committerDave Airlie <airlied@redhat.com>2012-01-03 16:19:08 +0000
commite763b6e78825f11aa3e9e2368ba8fc47313a7848 (patch)
treef3bebf70b127e91378c52ebc3c070a3e8f09cb8e /src/gallium/drivers/softpipe/sp_tile_cache.h
parent2ae591bdf13f02f23471ea302b55eaccbb810dd7 (diff)
downloadexternal_mesa3d-e763b6e78825f11aa3e9e2368ba8fc47313a7848.zip
external_mesa3d-e763b6e78825f11aa3e9e2368ba8fc47313a7848.tar.gz
external_mesa3d-e763b6e78825f11aa3e9e2368ba8fc47313a7848.tar.bz2
softpipe: remove the 32bits limitation on depth(-stencil) formats
This patch remove the 32bits limitation. As a side effect, it bring the support for the GL_ARB_depth_buffer_float extension. No regression have been found on piglit, and all tests for GL_ARB_depth_buffer_float pass successfully. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_tile_cache.h')
-rw-r--r--src/gallium/drivers/softpipe/sp_tile_cache.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/softpipe/sp_tile_cache.h b/src/gallium/drivers/softpipe/sp_tile_cache.h
index 88d527c..775676b 100644
--- a/src/gallium/drivers/softpipe/sp_tile_cache.h
+++ b/src/gallium/drivers/softpipe/sp_tile_cache.h
@@ -70,6 +70,7 @@ struct softpipe_cached_tile
ubyte stencil8[TILE_SIZE][TILE_SIZE];
uint colorui128[TILE_SIZE][TILE_SIZE][4];
int colori128[TILE_SIZE][TILE_SIZE][4];
+ uint64_t depth64[TILE_SIZE][TILE_SIZE];
ubyte any[1];
} data;
};
@@ -88,7 +89,7 @@ struct softpipe_tile_cache
struct softpipe_cached_tile *entries[NUM_ENTRIES];
uint clear_flags[(MAX_WIDTH / TILE_SIZE) * (MAX_HEIGHT / TILE_SIZE) / 32];
union pipe_color_union clear_color; /**< for color bufs */
- uint clear_val; /**< for z+stencil */
+ uint64_t clear_val; /**< for z+stencil */
boolean depth_stencil; /**< Is the surface a depth/stencil format? */
struct softpipe_cached_tile *tile; /**< scratch tile for clears */
@@ -123,7 +124,7 @@ sp_flush_tile_cache(struct softpipe_tile_cache *tc);
extern void
sp_tile_cache_clear(struct softpipe_tile_cache *tc,
const union pipe_color_union *color,
- uint clearValue);
+ uint64_t clearValue);
extern struct softpipe_cached_tile *
sp_find_cached_tile(struct softpipe_tile_cache *tc,