Mesa (master): radeonsi/gfx10: fix corruption for chips with harvested TCCs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Mon Sep 30 17:40:01 UTC 2019
Module: Mesa
Branch: master
Commit: 235ebe91633e7f47518118983e0e6f5c632b25a4
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=235ebe91633e7f47518118983e0e6f5c632b25a4
Author: Marek Olšák <marek.olsak at amd.com>
Date: Tue Sep 24 16:56:57 2019 -0400
radeonsi/gfx10: fix corruption for chips with harvested TCCs
Cc: 19.2 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
---
src/gallium/drivers/radeonsi/si_pipe.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 2c3471de9ea..1906bdf16b2 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -1684,7 +1684,9 @@ si_make_CB_shader_coherent(struct si_context *sctx, unsigned num_samples,
SI_CONTEXT_INV_VCACHE;
if (sctx->chip_class >= GFX10) {
- if (shaders_read_metadata)
+ if (sctx->screen->info.tcc_harvested)
+ sctx->flags |= SI_CONTEXT_INV_L2;
+ else if (shaders_read_metadata)
sctx->flags |= SI_CONTEXT_INV_L2_METADATA;
} else if (sctx->chip_class == GFX9) {
/* Single-sample color is coherent with shaders on GFX9, but
@@ -1710,7 +1712,9 @@ si_make_DB_shader_coherent(struct si_context *sctx, unsigned num_samples,
SI_CONTEXT_INV_VCACHE;
if (sctx->chip_class >= GFX10) {
- if (shaders_read_metadata)
+ if (sctx->screen->info.tcc_harvested)
+ sctx->flags |= SI_CONTEXT_INV_L2;
+ else if (shaders_read_metadata)
sctx->flags |= SI_CONTEXT_INV_L2_METADATA;
} else if (sctx->chip_class == GFX9) {
/* Single-sample depth (not stencil) is coherent with shaders
More information about the mesa-commit
mailing list