[Mesa-dev] [PATCH 3/3] radeonsi: don't emit DB_STENCIL_CONTROL if it has no effect

Nicolai Hähnle nhaehnle at gmail.com
Mon Jun 12 09:06:21 UTC 2017


For the series:

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

On 09.06.2017 15:49, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> ---
>   src/gallium/drivers/radeonsi/si_state.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
> index 53f66ac..a8255f2 100644
> --- a/src/gallium/drivers/radeonsi/si_state.c
> +++ b/src/gallium/drivers/radeonsi/si_state.c
> @@ -1078,21 +1078,22 @@ static void *si_create_dsa_state(struct pipe_context *ctx,
>   	if (state->alpha.enabled) {
>   		dsa->alpha_func = state->alpha.func;
>   
>   		si_pm4_set_reg(pm4, R_00B030_SPI_SHADER_USER_DATA_PS_0 +
>   		               SI_SGPR_ALPHA_REF * 4, fui(state->alpha.ref_value));
>   	} else {
>   		dsa->alpha_func = PIPE_FUNC_ALWAYS;
>   	}
>   
>   	si_pm4_set_reg(pm4, R_028800_DB_DEPTH_CONTROL, db_depth_control);
> -	si_pm4_set_reg(pm4, R_02842C_DB_STENCIL_CONTROL, db_stencil_control);
> +	if (state->stencil[0].enabled)
> +		si_pm4_set_reg(pm4, R_02842C_DB_STENCIL_CONTROL, db_stencil_control);
>   	if (state->depth.bounds_test) {
>   		si_pm4_set_reg(pm4, R_028020_DB_DEPTH_BOUNDS_MIN, fui(state->depth.bounds_min));
>   		si_pm4_set_reg(pm4, R_028024_DB_DEPTH_BOUNDS_MAX, fui(state->depth.bounds_max));
>   	}
>   
>   	return dsa;
>   }
>   
>   static void si_bind_dsa_state(struct pipe_context *ctx, void *state)
>   {
> 


-- 
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.


More information about the mesa-dev mailing list