v3d/compiler: Add unpacking instructions for normalised 16bit formats.

Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35820>
This commit is contained in:
Ella Stanforth 2025-06-29 15:21:56 +01:00 committed by Marge Bot
parent 8ad47b67b8
commit 0a640f42c5
4 changed files with 21 additions and 0 deletions

View file

@ -1488,6 +1488,11 @@ VIR_M_ALU1(FTOSNORM16)
VIR_M_ALU1(VFTOUNORM8)
VIR_M_ALU1(VFTOSNORM8)
VIR_M_ALU1(FUNPACKUNORMLO)
VIR_M_ALU1(FUNPACKUNORMHI)
VIR_M_ALU1(FUNPACKSNORMLO)
VIR_M_ALU1(FUNPACKSNORMHI)
VIR_M_ALU1(VFTOUNORM10LO)
VIR_M_ALU1(VFTOUNORM10HI)

View file

@ -216,6 +216,10 @@ v3d_qpu_mul_op_name(enum v3d_qpu_mul_op op)
[V3D_QPU_M_FTOSNORM16] = "ftosnorm16",
[V3D_QPU_M_VFTOUNORM8] = "vftounorm8",
[V3D_QPU_M_VFTOSNORM8] = "vftosnorm8",
[V3D_QPU_M_FUNPACKUNORMLO] = "funpackunormlo",
[V3D_QPU_M_FUNPACKUNORMHI] = "funpackunormhi",
[V3D_QPU_M_FUNPACKSNORMLO] = "funpacksnormlo",
[V3D_QPU_M_FUNPACKSNORMHI] = "funpacksnormhi",
[V3D_QPU_M_VFTOUNORM10LO] = "vftounorm10lo",
[V3D_QPU_M_VFTOUNORM10HI] = "vftounorm10hi",
};
@ -515,6 +519,10 @@ static const uint8_t mul_op_args[] = {
[V3D_QPU_M_FTOSNORM16] = D | A,
[V3D_QPU_M_VFTOUNORM8] = D | A,
[V3D_QPU_M_VFTOSNORM8] = D | A,
[V3D_QPU_M_FUNPACKUNORMLO] = D | A,
[V3D_QPU_M_FUNPACKUNORMHI] = D | A,
[V3D_QPU_M_FUNPACKSNORMLO] = D | A,
[V3D_QPU_M_FUNPACKSNORMHI] = D | A,
[V3D_QPU_M_VFTOUNORM10LO] = D | A,
[V3D_QPU_M_VFTOUNORM10HI] = D | A,
};

View file

@ -261,6 +261,10 @@ enum v3d_qpu_mul_op {
V3D_QPU_M_FTOSNORM16,
V3D_QPU_M_VFTOUNORM8,
V3D_QPU_M_VFTOSNORM8,
V3D_QPU_M_FUNPACKUNORMLO,
V3D_QPU_M_FUNPACKUNORMHI,
V3D_QPU_M_FUNPACKSNORMLO,
V3D_QPU_M_FUNPACKSNORMHI,
V3D_QPU_M_VFTOUNORM10LO,
V3D_QPU_M_VFTOUNORM10HI,
};

View file

@ -773,6 +773,10 @@ static const struct opcode_desc v3d71_mul_ops[] = {
{ 14, 14, .raddr_mask = OP_MASK(33), V3D_QPU_M_FTOSNORM16, 71 },
{ 14, 14, .raddr_mask = OP_MASK(34), V3D_QPU_M_VFTOUNORM8, 71 },
{ 14, 14, .raddr_mask = OP_MASK(35), V3D_QPU_M_VFTOSNORM8, 71 },
{ 14, 14, .raddr_mask = OP_MASK(36), V3D_QPU_M_FUNPACKUNORMLO, 71 },
{ 14, 14, .raddr_mask = OP_MASK(37), V3D_QPU_M_FUNPACKUNORMHI, 71 },
{ 14, 14, .raddr_mask = OP_MASK(38), V3D_QPU_M_FUNPACKSNORMLO, 71 },
{ 14, 14, .raddr_mask = OP_MASK(39), V3D_QPU_M_FUNPACKSNORMHI, 71 },
{ 14, 14, .raddr_mask = OP_MASK(48), V3D_QPU_M_VFTOUNORM10LO, 71 },
{ 14, 14, .raddr_mask = OP_MASK(49), V3D_QPU_M_VFTOUNORM10HI, 71 },