Mesa (staging/20.2): radeonsi: disable NGG culling on gfx10.3 because of hangs
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Aug 18 17:43:32 UTC 2020
Module: Mesa
Branch: staging/20.2
Commit: a19dd637e8bff0678552f22d0fe1585a343f6a33
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a19dd637e8bff0678552f22d0fe1585a343f6a33
Author: Marek Olšák <marek.olsak at amd.com>
Date: Sat Aug 8 16:39:09 2020 -0400
radeonsi: disable NGG culling on gfx10.3 because of hangs
Fixes: a23802bcb9a - ac,radeonsi: start adding support for gfx10.3
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6282>
(cherry picked from commit 2b78cb2e0039f09d9820a1a9166a49f168c9959d)
---
.pick_status.json | 2 +-
src/gallium/drivers/radeonsi/si_pipe.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/.pick_status.json b/.pick_status.json
index 899c007e6b4..268b8468945 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -1957,7 +1957,7 @@
"description": "radeonsi: disable NGG culling on gfx10.3 because of hangs",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "a23802bcb9a42a02d34a5a36d6e66d6532813a0d"
},
diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c
index c323f33dd8f..2bd96eaef1c 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.c
+++ b/src/gallium/drivers/radeonsi/si_pipe.c
@@ -1152,6 +1152,11 @@ static struct pipe_screen *radeonsi_screen_create_impl(struct radeon_winsys *ws,
driQueryOptionb(config->options, "radeonsi_commutative_blend_add") ||
driQueryOptionb(config->options, "allow_draw_out_of_order");
+ /* TODO: Find out why NGG culling hangs on gfx10.3 */
+ if (sscreen->info.chip_class == GFX10_3 &&
+ !(sscreen->debug_flags & (DBG(ALWAYS_NGG_CULLING_ALL) | DBG(ALWAYS_NGG_CULLING_TESS))))
+ sscreen->debug_flags |= DBG(NO_NGG_CULLING);
+
sscreen->use_ngg = sscreen->info.chip_class >= GFX10 && sscreen->info.family != CHIP_NAVI14 &&
!(sscreen->debug_flags & DBG(NO_NGG));
sscreen->use_ngg_culling = sscreen->use_ngg && !(sscreen->debug_flags & DBG(NO_NGG_CULLING));
More information about the mesa-commit
mailing list