From a19dd637e8bff0678552f22d0fe1585a343f6a33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 8 Aug 2020 16:39:09 -0400 Subject: [PATCH] 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 Part-of: (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));