From: Dave Airlie Date: Thu, 31 Mar 2016 06:17:35 +0000 (+1000) Subject: r600: add support for early depth/stencil. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=de126b0402c53ed9011b8ea5237daea554537aa1;p=mesa.git 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 Signed-off-by: Dave Airlie --- 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: