[Mesa-dev] [PATCH 1/3] r600g: fix the single-sample fast clear setup

Dieter Nützel Dieter at nuetzel-hh.de
Sun Aug 2 10:05:18 PDT 2015


Am 02.08.2015 15:36, schrieb Marek Olšák:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> No effect, but this is what we should be doing.

Hello Marek,

who should test this on which stuff?
BTW Do you think, we see GL 4.1 on r600g (Turks ;-) with 11.0.1?

Great work!

-Dieter

> ---
>  src/gallium/drivers/r600/evergreen_state.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/r600/evergreen_state.c
> b/src/gallium/drivers/r600/evergreen_state.c
> index 7065af9..5c8fd0d 100644
> --- a/src/gallium/drivers/r600/evergreen_state.c
> +++ b/src/gallium/drivers/r600/evergreen_state.c
> @@ -1028,7 +1028,10 @@ void evergreen_init_color_surface(struct
> r600_context *rctx,
>  	macro_aspect = rtex->surface.mtilea;
>  	bankw = rtex->surface.bankw;
>  	bankh = rtex->surface.bankh;
> -	fmask_bankh = rtex->fmask.bank_height;
> +	if (rtex->fmask.size)
> +		fmask_bankh = rtex->fmask.bank_height;
> +	else
> +		fmask_bankh = rtex->surface.bankh;
>  	tile_split = eg_tile_split(tile_split);
>  	macro_aspect = eg_macro_tile_aspect(macro_aspect);
>  	bankw = eg_bank_wh(bankw);
> @@ -1149,10 +1152,11 @@ void evergreen_init_color_surface(struct
> r600_context *rctx,
>  	surf->cb_color_attrib = color_attrib;
>  	if (rtex->fmask.size) {
>  		surf->cb_color_fmask = (base_offset + rtex->fmask.offset) >> 8;
> +		surf->cb_color_fmask_slice = 
> S_028C88_TILE_MAX(rtex->fmask.slice_tile_max);
>  	} else {
>  		surf->cb_color_fmask = surf->cb_color_base;
> +		surf->cb_color_fmask_slice = S_028C88_TILE_MAX(slice);
>  	}
> -	surf->cb_color_fmask_slice = 
> S_028C88_TILE_MAX(rtex->fmask.slice_tile_max);
> 
>  	surf->color_initialized = true;
>  }



More information about the mesa-dev mailing list