intel/fs: Fix use of undefined value in fixup_nomask_control_flow
Fixes: a8ac0bd759cbf "intel/fs/gen12: Workaround unwanted SEND execution..."
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7536>
(cherry picked from commit e9caba6ce54d35870ef2fc555d00e2ccb45e40c0)
diff --git a/.pick_status.json b/.pick_status.json
index 3d92991..61e892c 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -778,7 +778,7 @@
"description": "intel/fs: Fix use of undefined value in fixup_nomask_control_flow",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"master_sha": null,
"because_sha": "a8ac0bd759cbf9a5984df4bc9f553a3dca41a8ab"
},
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index 1124a24..6a77c3a 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -7800,7 +7800,8 @@
static const fs_inst *
find_halt_control_flow_region_start(const fs_visitor *v)
{
- if (brw_wm_prog_data(v->prog_data)->uses_kill) {
+ if (v->stage == MESA_SHADER_FRAGMENT &&
+ brw_wm_prog_data(v->prog_data)->uses_kill) {
foreach_block_and_inst(block, fs_inst, inst, v->cfg) {
if (inst->opcode == FS_OPCODE_DISCARD_JUMP ||
inst->opcode == FS_OPCODE_PLACEHOLDER_HALT)