summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-03-31 16:17:35 +1000
committerDave Airlie <[email protected]>2017-11-03 09:33:37 +1000
commitde126b0402c53ed9011b8ea5237daea554537aa1 (patch)
treeffa390d9475bd3b31d5ce79d7e7e67c210362623
parentf3c6149c26079c50e5a45785c7314fa7fe32d40a (diff)
r600: add support for early depth/stencil.
This add support for the early depth/stencil property found on image shaders. Reviewed-by: Nicolai Hähnle <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--src/gallium/drivers/r600/evergreen_state.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index 4ffc2684d56..96eb35a9818 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -3159,6 +3159,9 @@ void evergreen_update_ps_state(struct pipe_context *ctx, struct r600_pipe_shader
db_shader_control |= S_02880C_STENCIL_EXPORT_ENABLE(stencil_export);
db_shader_control |= S_02880C_MASK_EXPORT_ENABLE(mask_export);
+ if (shader->selector->info.properties[TGSI_PROPERTY_FS_EARLY_DEPTH_STENCIL])
+ db_shader_control |= S_02880C_DEPTH_BEFORE_SHADER(1);
+
switch (rshader->ps_conservative_z) {
default: /* fall through */
case TGSI_FS_DEPTH_LAYOUT_ANY: