intel/fs: UNDEF fixup_nomask_control_flow temp register

Ensure that the register's liveness is not expanded to loops.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21853>
(cherry picked from commit adb8c30436)
This commit is contained in:
Lionel Landwerlin 2023-03-24 13:56:06 +02:00 committed by Dylan Baker
parent 600f80c8c2
commit ac5af2ddf2
2 changed files with 5 additions and 3 deletions

View file

@ -166,7 +166,7 @@
"description": "intel/fs: UNDEF fixup_nomask_control_flow temp register",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null
},

View file

@ -6571,10 +6571,12 @@ fs_visitor::fixup_nomask_control_flow()
*/
const bool save_flag = flag_liveout &
flag_mask(flag, dispatch_width / 8);
const fs_reg tmp = ubld.group(1, 0).vgrf(flag.type);
const fs_reg tmp = ubld.group(8, 0).vgrf(flag.type);
if (save_flag)
if (save_flag) {
ubld.group(8, 0).UNDEF(tmp);
ubld.group(1, 0).MOV(tmp, flag);
}
ubld.emit(FS_OPCODE_LOAD_LIVE_CHANNELS);