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