aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-07-30 16:30:04 -0400
committerJuan A. Suarez Romero <[email protected]>2019-08-08 12:04:18 +0200
commitf837d0a6a36ba2ce2699ff6935c6275ef7dd10e9 (patch)
treef38b1e283ada1421d9298e543a51a53c9dbc4211 /src
parentf0aa11b0545150bfb32f814525d69d99fa843778 (diff)
radeonsi: disable SDMA image copies on dGPUs to fix corruption in games
Cc: 19.1 19.2 <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> (cherry picked from commit 6b3ee86989edb854094d3aba122b40498fca94d8) [Juan A. Suarez: resolve trivial conflicts] Signed-off-by: Juan A. Suarez Romero <[email protected]> Conflicts: src/gallium/drivers/radeonsi/cik_sdma.c
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/radeonsi/cik_sdma.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/cik_sdma.c b/src/gallium/drivers/radeonsi/cik_sdma.c
index da9b25a442d..1854e1226c3 100644
--- a/src/gallium/drivers/radeonsi/cik_sdma.c
+++ b/src/gallium/drivers/radeonsi/cik_sdma.c
@@ -502,7 +502,15 @@ static void cik_sdma_copy(struct pipe_context *ctx,
return;
}
- if ((sctx->chip_class == CIK || sctx->chip_class == VI) &&
+ /* SDMA causes corruption. See:
+ * https://bugs.freedesktop.org/show_bug.cgi?id=110575
+ * https://bugs.freedesktop.org/show_bug.cgi?id=110635
+ *
+ * Keep SDMA enabled on APUs.
+ */
+ if ((sctx->screen->debug_flags & DBG(FORCE_DMA) ||
+ !sctx->screen->info.has_dedicated_vram) &&
+ (sctx->chip_class == CIK || sctx->chip_class == VI) &&
cik_sdma_copy_texture(sctx, dst, dst_level, dstx, dsty, dstz,
src, src_level, src_box))
return;