Revert "intel/fs: limit register flag interaction of FIND_*LIVE_CHANNEL"

This reverts commit c9739e8912.

We don't have a full understanding of what is going on but reverting
definitely fixes a hang.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
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 <trayshar@t-online.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25563>
This commit is contained in:
Lionel Landwerlin 2023-10-05 15:18:50 +03:00
parent 07eede0970
commit 3f973a4f45

View file

@ -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 {