summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2020-07-20 17:19:40 +0100
committerMarge Bot <eric+marge@anholt.net>2020-07-21 11:34:23 +0000
commit51bc11abc206ae5ea0946f5a79c68527701c24e0 (patch)
tree4d4df07feb672317bcfb397f958a008579a26fae
parent8b3452a556640ab2319248c304822a9f5e2e7394 (diff)
aco: always set FI on GFX10
bounds_ctrl is set to true by default which works around some game bugs, but that isn't enough on GFX10. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5991>
-rw-r--r--src/amd/compiler/aco_assembler.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_assembler.cpp b/src/amd/compiler/aco_assembler.cpp
index c36e8c9b51e..8d77951feff 100644
--- a/src/amd/compiler/aco_assembler.cpp
+++ b/src/amd/compiler/aco_assembler.cpp
@@ -622,6 +622,8 @@ void emit_instruction(asm_context& ctx, std::vector<uint32_t>& out, Instruction*
encoding |= dpp->neg[1] << 22;
encoding |= dpp->abs[0] << 21;
encoding |= dpp->neg[0] << 20;
+ if (ctx.chip_class >= GFX10)
+ encoding |= 1 << 18; /* set Fetch Inactive to match GFX9 behaviour */
encoding |= dpp->bound_ctrl << 19;
encoding |= dpp->dpp_ctrl << 8;
encoding |= (0xFF) & dpp_op.physReg();