From 5df7a39c1b2579c1856a5ac2d7556c5afdfe050a Mon Sep 17 00:00:00 2001 From: Francisco Jerez Date: Thu, 23 Jan 2020 23:00:54 -0800 Subject: [PATCH] intel/fs/gen7: Fix fs_inst::flags_written() for SHADER_OPCODE_FIND_LIVE_CHANNEL. We need to pass a width of 32 since the opcode bashes the whole f1.0 register on IVB. This is unlikely to have caused problems since f1.0 is largely unused currently. That's likely to change soon though, even on platforms other than Gen7. Reviewed-by: Caio Marcelo de Oliveira Filho Cc: 20.0 (cherry picked from commit b8b509fb921a7c2f687b9f7e5075c72847740ac4) --- .pick_status.json | 2 +- src/intel/compiler/brw_fs.cpp | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index fe1d94a1559..11cf4439c02 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1030,7 +1030,7 @@ "description": "intel/fs/gen7: Fix fs_inst::flags_written() for SHADER_OPCODE_FIND_LIVE_CHANNEL.", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 855c99dcb9a..d54fa7a640b 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -1086,9 +1086,10 @@ fs_inst::flags_written() const opcode != BRW_OPCODE_CSEL && opcode != BRW_OPCODE_IF && opcode != BRW_OPCODE_WHILE)) || - opcode == SHADER_OPCODE_FIND_LIVE_CHANNEL || opcode == FS_OPCODE_FB_WRITE) { return flag_mask(this, 1); + } else if (opcode == SHADER_OPCODE_FIND_LIVE_CHANNEL) { + return flag_mask(this, 32); } else { return flag_mask(dst, size_written); }