[Mesa-dev] [PATCH 1/3] ac/surface: fix MSAA corruption on Vega due to FMASK tile swizzle
Marek Olšák
maraeo at gmail.com
Fri Jul 27 20:56:02 UTC 2018
On Fri, Jul 27, 2018 at 5:16 AM, Bas Nieuwenhuizen
<bas at basnieuwenhuizen.nl> wrote:
> Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>
> Does it occur often that they are different?
It depends on the size. FMASK has lower bpp and always 1 sample, so
the tiling is more likely to use 4K than 64K macrotiles.
Marek
>
> On Fri, Jul 27, 2018 at 5:36 AM, Marek Olšák <maraeo at gmail.com> wrote:
>> From: Marek Olšák <marek.olsak at amd.com>
>>
>> a needle in the haystack?
>>
>> Cc: 18.1 <mesa-stable at lists.freedesktop.org>
>> ---
>> src/amd/common/ac_surface.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
>> index afdae1971e9..2f4f0f8884f 100644
>> --- a/src/amd/common/ac_surface.c
>> +++ b/src/amd/common/ac_surface.c
>> @@ -1295,21 +1295,21 @@ static int gfx9_compute_miptree(ADDR_HANDLE addrlib,
>> !(surf->flags & RADEON_SURF_SHAREABLE)) {
>> ADDR2_COMPUTE_PIPEBANKXOR_INPUT xin = {0};
>> ADDR2_COMPUTE_PIPEBANKXOR_OUTPUT xout = {0};
>>
>> xin.size = sizeof(ADDR2_COMPUTE_PIPEBANKXOR_INPUT);
>> xout.size = sizeof(ADDR2_COMPUTE_PIPEBANKXOR_OUTPUT);
>>
>> /* This counter starts from 1 instead of 0. */
>> xin.surfIndex = p_atomic_inc_return(config->info.fmask_surf_index);
>> xin.flags = in->flags;
>> - xin.swizzleMode = in->swizzleMode;
>> + xin.swizzleMode = fin.swizzleMode;
>> xin.resourceType = in->resourceType;
>> xin.format = in->format;
>> xin.numSamples = in->numSamples;
>> xin.numFrags = in->numFrags;
>>
>> ret = Addr2ComputePipeBankXor(addrlib, &xin, &xout);
>> if (ret != ADDR_OK)
>> return ret;
>>
>> assert(xout.pipeBankXor <=
>> --
>> 2.17.1
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list