Module: Mesa
Branch: staging/23.3
Commit: 848365f9ce03a35d69fbd542539c133fa5c611c4
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=848365f9ce03a35d69fbd542539c133fa5c611c4

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>
(cherry picked from commit a90d154f62d949e1d2315d7d09975fb1fcbce489)

---

 .pick_status.json                  | 2 +-
 src/amd/compiler/aco_optimizer.cpp | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index 0882b33d9e9..d34cab8de95 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -404,7 +404,7 @@
         "description": "aco: fix applying input modifiers to DPP8",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": null
diff --git a/src/amd/compiler/aco_optimizer.cpp 
b/src/amd/compiler/aco_optimizer.cpp
index 9fdbffc7994..fa9c34a68b6 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