mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-02 20:58:04 +02:00
r300-gallium: vs: Add MAD.
This commit is contained in:
parent
00bb3deed2
commit
799f43f2e0
2 changed files with 9 additions and 0 deletions
|
|
@ -121,6 +121,8 @@ static uint32_t r300_vs_op(unsigned op)
|
|||
case TGSI_OPCODE_MOV:
|
||||
case TGSI_OPCODE_SWZ:
|
||||
return R300_VE_ADD;
|
||||
case TGSI_OPCODE_MAD:
|
||||
return R300_PVS_DST_MACRO_INST | R300_PVS_MACRO_OP_2CLK_MADD;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -198,6 +200,11 @@ static void r300_vs_instruction(struct r300_vertex_shader* vs,
|
|||
&inst->FullDstRegisters[0], inst->Instruction.Opcode,
|
||||
2);
|
||||
break;
|
||||
case TGSI_OPCODE_MAD:
|
||||
r300_vs_emit_inst(vs, assembler, inst->FullSrcRegisters,
|
||||
&inst->FullDstRegisters[0], inst->Instruction.Opcode,
|
||||
3);
|
||||
break;
|
||||
case TGSI_OPCODE_END:
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@
|
|||
#define R300_PVS_DST_OPCODE(x) ((x) << 0)
|
||||
# define R300_VE_MULTIPLY 2
|
||||
# define R300_VE_ADD 3
|
||||
#define R300_PVS_DST_MACRO_INST (1 << 7)
|
||||
# define R300_PVS_MACRO_OP_2CLK_MADD 0
|
||||
#define R300_PVS_DST_REG_TYPE(x) ((x) << 8)
|
||||
# define R300_PVS_DST_REG_TEMPORARY 0
|
||||
# define R300_PVS_DST_REG_A0 1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue