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

Author: Gert Wollny <[email protected]>
Date:   Sun Oct 15 21:56:04 2023 +0200

r600/sfn: Don't override a chgr pinning during copy propagation

Fixes: c0b6c59e0 (r600/sfn: Copy propagate into TEX source)
Related: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9998

Signed-off-by: Gert Wollny <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25741>

---

 src/gallium/drivers/r600/sfn/sfn_optimizer.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp 
b/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
index 5ab1e880cad..f8bc69fe0b0 100644
--- a/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_optimizer.cpp
@@ -640,7 +640,8 @@ CopyPropFwdVisitor::propagate_to(RegisterVec4& value, Instr 
*instr)
 
          value.set_value(i, new_src[i]);
 
-         if (new_src[i]->pin() != pin_fully) {
+         if (new_src[i]->pin() != pin_fully &&
+             new_src[i]->pin() != pin_chgr) {
             if (new_src[i]->pin() == pin_chan)
                new_src[i]->set_pin(pin_chgr);
             else

Reply via email to