This patch didn't apply cleanly to 10.2.  It appears that 0423513c also
hits some code in this area.  I picked d2261918 over, but should
0423513c also get picked?

On 06/03/2014 04:33 AM, Marek Olšák wrote:
> Module: Mesa
> Branch: master
> Commit: d2261918202697febed0de18f66416e273001088
> URL:    
> http://cgit.freedesktop.org/mesa/mesa/commit/?id=d2261918202697febed0de18f66416e273001088
> 
> Author: Marek Olšák <marek.ol...@amd.com>
> Date:   Mon Jun  2 13:51:29 2014 +0200
> 
> r600g,radeonsi: don't use hardware MSAA resolve if dst is fast-cleared
> 
> It doesn't work and our docs say so too.
> 
> Cc: mesa-sta...@lists.freedesktop.org
> Reviewed-by: Michel Dänzer <michel.daen...@amd.com>
> 
> ---
> 
>  src/gallium/drivers/r600/r600_blit.c   |    3 ++-
>  src/gallium/drivers/radeonsi/si_blit.c |    3 ++-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/gallium/drivers/r600/r600_blit.c 
> b/src/gallium/drivers/r600/r600_blit.c
> index a2e7fa3..3269c47 100644
> --- a/src/gallium/drivers/r600/r600_blit.c
> +++ b/src/gallium/drivers/r600/r600_blit.c
> @@ -788,7 +788,8 @@ static bool do_hardware_msaa_resolve(struct pipe_context 
> *ctx,
>           info->src.box.width == dst_width &&
>           info->src.box.height == dst_height &&
>           info->src.box.depth == 1 &&
> -         dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D) {
> +         dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D &&
> +         (!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be 
> fast-cleared */) {
>               r600_blitter_begin(ctx, R600_COLOR_RESOLVE |
>                                  (info->render_condition_enable ? 0 : 
> R600_DISABLE_RENDER_COND));
>               util_blitter_custom_resolve_color(rctx->blitter,
> diff --git a/src/gallium/drivers/radeonsi/si_blit.c 
> b/src/gallium/drivers/radeonsi/si_blit.c
> index 0a4a660..e02615f 100644
> --- a/src/gallium/drivers/radeonsi/si_blit.c
> +++ b/src/gallium/drivers/radeonsi/si_blit.c
> @@ -688,7 +688,8 @@ static bool do_hardware_msaa_resolve(struct pipe_context 
> *ctx,
>           info->src.box.height == dst_height &&
>           info->src.box.depth == 1 &&
>           dst->surface.level[info->dst.level].mode >= RADEON_SURF_MODE_1D &&
> -         !(dst->surface.flags & RADEON_SURF_SCANOUT)) {
> +         !(dst->surface.flags & RADEON_SURF_SCANOUT) &&
> +         (!dst->cmask.size || !dst->dirty_level_mask) /* dst cannot be 
> fast-cleared */) {
>               si_blitter_begin(ctx, SI_COLOR_RESOLVE |
>                                (info->render_condition_enable ? 0 : 
> SI_DISABLE_RENDER_COND));
>               util_blitter_custom_resolve_color(sctx->blitter,
> 
> _______________________________________________
> mesa-commit mailing list
> mesa-com...@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-commit
> 

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to