[Mesa-dev] [PATCH 1/3] radeonsi: return Z_INVALID if the Z buffer is invalid

Christian König deathsimple at vodafone.de
Wed Nov 14 11:44:30 PST 2012


On 14.11.2012 20:14, alexdeucher at gmail.com wrote:
> From: Alex Deucher <alexander.deucher at amd.com>
>
> setting the DB format to Z_INVALID disables the depth buffer.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>

For this series:

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   src/gallium/drivers/radeonsi/si_state.c |   10 +++-------
>   1 files changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
> index e7a4005..1f76788 100644
> --- a/src/gallium/drivers/radeonsi/si_state.c
> +++ b/src/gallium/drivers/radeonsi/si_state.c
> @@ -1109,7 +1109,7 @@ static uint32_t si_translate_dbformat(enum pipe_format format)
>   	case PIPE_FORMAT_Z32_FLOAT_S8X24_UINT:
>   		return V_028040_Z_32_FLOAT;
>   	default:
> -		return ~0U;
> +		return V_028040_Z_INVALID;
>   	}
>   }
>   
> @@ -1438,7 +1438,7 @@ static bool si_is_colorbuffer_format_supported(enum pipe_format format)
>   
>   static bool si_is_zs_format_supported(enum pipe_format format)
>   {
> -	return si_translate_dbformat(format) != ~0U;
> +	return si_translate_dbformat(format) != V_028040_Z_INVALID;
>   }
>   
>   boolean si_is_format_supported(struct pipe_screen *screen,
> @@ -1739,12 +1739,8 @@ static void si_db(struct r600_context *rctx, struct si_pm4_state *pm4,
>   		       S_028008_SLICE_MAX(state->zsbuf->u.tex.last_layer));
>   
>   	si_pm4_set_reg(pm4, R_02803C_DB_DEPTH_INFO, 0x1);
> -	if (format != ~0U) {
> -		si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, z_info);
>   
> -	} else {
> -		si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, 0);
> -	}
> +	si_pm4_set_reg(pm4, R_028040_DB_Z_INFO, z_info);
>   
>   	if (rtex->surface.flags & RADEON_SURF_SBUFFER) {
>   		si_pm4_set_reg(pm4, R_028044_DB_STENCIL_INFO, s_info);



More information about the mesa-dev mailing list