[Mesa-dev] [PATCH v3 1/7] radeonsi: Allocate buffers for DCC.

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Wed Oct 21 02:27:23 PDT 2015


On Wed, Oct 21, 2015 at 9:56 AM, Axel Davy <axel.davy at ens.fr> wrote:
> On 21/10/2015 00:10, Bas Nieuwenhuizen wrote:
>>
>>
>> DCC is disabled for textures that can be shared as sharing the
>> DCC buffers has not been implemented yet.
>>
>>
>>   +   surf->dcc_enabled =  !(surf->flags & RADEON_SURF_Z_OR_SBUFFER) &&
>> +                        !(surf->flags & RADEON_SURF_SCANOUT) &&
>> +                        !compressed && AddrDccIn.numSamples <= 1;
>> +
>>
>
> Testing if a surface is scanout is not enough to avoid shared surfaces.
>
> In practice, it may be true currently mesa, and glamor via gbm, would use
> the scanout flag for shared
> buffers. It seems however a bit weak to rely on that.
>
> I suggest rather to use the pipe shared bind flag.
>
>  I noticed in some case of imported surfaces the bind flag is not
> advertised, I'm going to send a patch to fix that.

The commit message indeed does not agree with the commit.

Note that with the DCC decompress patches we essentially have the same
behavior as the CMASK fast clear for shared non-displayable surfaces:
after writing and before using it in another application you need to
call flush_resource.

- Bas


More information about the mesa-dev mailing list