Module: Mesa Branch: main Commit: 3b1f82c7778a713748fa8236f7cdd3c4770fe591 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b1f82c7778a713748fa8236f7cdd3c4770fe591
Author: Gert Wollny <[email protected]> Date: Fri Apr 30 22:18:16 2021 +0200 r600/sfn: Fix ssbo/image atomic swap for Cayman 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 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp b/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp index d9aabf651a9..33b0e6b5702 100644 --- a/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_emitssboinstruction.cpp @@ -419,8 +419,7 @@ EmitSSBOInstruction::emit_ssbo_atomic_op(const nir_intrinsic_instr *intrin) if (intrin->intrinsic == nir_intrinsic_ssbo_atomic_comp_swap) { emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(0), from_nir(intrin->src[3], 0), {alu_write})); - // TODO: cayman wants channel 2 here - emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(3), + emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(get_chip_class() == CAYMAN ? 2 : 3), from_nir(intrin->src[2], 0), {alu_last_instr, alu_write})); } else { emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(0), @@ -491,7 +490,7 @@ EmitSSBOInstruction::emit_image_load(const nir_intrinsic_instr *intrin) if (intrin->intrinsic == nir_intrinsic_image_atomic_comp_swap) { emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(0), from_nir(intrin->src[4], 0), {alu_write})); - emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(3), + emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(get_chip_class() == CAYMAN ? 2 : 3), from_nir(intrin->src[3], 0), {alu_last_instr, alu_write})); } else { emit_instruction(new AluInstruction(op1_mov, m_rat_return_address.reg_i(0), _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
