summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/vc4/vc4_context.h
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2014-08-01 13:32:49 -0700
committerEric Anholt <[email protected]>2014-08-11 14:45:31 -0700
commit4160ac5ee41630a5c9fc4e1f3520f0fabf42cb14 (patch)
treeb9fa27c50da704655560e2d2a9f5b2e94288049f /src/gallium/drivers/vc4/vc4_context.h
parent2259cc5aebcb16636b1399dd438beed9d9867e67 (diff)
vc4: Add support for depth clears and tests within a tile.
This doesn't load/store the Z contents across submits yet. It also disables early Z, since it's going to require tracking of Z functions across multiple state updates to track the early Z direction and whether it can be used. v2: Move the key setup to before the search for the key.
Diffstat (limited to 'src/gallium/drivers/vc4/vc4_context.h')
-rw-r--r--src/gallium/drivers/vc4/vc4_context.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/vc4/vc4_context.h b/src/gallium/drivers/vc4/vc4_context.h
index d6367871358..fe51072180b 100644
--- a/src/gallium/drivers/vc4/vc4_context.h
+++ b/src/gallium/drivers/vc4/vc4_context.h
@@ -143,6 +143,7 @@ struct vc4_context {
*/
uint32_t resolve;
uint32_t clear_color[2];
+ uint32_t clear_depth; /**< 24-bit unorm depth */
/**
* Set if some drawing (triangles, blits, or just a glClear()) has
@@ -165,7 +166,7 @@ struct vc4_context {
struct pipe_scissor_state scissor;
struct pipe_blend_state *blend;
struct vc4_rasterizer_state *rasterizer;
- struct pipe_depth_stencil_alpha_state *zsa;
+ struct vc4_depth_stencil_alpha_state *zsa;
struct vc4_texture_stateobj verttex, fragtex;
@@ -194,6 +195,13 @@ struct vc4_rasterizer_state {
float point_size;
};
+struct vc4_depth_stencil_alpha_state {
+ struct pipe_depth_stencil_alpha_state base;
+
+ /* VC4_CONFIGURATION_BITS */
+ uint8_t config_bits[3];
+};
+
static inline struct vc4_context *
vc4_context(struct pipe_context *pcontext)
{