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

Author: Gert Wollny <[email protected]>
Date:   Fri Apr 30 23:26:37 2021 +0200

r600/sfn: Fix Cayman SSBO write with more than one value

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

---

 src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp 
b/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp
index 33b0e6b5702..8db6bd7bb45 100644
--- a/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp
@@ -350,7 +350,7 @@ bool EmitSSBOInstruction::emit_store_ssbo(const 
nir_intrinsic_instr* instr)
    m_store_ops.push_back(store);
 
    for (unsigned i = 1; i < nir_src_num_components(instr->src[0]); ++i) {
-      emit_instruction(new AluInstruction(op1_mov, temp2.reg_i(0), 
from_nir(instr->src[0], i), write));
+      emit_instruction(new AluInstruction(op1_mov, temp2.reg_i(0), 
from_nir(instr->src[0], i), get_chip_class() == CAYMAN  ?  last_write : write));
       emit_instruction(new AluInstruction(op2_add_int, addr_vec.reg_i(0),
                                           {addr_vec.reg_i(0), Value::one_i}, 
last_write));
       store = new RatInstruction(cf_op, RatInstruction::STORE_TYPED,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to