Module: Mesa Branch: main Commit: f8a5cba3b4265ccf088c05d9d44f36f42c961e0b URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8a5cba3b4265ccf088c05d9d44f36f42c961e0b
Author: Pavel Ondračka <pavel.ondra...@gmail.com> Date: Sat Dec 16 17:00:55 2023 +0100 r300: remove backend LRP lowering Reviewed-by: Filip Gawin <filip.ga...@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26816> --- src/gallium/drivers/r300/compiler/radeon_opcodes.c | 7 ------- src/gallium/drivers/r300/compiler/radeon_opcodes.h | 3 --- src/gallium/drivers/r300/compiler/radeon_program_alu.c | 17 ----------------- src/gallium/drivers/r300/r300_tgsi_to_rc.c | 1 - 4 files changed, 28 deletions(-) diff --git a/src/gallium/drivers/r300/compiler/radeon_opcodes.c b/src/gallium/drivers/r300/compiler/radeon_opcodes.c index 01f01aa8696..541d8829cb5 100644 --- a/src/gallium/drivers/r300/compiler/radeon_opcodes.c +++ b/src/gallium/drivers/r300/compiler/radeon_opcodes.c @@ -163,13 +163,6 @@ const struct rc_opcode_info rc_opcodes[MAX_RC_OPCODE] = { .NumSrcRegs = 1, .HasDstReg = 1 }, - { - .Opcode = RC_OPCODE_LRP, - .Name = "LRP", - .NumSrcRegs = 3, - .HasDstReg = 1, - .IsComponentwise = 1 - }, { .Opcode = RC_OPCODE_MAD, .Name = "MAD", diff --git a/src/gallium/drivers/r300/compiler/radeon_opcodes.h b/src/gallium/drivers/r300/compiler/radeon_opcodes.h index 19a9ff280bc..9a772d7147a 100644 --- a/src/gallium/drivers/r300/compiler/radeon_opcodes.h +++ b/src/gallium/drivers/r300/compiler/radeon_opcodes.h @@ -98,9 +98,6 @@ typedef enum { /** special instruction, see ARB_vertex_program */ RC_OPCODE_LOG, - /** vec4 instruction: dst.c = src0.c*src1.c + (1 - src0.c)*src2.c */ - RC_OPCODE_LRP, - /** vec4 instruction: dst.c = src0.c*src1.c + src2.c */ RC_OPCODE_MAD, diff --git a/src/gallium/drivers/r300/compiler/radeon_program_alu.c b/src/gallium/drivers/r300/compiler/radeon_program_alu.c index c809ff01c74..e0a8932e751 100644 --- a/src/gallium/drivers/r300/compiler/radeon_program_alu.c +++ b/src/gallium/drivers/r300/compiler/radeon_program_alu.c @@ -212,21 +212,6 @@ static void transform_DP2(struct radeon_compiler* c, rc_remove_instruction(inst); } -static void transform_LRP(struct radeon_compiler* c, - struct rc_instruction* inst) -{ - struct rc_dst_register dst = new_dst_reg(c, inst); - - emit3(c, inst->Prev, RC_OPCODE_MAD, NULL, - dst, - negate(inst->U.I.SrcReg[0]), inst->U.I.SrcReg[2], inst->U.I.SrcReg[2]); - emit3(c, inst->Prev, RC_OPCODE_MAD, &inst->U.I, - inst->U.I.DstReg, - inst->U.I.SrcReg[0], inst->U.I.SrcReg[1], srcreg(RC_FILE_TEMPORARY, dst.Index)); - - rc_remove_instruction(inst); -} - static void transform_RSQ(struct radeon_compiler* c, struct rc_instruction* inst) { @@ -341,7 +326,6 @@ int radeonTransformALU( switch(inst->U.I.Opcode) { case RC_OPCODE_DP2: transform_DP2(c, inst); return 1; case RC_OPCODE_KILP: transform_KILP(c, inst); return 1; - case RC_OPCODE_LRP: transform_LRP(c, inst); return 1; case RC_OPCODE_RSQ: transform_RSQ(c, inst); return 1; case RC_OPCODE_SEQ: transform_SEQ(c, inst); return 1; case RC_OPCODE_SGE: transform_SGE(c, inst); return 1; @@ -499,7 +483,6 @@ int r300_transform_vertex_alu( 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_LIT: transform_r300_vertex_fix_LIT(c, inst); return 1; - case RC_OPCODE_LRP: transform_LRP(c, inst); return 1; case RC_OPCODE_SEQ: if (!c->is_r500) { transform_r300_vertex_SEQ(c, inst); diff --git a/src/gallium/drivers/r300/r300_tgsi_to_rc.c b/src/gallium/drivers/r300/r300_tgsi_to_rc.c index afe809e05a2..fd4ebb8e640 100644 --- a/src/gallium/drivers/r300/r300_tgsi_to_rc.c +++ b/src/gallium/drivers/r300/r300_tgsi_to_rc.c @@ -52,7 +52,6 @@ static unsigned translate_opcode(unsigned opcode) case TGSI_OPCODE_SLT: return RC_OPCODE_SLT; case TGSI_OPCODE_SGE: return RC_OPCODE_SGE; case TGSI_OPCODE_MAD: return RC_OPCODE_MAD; - case TGSI_OPCODE_LRP: return RC_OPCODE_LRP; case TGSI_OPCODE_FRC: return RC_OPCODE_FRC; case TGSI_OPCODE_ROUND: return RC_OPCODE_ROUND; case TGSI_OPCODE_EX2: return RC_OPCODE_EX2;