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

Marek Olšák maraeo at gmail.com
Thu Oct 26 14:26:26 UTC 2017


Hi Samuel,

Can you also rename the drirc option and the bool?

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