From: Gert Wollny Date: Sat, 23 May 2020 15:55:50 +0000 (+0200) Subject: r600/sfn: Fix mapping for f32tof64 and f64tof32 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eccf939b6f2a0bc44313a5bdc0f079003f6bd2cc;p=mesa.git r600/sfn: Fix mapping for f32tof64 and f64tof32 We define the mapping based on the vector unit opcode. Closes #3013 Signed-off-by: Gert Wollny Part-of: --- diff --git a/src/gallium/drivers/r600/sfn/sfn_alu_defines.h b/src/gallium/drivers/r600/sfn/sfn_alu_defines.h index 3d270bd2deb..337f436c4ce 100644 --- a/src/gallium/drivers/r600/sfn/sfn_alu_defines.h +++ b/src/gallium/drivers/r600/sfn/sfn_alu_defines.h @@ -61,7 +61,7 @@ enum EAluOp { op0_nop = 26, op2_mul_64 = 27, op1_flt64_to_flt32 = 28, - op1v_flt32_to_flt64 = 29, + op1_flt32_to_flt64 = 29, op2_pred_setgt_uint = 30, op2_pred_setge_uint = 31, op2_pred_sete = 32, @@ -190,7 +190,7 @@ enum EAluOp { op2_add_64 = 203, op1_mova_int = 204, op1v_flt64_to_flt32 = 205, - op1_flt32_to_flt64 = 206, + op1v_flt32_to_flt64 = 206, op2_sad_accum_prev_uint = 207, op2_dot = 208, op2_mul_prev = 209, diff --git a/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp b/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp index e378d0480af..dd6e9f63c07 100644 --- a/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_ir_to_assembly.cpp @@ -1258,8 +1258,8 @@ const std::map opcode_map = { {op1_mov, ALU_OP1_MOV}, {op0_nop, ALU_OP0_NOP}, {op2_mul_64, ALU_OP2_MUL_64}, - {op1_flt64_to_flt32, ALU_OP1_FLT64_TO_FLT32}, - {op1v_flt64_to_flt32, ALU_OP1_FLT32_TO_FLT64}, + {op1v_flt64_to_flt32, ALU_OP1_FLT64_TO_FLT32}, + {op1v_flt32_to_flt64, ALU_OP1_FLT32_TO_FLT64}, {op2_pred_setgt_uint, ALU_OP2_PRED_SETGT_UINT}, {op2_pred_setge_uint, ALU_OP2_PRED_SETGE_UINT}, {op2_pred_sete, ALU_OP2_PRED_SETE},