From 8657a09f9a618102d1eaad503a6c1a63d38dcb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Ondra=C4=8Dka?= Date: Thu, 17 Aug 2023 18:01:28 +0200 Subject: [PATCH] r300: don't abort on flow control when using draw for vs It can handle it just fine. Around 250 dEQPs go from Skip to Pass. Fixes: 1021e2b946b18739b65b575b0770e6158ba05592 Reviewed-by: Filip Gawin Part-of: --- src/gallium/drivers/r300/compiler/r300_nir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/r300/compiler/r300_nir.c b/src/gallium/drivers/r300/compiler/r300_nir.c index 1c27edeea59..05f7b8c59e7 100644 --- a/src/gallium/drivers/r300/compiler/r300_nir.c +++ b/src/gallium/drivers/r300/compiler/r300_nir.c @@ -171,7 +171,8 @@ r300_finalize_nir(struct pipe_screen *pscreen, void *nir) nir_sweep(s); - if (!r300_screen(pscreen)->caps.is_r500) { + if (!r300_screen(pscreen)->caps.is_r500 && + (r300_screen(pscreen)->caps.has_tcl || s->info.stage == MESA_SHADER_FRAGMENT)) { char *msg = r300_check_control_flow(s); if (msg) return strdup(msg);