[Mesa-dev] Mesa (master): r600g, radeonsi: don' t use hardware MSAA resolve if dst is fast-cleared

Marek Olšák maraeo at gmail.com
Mon Jun 16 15:42:20 PDT 2014


No, 0423513c will fail to compile on stable branches.

Marek

On Sat, Jun 7, 2014 at 3:10 AM, Ian Romanick <idr at freedesktop.org> wrote:
> 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.olsak at 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-stable at lists.freedesktop.org
>> Reviewed-by: Michel Dänzer <michel.daenzer at 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-commit at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-commit
>>
>


More information about the mesa-dev mailing list