From 82e682e3c033b80ea363b314cdaf19c57b55bc70 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Mon, 26 Jan 2026 13:59:16 +0100 Subject: [PATCH] aco: fix demote in header of single iteration loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The control is not divergent before a divergent break in a single iteration loop, but we already pushed the loop mask on the stack. Fixes: 90faadae722 ("aco/insert_exec_mask: don't disable dead quads on demote in divergent CF") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14733 Reviewed-by: Daniel Schürmann (cherry picked from commit 4b1996b1c7a1c8676654c50b32e717e788cd1cb9) Part-of: --- .pick_status.json | 2 +- src/amd/compiler/aco_insert_exec_mask.cpp | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c0b1eae78b8..2c4e171584f 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -204,7 +204,7 @@ "description": "aco: fix demote in header of single iteration loop", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "90faadae72280f0da4abef016889bfbdb6a4d3d9", "notes": null diff --git a/src/amd/compiler/aco_insert_exec_mask.cpp b/src/amd/compiler/aco_insert_exec_mask.cpp index 94f68ce3e3e..23cf2124682 100644 --- a/src/amd/compiler/aco_insert_exec_mask.cpp +++ b/src/amd/compiler/aco_insert_exec_mask.cpp @@ -484,10 +484,17 @@ process_instructions(exec_ctx& ctx, Block* block, std::vector