diff --git a/.pick_status.json b/.pick_status.json index c200ed2ae4c..a05b41df947 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5774,7 +5774,7 @@ "description": "r300: don't abort on flow control when using draw for vs", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "1021e2b946b18739b65b575b0770e6158ba05592", "notes": null 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);