From 3f973a4f45edeecaac8b7d4e803a1479cbd747ba Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Thu, 5 Oct 2023 15:18:50 +0300 Subject: [PATCH] Revert "intel/fs: limit register flag interaction of FIND_*LIVE_CHANNEL" This reverts commit c9739e8912286a212359f3a5a4f958c6165ce2cc. We don't have a full understanding of what is going on but reverting definitely fixes a hang. Signed-off-by: Lionel Landwerlin Fixes: c9739e8912 ("intel/fs: limit register flag interaction of FIND_*LIVE_CHANNEL") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9868 Tested-By: Valentin Geyer Part-of: --- src/intel/compiler/brw_fs.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index ba3404258bf..db67b332576 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -1013,9 +1013,6 @@ fs_inst::flags_written(const intel_device_info *devinfo) const /* On Gfx4 and Gfx5, sel.l (for min) and sel.ge (for max) are implemented * using a separate cmpn and sel instruction. This lowering occurs in * fs_vistor::lower_minmax which is called very, very late. - * - * FIND_LIVE_CHANNEL & FIND_LAST_LIVE_CHANNEL are lowered in - * lower_find_live_channel() on Gfx8+ and do not use the flag registers. */ if ((conditional_mod && ((opcode != BRW_OPCODE_SEL || devinfo->ver <= 5) && opcode != BRW_OPCODE_CSEL && @@ -1023,9 +1020,8 @@ fs_inst::flags_written(const intel_device_info *devinfo) const opcode != BRW_OPCODE_WHILE)) || opcode == FS_OPCODE_FB_WRITE) { return flag_mask(this, 1); - } else if ((devinfo->ver <= 7 && - (opcode == SHADER_OPCODE_FIND_LIVE_CHANNEL || - opcode == SHADER_OPCODE_FIND_LAST_LIVE_CHANNEL)) || + } else if (opcode == SHADER_OPCODE_FIND_LIVE_CHANNEL || + opcode == SHADER_OPCODE_FIND_LAST_LIVE_CHANNEL || opcode == FS_OPCODE_LOAD_LIVE_CHANNELS) { return flag_mask(this, 32); } else {