diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c index 54e86794b48..347bb482f20 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler_nir_emit.c @@ -77,9 +77,19 @@ static const struct etna_op_info etna_ops[] = { /* type convert */ IOP(i2f32, I2F, 0_X_X), + IOP(i2i32, I2I, 0_X_X), + OPCT(i2i16, I2I, 0_X_X, TRUE, S16), + OPCT(i2i8, I2I, 0_X_X, TRUE, S8), UOP(u2f32, I2F, 0_X_X), + UOP(u2u32, I2I, 0_X_X), + OPCT(u2u16, I2I, 0_X_X, TRUE, U16), + OPCT(u2u8, I2I, 0_X_X, TRUE, U8), IOP(f2i32, F2I, 0_X_X), + OPCT(f2i16, F2I, 0_X_X, TRUE, S16), + OPCT(f2i8, F2I, 0_X_X, TRUE, S8), UOP(f2u32, F2I, 0_X_X), + OPCT(f2u16, F2I, 0_X_X, TRUE, U16), + OPCT(f2u8, F2I, 0_X_X, TRUE, U8), UOP(b2f32, AND, 0_X_X), /* AND with fui(1.0f) */ UOP(b2i32, AND, 0_X_X), /* AND with 1 */ diff --git a/src/gallium/drivers/etnaviv/etnaviv_disasm.c b/src/gallium/drivers/etnaviv/etnaviv_disasm.c index 67eb400e074..fea8cb36dd8 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_disasm.c +++ b/src/gallium/drivers/etnaviv/etnaviv_disasm.c @@ -501,6 +501,7 @@ static const struct opc_info { OPC(FLOOR), OPC(CEIL), OPC(SIGN), + OPC(I2I), OPC(I2F), OPC(F2I), OPC(CMP),