Mesa (main): r300: Remove unused RC_OPCODE_XPD.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Thu Dec 16 17:06:31 UTC 2021
Module: Mesa
Branch: main
Commit: a982d0baf3a9a9ff13d191cf7a61ec34b995eb15
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a982d0baf3a9a9ff13d191cf7a61ec34b995eb15
Author: Emma Anholt <emma at anholt.net>
Date: Wed Dec 8 12:19:56 2021 -0800
r300: Remove unused RC_OPCODE_XPD.
Nothing generates it in the backend.
Reviewed-by: Adam Jackson <ajax at redhat.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14211>
---
src/gallium/drivers/r300/compiler/radeon_opcodes.c | 7 -------
src/gallium/drivers/r300/compiler/radeon_opcodes.h | 3 ---
.../drivers/r300/compiler/radeon_program_alu.c | 21 +--------------------
src/gallium/drivers/r300/r300_reg.h | 1 -
4 files changed, 1 insertion(+), 31 deletions(-)
diff --git a/src/gallium/drivers/r300/compiler/radeon_opcodes.c b/src/gallium/drivers/r300/compiler/radeon_opcodes.c
index efc54725da9..e3043c23d53 100644
--- a/src/gallium/drivers/r300/compiler/radeon_opcodes.c
+++ b/src/gallium/drivers/r300/compiler/radeon_opcodes.c
@@ -344,12 +344,6 @@ const struct rc_opcode_info rc_opcodes[MAX_RC_OPCODE] = {
.HasDstReg = 1,
.IsComponentwise = 1
},
- {
- .Opcode = RC_OPCODE_XPD,
- .Name = "XPD",
- .NumSrcRegs = 2,
- .HasDstReg = 1
- },
{
.Opcode = RC_OPCODE_TEX,
.Name = "TEX",
@@ -549,7 +543,6 @@ void rc_compute_sources_for_writemask(
srcmasks[1] |= RC_MASK_XY;
break;
case RC_OPCODE_DP3:
- case RC_OPCODE_XPD:
srcmasks[0] |= RC_MASK_XYZ;
srcmasks[1] |= RC_MASK_XYZ;
break;
diff --git a/src/gallium/drivers/r300/compiler/radeon_opcodes.h b/src/gallium/drivers/r300/compiler/radeon_opcodes.h
index 472fd23be05..837374eaa7a 100644
--- a/src/gallium/drivers/r300/compiler/radeon_opcodes.h
+++ b/src/gallium/drivers/r300/compiler/radeon_opcodes.h
@@ -176,9 +176,6 @@ typedef enum {
/** vec4 instruction: dst.c = (abs(src0.c) - fract(abs(src0.c))) * sgn(src0.c) */
RC_OPCODE_TRUNC,
- /** special instruction, see ARB_fragment_program */
- RC_OPCODE_XPD,
-
RC_OPCODE_TEX,
RC_OPCODE_TXB,
RC_OPCODE_TXD,
diff --git a/src/gallium/drivers/r300/compiler/radeon_program_alu.c b/src/gallium/drivers/r300/compiler/radeon_program_alu.c
index 1b9c09f97b2..37d7167cd96 100644
--- a/src/gallium/drivers/r300/compiler/radeon_program_alu.c
+++ b/src/gallium/drivers/r300/compiler/radeon_program_alu.c
@@ -615,29 +615,12 @@ static void transform_SWZ(struct radeon_compiler* c,
inst->U.I.Opcode = RC_OPCODE_MOV;
}
-static void transform_XPD(struct radeon_compiler* c,
- struct rc_instruction* inst)
-{
- struct rc_dst_register dst = try_to_reuse_dst(c, inst);
-
- emit2(c, inst->Prev, RC_OPCODE_MUL, 0, dst,
- swizzle(inst->U.I.SrcReg[0], RC_SWIZZLE_Z, RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_W),
- swizzle(inst->U.I.SrcReg[1], RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_X, RC_SWIZZLE_W));
- emit3(c, inst->Prev, RC_OPCODE_MAD, &inst->U.I, inst->U.I.DstReg,
- swizzle(inst->U.I.SrcReg[0], RC_SWIZZLE_Y, RC_SWIZZLE_Z, RC_SWIZZLE_X, RC_SWIZZLE_W),
- swizzle(inst->U.I.SrcReg[1], RC_SWIZZLE_Z, RC_SWIZZLE_X, RC_SWIZZLE_Y, RC_SWIZZLE_W),
- negate(srcreg(RC_FILE_TEMPORARY, dst.Index)));
-
- rc_remove_instruction(inst);
-}
-
-
/**
* Can be used as a transformation for @ref radeonClauseLocalTransform,
* no userData necessary.
*
* Eliminates the following ALU instructions:
- * CEIL, DPH, DST, FLR, LIT, LRP, POW, SEQ, SFL, SGE, SGT, SLE, SLT, SNE, SUB, SWZ, XPD
+ * CEIL, DPH, DST, FLR, LIT, LRP, POW, SEQ, SFL, SGE, SGT, SLE, SLT, SNE, SUB, SWZ
* using:
* MOV, ADD, MUL, MAD, FRC, DP3, LG2, EX2, CMP
*
@@ -674,7 +657,6 @@ int radeonTransformALU(
case RC_OPCODE_SUB: transform_SUB(c, inst); return 1;
case RC_OPCODE_SWZ: transform_SWZ(c, inst); return 1;
case RC_OPCODE_TRUNC: transform_TRUNC(c, inst); return 1;
- case RC_OPCODE_XPD: transform_XPD(c, inst); return 1;
default:
return 0;
}
@@ -913,7 +895,6 @@ int r300_transform_vertex_alu(
case RC_OPCODE_SUB: transform_SUB(c, inst); return 1;
case RC_OPCODE_SWZ: transform_SWZ(c, inst); return 1;
case RC_OPCODE_TRUNC: transform_vertex_TRUNC(c, inst); return 1;
- case RC_OPCODE_XPD: transform_XPD(c, inst); return 1;
default:
return 0;
}
diff --git a/src/gallium/drivers/r300/r300_reg.h b/src/gallium/drivers/r300/r300_reg.h
index 56be6d690d9..80583538c77 100644
--- a/src/gallium/drivers/r300/r300_reg.h
+++ b/src/gallium/drivers/r300/r300_reg.h
@@ -1900,7 +1900,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
* - CMPH: If ARG2 > 0.5, return ARG0, else return ARG1
* - CMP: If ARG2 < 0, return ARG1, else return ARG0
* - FLR: use FRC+MAD
- * - XPD: use MAD+MAD
* - SGE, SLT: use MAD+CMP
* - RSQ: use ABS modifier for argument
* - Use OUTC_REPL_ALPHA to write results of an alpha-only operation
More information about the mesa-commit
mailing list