v3d: add missing plumbing for VPM load instructions
We will need to use LDVPMG_IN specifically to read VPM inputs in geometry shaders. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
This commit is contained in:
@@ -998,6 +998,10 @@ VIR_A_ALU0(TIDX)
|
||||
VIR_A_ALU0(EIDX)
|
||||
VIR_A_ALU1(LDVPMV_IN)
|
||||
VIR_A_ALU1(LDVPMV_OUT)
|
||||
VIR_A_ALU1(LDVPMD_IN)
|
||||
VIR_A_ALU1(LDVPMD_OUT)
|
||||
VIR_A_ALU2(LDVPMG_IN)
|
||||
VIR_A_ALU2(LDVPMG_OUT)
|
||||
VIR_A_ALU0(TMUWT)
|
||||
|
||||
VIR_A_ALU0(FXCD)
|
||||
|
||||
@@ -521,7 +521,9 @@ static const struct opcode_desc add_ops[] = {
|
||||
|
||||
{ 187, 187, 1 << 3, ANYMUX, V3D_QPU_A_VPMSETUP, 33 },
|
||||
{ 188, 188, 1 << 0, ANYMUX, V3D_QPU_A_LDVPMV_IN, 40 },
|
||||
{ 188, 188, 1 << 0, ANYMUX, V3D_QPU_A_LDVPMV_OUT, 40 },
|
||||
{ 188, 188, 1 << 1, ANYMUX, V3D_QPU_A_LDVPMD_IN, 40 },
|
||||
{ 188, 188, 1 << 1, ANYMUX, V3D_QPU_A_LDVPMD_OUT, 40 },
|
||||
{ 188, 188, 1 << 2, ANYMUX, V3D_QPU_A_LDVPMP, 40 },
|
||||
{ 188, 188, 1 << 3, ANYMUX, V3D_QPU_A_RSQRT, 41 },
|
||||
{ 188, 188, 1 << 4, ANYMUX, V3D_QPU_A_EXP, 41 },
|
||||
@@ -529,6 +531,7 @@ static const struct opcode_desc add_ops[] = {
|
||||
{ 188, 188, 1 << 6, ANYMUX, V3D_QPU_A_SIN, 41 },
|
||||
{ 188, 188, 1 << 7, ANYMUX, V3D_QPU_A_RSQRT2, 41 },
|
||||
{ 189, 189, ANYMUX, ANYMUX, V3D_QPU_A_LDVPMG_IN, 40 },
|
||||
{ 189, 189, ANYMUX, ANYMUX, V3D_QPU_A_LDVPMG_OUT, 40 },
|
||||
|
||||
/* FIXME: MORE COMPLICATED */
|
||||
/* { 190, 191, ANYMUX, ANYMUX, V3D_QPU_A_VFMOVABSNEGNAB }, */
|
||||
|
||||
Reference in New Issue
Block a user