From: Dave Airlie <airl...@redhat.com> This add support for the early depth/stencil property found on image shaders.
Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/gallium/drivers/r600/evergreen_state.c | 3 +++ src/gallium/drivers/r600/evergreend.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index f7a2a8f..0f68499 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -3217,6 +3217,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: diff --git a/src/gallium/drivers/r600/evergreend.h b/src/gallium/drivers/r600/evergreend.h index 817ec69..8c78e87 100644 --- a/src/gallium/drivers/r600/evergreend.h +++ b/src/gallium/drivers/r600/evergreend.h @@ -848,6 +848,7 @@ #define V_02880C_EXPORT_DB_FOUR16 0x01 #define V_02880C_EXPORT_DB_TWO 0x02 #define S_02880C_ALPHA_TO_MASK_DISABLE(x) (((x) & 0x1) << 12) +#define S_02880C_DEPTH_BEFORE_SHADER(x) (((x) & 0x1) << 15) #define S_02880C_CONSERVATIVE_Z_EXPORT(x) (((x) & 0x03) << 16) #define G_02880C_CONSERVATIVE_Z_EXPORT(x) (((x) >> 16) & 0x03) #define C_02880C_CONSERVATIVE_Z_EXPORT 0xFFFCFFFF -- 2.5.0 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev