diff options
author | Eric Anholt <[email protected]> | 2014-08-01 13:32:49 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2014-08-11 14:45:31 -0700 |
commit | 4160ac5ee41630a5c9fc4e1f3520f0fabf42cb14 (patch) | |
tree | b9fa27c50da704655560e2d2a9f5b2e94288049f /src/gallium/drivers/vc4/vc4_context.h | |
parent | 2259cc5aebcb16636b1399dd438beed9d9867e67 (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.h | 10 |
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) { |