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

Author: Gert Wollny <[email protected]>
Date:   Thu Sep 15 17:50:45 2022 +0200

r600/sfn: Handle shifts on Cayman

Fixes: 00599f6e7161065c51812174ca18427b9867f63f
  r600/sfn: Schedule shift instruction on R600 in t-slot

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

---

 src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp 
b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp
index bfb51259ff1..e54d3342a43 100644
--- a/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp
+++ b/src/gallium/drivers/r600/sfn/sfn_instr_alu.cpp
@@ -1223,6 +1223,9 @@ bool AluInstr::from_nir(nir_alu_instr *alu, Shader& 
shader)
       case nir_op_umul_high: return emit_alu_trans_op2_cayman(*alu, 
op2_mulhi_uint, shader);
       case nir_op_f2u32: return emit_alu_op1(*alu, op1_flt_to_uint, shader);
       case nir_op_f2i32: return emit_alu_op1(*alu, op1_flt_to_int, shader);
+      case nir_op_ishl: return emit_alu_op2_int(*alu, op2_lshl_int, shader);
+      case nir_op_ishr: return emit_alu_op2_int(*alu, op2_ashr_int, shader);
+      case nir_op_ushr: return emit_alu_op2_int(*alu, op2_lshr_int, shader);
       default:
          ;
       }

Reply via email to