Module: Mesa
Branch: main
Commit: a90d154f62d949e1d2315d7d09975fb1fcbce489
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a90d154f62d949e1d2315d7d09975fb1fcbce489

Author: Georg Lehmann <dadschoo...@gmail.com>
Date:   Sun Jan  7 11:22:19 2024 +0100

aco: fix applying input modifiers to DPP8

Cc: mesa-stable

Reviewed-by: Daniel Schürmann <dan...@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26919>

---

 src/amd/compiler/aco_optimizer.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/compiler/aco_optimizer.cpp 
b/src/amd/compiler/aco_optimizer.cpp
index ee852644b6e..daa0acaf824 100644
--- a/src/amd/compiler/aco_optimizer.cpp
+++ b/src/amd/compiler/aco_optimizer.cpp
@@ -1440,7 +1440,7 @@ label_instruction(opt_ctx& ctx, aco_ptr<Instruction>& 
instr)
             instr->operands[i].setTemp(info.temp);
          } else if (info.is_neg() && can_use_mod && mod_bitsize_compat &&
                     can_eliminate_fcanonicalize(ctx, instr, info.temp, i)) {
-            if (!instr->isDPP() && !instr->isSDWA())
+            if (!instr->isDPP16() && can_use_VOP3(ctx, instr))
                instr->format = asVOP3(instr->format);
             instr->operands[i].setTemp(info.temp);
             if (!instr->valu().abs[i])
@@ -1448,7 +1448,7 @@ label_instruction(opt_ctx& ctx, aco_ptr<Instruction>& 
instr)
          }
          if (info.is_abs() && can_use_mod && mod_bitsize_compat &&
              can_eliminate_fcanonicalize(ctx, instr, info.temp, i)) {
-            if (!instr->isDPP() && !instr->isSDWA())
+            if (!instr->isDPP16() && can_use_VOP3(ctx, instr))
                instr->format = asVOP3(instr->format);
             instr->operands[i] = Operand(info.temp);
             instr->valu().abs[i] = true;

Reply via email to