r300: Remove unused RC_OPCODE_DPH
authorEmma Anholt <emma@anholt.net>
Wed, 8 Dec 2021 20:30:20 +0000 (12:30 -0800)
committerMarge Bot <emma+marge@anholt.net>
Thu, 16 Dec 2021 16:57:02 +0000 (16:57 +0000)
Nothing generates it in the backend.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14211>

src/gallium/drivers/r300/compiler/radeon_opcodes.c
src/gallium/drivers/r300/compiler/radeon_opcodes.h
src/gallium/drivers/r300/compiler/radeon_pair_schedule.c
src/gallium/drivers/r300/compiler/radeon_program_alu.c

index b448b90..7ca4cdf 100644 (file)
@@ -121,12 +121,6 @@ const struct rc_opcode_info rc_opcodes[MAX_RC_OPCODE] = {
                .HasDstReg = 1
        },
        {
-               .Opcode = RC_OPCODE_DPH,
-               .Name = "DPH",
-               .NumSrcRegs = 2,
-               .HasDstReg = 1
-       },
-       {
                .Opcode = RC_OPCODE_DST,
                .Name = "DST",
                .NumSrcRegs = 2,
@@ -529,10 +523,6 @@ void rc_compute_sources_for_writemask(
                        srcmasks[0] |= RC_MASK_XYZW;
                        srcmasks[1] |= RC_MASK_XYZW;
                        break;
-               case RC_OPCODE_DPH:
-                       srcmasks[0] |= RC_MASK_XYZ;
-                       srcmasks[1] |= RC_MASK_XYZW;
-                       break;
                case RC_OPCODE_TXB:
                case RC_OPCODE_TXP:
                case RC_OPCODE_TXL:
index b48bf11..acce9f5 100644 (file)
@@ -77,9 +77,6 @@ typedef enum {
        /** scalar instruction: dst = src0.x*src1.x + src0.y*src1.y + src0.z*src1.z + src0.w*src1.w */
        RC_OPCODE_DP4,
 
-       /** scalar instruction: dst = src0.x*src1.x + src0.y*src1.y + src0.z*src1.z + src1.w */
-       RC_OPCODE_DPH,
-
        /** special instruction, see ARB_fragment_program */
        RC_OPCODE_DST,
 
index f652d0f..579bd30 100644 (file)
@@ -802,7 +802,6 @@ static int can_convert_opcode_to_alpha(unsigned int opcode)
        case RC_OPCODE_DP2:
        case RC_OPCODE_DP3:
        case RC_OPCODE_DP4:
-       case RC_OPCODE_DPH:
                return 0;
        default:
                return 1;
index 5090216..8b813ea 100644 (file)
@@ -261,17 +261,6 @@ static void transform_DP2(struct radeon_compiler* c,
        rc_remove_instruction(inst);
 }
 
-static void transform_DPH(struct radeon_compiler* c,
-       struct rc_instruction* inst)
-{
-       struct rc_src_register src0 = inst->U.I.SrcReg[0];
-       src0.Negate &= ~RC_MASK_W;
-       src0.Swizzle &= ~(7 << (3 * 3));
-       src0.Swizzle |= RC_SWIZZLE_ONE << (3 * 3);
-       emit2(c, inst->Prev, RC_OPCODE_DP4, &inst->U.I, inst->U.I.DstReg, src0, inst->U.I.SrcReg[1]);
-       rc_remove_instruction(inst);
-}
-
 /**
  * [1, src0.y*src1.y, src0.z, src1.w]
  * So basically MUL with lotsa swizzling.
@@ -591,7 +580,7 @@ static void transform_SUB(struct radeon_compiler* c,
  * no userData necessary.
  *
  * Eliminates the following ALU instructions:
- *  CEIL, DPH, DST, FLR, LIT, LRP, POW, SEQ, SGE, SGT, SLE, SLT, SNE, SUB
+ *  CEIL, DST, FLR, LIT, LRP, POW, SEQ, SGE, SGT, SLE, SLT, SNE, SUB
  * using:
  *  MOV, ADD, MUL, MAD, FRC, DP3, LG2, EX2, CMP
  *
@@ -608,7 +597,6 @@ int radeonTransformALU(
        switch(inst->U.I.Opcode) {
        case RC_OPCODE_CEIL: transform_CEIL(c, inst); return 1;
        case RC_OPCODE_DP2: transform_DP2(c, inst); return 1;
-       case RC_OPCODE_DPH: transform_DPH(c, inst); return 1;
        case RC_OPCODE_DST: transform_DST(c, inst); return 1;
        case RC_OPCODE_FLR: transform_FLR(c, inst); return 1;
        case RC_OPCODE_LIT: transform_LIT(c, inst); return 1;
@@ -839,7 +827,6 @@ int r300_transform_vertex_alu(
        case RC_OPCODE_CMP: transform_r300_vertex_CMP(c, inst); return 1;
        case RC_OPCODE_DP2: transform_r300_vertex_DP2(c, inst); return 1;
        case RC_OPCODE_DP3: transform_r300_vertex_DP3(c, inst); return 1;
-       case RC_OPCODE_DPH: transform_DPH(c, inst); return 1;
        case RC_OPCODE_FLR: transform_FLR(c, inst); return 1;
        case RC_OPCODE_LIT: transform_r300_vertex_fix_LIT(c, inst); return 1;
        case RC_OPCODE_LRP: transform_LRP(c, inst); return 1;