[Mesa-dev] [PATCH] radeonsi: update hack for HTILE corruption in ARK: Survival Evolved

Samuel Pitoiset samuel.pitoiset at gmail.com
Thu Oct 26 16:05:21 UTC 2017



On 10/26/2017 04:26 PM, Marek Olšák wrote:
> Hi Samuel,
> 
> Can you also rename the drirc option and the bool?

Hi Marek,

Yes, you are right. I will send a v2.

Thanks.

> 
> Thanks,
> Marek
> 
> On Tue, Oct 24, 2017 at 11:59 AM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> It appears that flushing the DB metadata is actually not sufficient
>> since the driver uses the new VS blit shaders. This looks quite
>> strange though, but it seems like we need to flush DB for fixing
>> the corruption.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102955
>> Fixes: 69ccb9dae7 (radeonsi: use new VS blit shaders (VS inputs in SGPRs)
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/gallium/drivers/radeonsi/si_blit.c | 10 +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_blit.c b/src/gallium/drivers/radeonsi/si_blit.c
>> index fd8559ac98..b7f9d3705e 100644
>> --- a/src/gallium/drivers/radeonsi/si_blit.c
>> +++ b/src/gallium/drivers/radeonsi/si_blit.c
>> @@ -901,16 +901,16 @@ static void si_clear(struct pipe_context *ctx, unsigned buffers,
>>                   * corruption in ARK: Survival Evolved, but that may just be
>>                   * a coincidence and the root cause is elsewhere.
>>                   *
>> -                * The corruption can be fixed by putting the DB metadata flush
>> -                * before or after the depth clear. (suprisingly)
>> +                * The corruption can be fixed by putting the DB flush before
>> +                * or after the depth clear. (surprisingly)
>>                   *
>>                   * https://bugs.freedesktop.org/show_bug.cgi?id=102955 (apitrace)
>>                   *
>>                   * This hack decreases back-to-back ClearDepth performance.
>>                   */
>> -               if (sctx->screen->clear_db_meta_before_clear)
>> -                       sctx->b.flags |= SI_CONTEXT_FLUSH_AND_INV_DB_META |
>> -                                        SI_CONTEXT_PS_PARTIAL_FLUSH;
>> +               if (sctx->screen->clear_db_meta_before_clear) {
>> +                       sctx->b.flags |= SI_CONTEXT_FLUSH_AND_INV_DB;
>> +               }
>>          }
>>
>>          si_blitter_begin(ctx, SI_CLEAR);
>> --
>> 2.14.2
>>
>> _______________________________________________
>> 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