From 956868b06a879077ed6c7bcebbd34a4ac1ec0ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 12 Oct 2025 22:55:17 -0400 Subject: [PATCH] radeonsi: return false from si_update_ngg early on gfx11+ Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_state_shaders.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.cpp b/src/gallium/drivers/radeonsi/si_state_shaders.cpp index 72264cc14f3..505f8a02e17 100644 --- a/src/gallium/drivers/radeonsi/si_state_shaders.cpp +++ b/src/gallium/drivers/radeonsi/si_state_shaders.cpp @@ -3888,6 +3888,12 @@ static void si_update_tess_uses_prim_id(struct si_context *sctx) bool si_update_ngg(struct si_context *sctx) { + /* GFX11 can't disable NGG. */ + if (sctx->gfx_level >= GFX11) { + assert(sctx->ngg); + return false; + } + if (!sctx->screen->use_ngg) { assert(!sctx->ngg); return false; @@ -3897,7 +3903,7 @@ bool si_update_ngg(struct si_context *sctx) if (sctx->shader.gs.cso && sctx->shader.tes.cso && sctx->shader.gs.cso->tess_turns_off_ngg) { new_ngg = false; - } else if (sctx->gfx_level < GFX11) { + } else { struct si_shader_selector *last = si_get_vs(sctx)->cso; if ((last && last->info.enabled_streamout_buffer_mask) ||