Mesa (main): intel/fs: Teach IR about EOT instruction writing the accumulator implicitly on TGL+.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jun 23 08:15:44 UTC 2021
Module: Mesa
Branch: main
Commit: 63abc083ce5e03843d72465a76fdb93064bc3eb9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=63abc083ce5e03843d72465a76fdb93064bc3eb9
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue May 25 15:43:01 2021 -0700
intel/fs: Teach IR about EOT instruction writing the accumulator implicitly on TGL+.
This is unlikely to have had any negative side effect on the original
TGL, but will lead to issues on XeHP+ if the software scoreboard pass
isn't able to synchronize the accumulator writes.
Fixes: a27542c5ddec8 ("intel/compiler: Clear accumulator register before EOT")
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11433>
---
src/intel/compiler/brw_shader.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/intel/compiler/brw_shader.cpp b/src/intel/compiler/brw_shader.cpp
index 4aeff34474b..fdec1d535ac 100644
--- a/src/intel/compiler/brw_shader.cpp
+++ b/src/intel/compiler/brw_shader.cpp
@@ -1090,7 +1090,8 @@ backend_instruction::writes_accumulator_implicitly(const struct intel_device_inf
((opcode >= BRW_OPCODE_ADD && opcode < BRW_OPCODE_NOP) ||
(opcode >= FS_OPCODE_DDX_COARSE && opcode <= FS_OPCODE_LINTERP))) ||
(opcode == FS_OPCODE_LINTERP &&
- (!devinfo->has_pln || devinfo->ver <= 6));
+ (!devinfo->has_pln || devinfo->ver <= 6)) ||
+ (eot && devinfo->ver >= 12); /* See Wa_14010017096. */
}
bool
More information about the mesa-commit
mailing list