r300-gallium: vs: Add MAX.

This commit is contained in:
Corbin Simpson 2009-05-08 22:52:32 -07:00
parent e669ce01d4
commit 9b10777148
2 changed files with 8 additions and 0 deletions

View file

@ -135,6 +135,8 @@ static uint32_t r300_vs_op(unsigned op)
case TGSI_OPCODE_MOV:
case TGSI_OPCODE_SWZ:
return R300_VE_ADD;
case TGSI_OPCODE_MAX:
return R300_VE_MAXIMUM;
case TGSI_OPCODE_RSQ:
return R300_PVS_DST_MATH_INST | R300_ME_RECIP_DX;
case TGSI_OPCODE_MAD:
@ -271,6 +273,11 @@ static void r300_vs_instruction(struct r300_vertex_shader* vs,
&inst->FullDstRegisters[0], inst->Instruction.Opcode,
2, FALSE);
break;
case TGSI_OPCODE_MAX:
r300_vs_emit_inst(vs, assembler, inst->FullSrcRegisters,
&inst->FullDstRegisters[0], inst->Instruction.Opcode,
2, FALSE);
break;
case TGSI_OPCODE_MAD:
r300_vs_emit_inst(vs, assembler, inst->FullSrcRegisters,
&inst->FullDstRegisters[0], inst->Instruction.Opcode,

View file

@ -35,6 +35,7 @@
# define R300_VE_DOT_PRODUCT 1
# define R300_VE_MULTIPLY 2
# define R300_VE_ADD 3
# define R300_VE_MAXIMUM 7
#define R300_PVS_DST_MATH_INST (1 << 6)
# define R300_ME_RECIP_DX 6
#define R300_PVS_DST_MACRO_INST (1 << 7)