Add many new opcodes: DPH,SGE,SLT,EX2,LG2,FLR,LRP
This commit is contained in:
parent
07099be5bb
commit
fb190d38d5
@ -4,31 +4,54 @@ enum
|
||||
MAESTRO_ADD = 0x00,
|
||||
MAESTRO_DP3,
|
||||
MAESTRO_DP4,
|
||||
|
||||
MAESTRO_MUL = 0x08,
|
||||
|
||||
MAESTRO_MAX = 0x0C,
|
||||
MAESTRO_DPH,
|
||||
MAESTRO_unk4,
|
||||
MAESTRO_EX2,
|
||||
MAESTRO_LG2,
|
||||
MAESTRO_unk7,
|
||||
MAESTRO_MUL,
|
||||
MAESTRO_SGE,
|
||||
MAESTRO_SLT,
|
||||
MAESTRO_FLR,
|
||||
MAESTRO_MAX,
|
||||
MAESTRO_MIN,
|
||||
MAESTRO_RCP,
|
||||
MAESTRO_RSQ,
|
||||
|
||||
MAESTRO_ARL = 0x12,
|
||||
MAESTRO_unk10,
|
||||
MAESTRO_unk11,
|
||||
MAESTRO_ARL,
|
||||
MAESTRO_MOV,
|
||||
MAESTRO_unk14,
|
||||
MAESTRO_unk15,
|
||||
MAESTRO_unk16,
|
||||
MAESTRO_unk17,
|
||||
MAESTRO_DPHI,
|
||||
MAESTRO_unk19,
|
||||
MAESTRO_SGEI,
|
||||
MAESTRO_SLTI,
|
||||
MAESTRO_unk1C,
|
||||
MAESTRO_unk1D,
|
||||
MAESTRO_unk1E,
|
||||
MAESTRO_unk1F,
|
||||
|
||||
MAESTRO_NOP = 0x21,
|
||||
MAESTRO_unk20,
|
||||
MAESTRO_NOP,
|
||||
MAESTRO_END,
|
||||
|
||||
MAESTRO_CALL = 0x24,
|
||||
|
||||
MAESTRO_CALLC = 0x26,
|
||||
MAESTRO_IFB,
|
||||
MAESTRO_IF, // ???
|
||||
|
||||
MAESTRO_EMIT = 0x2A, // Geometry shader related
|
||||
MAESTRO_BREAKC,
|
||||
MAESTRO_CALL,
|
||||
MAESTRO_CALLC,
|
||||
MAESTRO_CALLU,
|
||||
MAESTRO_IFU,
|
||||
MAESTRO_IFC,
|
||||
MAESTRO_FOR,
|
||||
MAESTRO_EMIT, // Geometry shader related
|
||||
MAESTRO_SETEMIT, // Geometry shader related
|
||||
MAESTRO_JMPC,
|
||||
MAESTRO_JMPU,
|
||||
MAESTRO_CMP, // only the upper 5 bits are used for the opcode
|
||||
|
||||
MAESTRO_CMP = 0x2E,
|
||||
MAESTRO_CMP2, // ???
|
||||
|
||||
MAESTRO_MAD = 0x38, // only the upper 3 bits are used for the opcode
|
||||
// Only the upper 3 bits are used for the following opcodes
|
||||
MAESTRO_LRP = 0x30,
|
||||
MAESTRO_MAD = 0x38,
|
||||
};
|
||||
|
@ -532,7 +532,7 @@ DEF_COMMAND(format1)
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEF_COMMAND(format2)
|
||||
DEF_COMMAND(format1u)
|
||||
{
|
||||
NEXT_ARG(destName);
|
||||
NEXT_ARG(src1Name);
|
||||
@ -552,7 +552,7 @@ DEF_COMMAND(format2)
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEF_COMMAND(format3)
|
||||
DEF_COMMAND(format5)
|
||||
{
|
||||
NEXT_ARG(destName);
|
||||
NEXT_ARG(src1Name);
|
||||
@ -579,7 +579,7 @@ DEF_COMMAND(format3)
|
||||
return 0;
|
||||
}
|
||||
|
||||
DEF_COMMAND(format4)
|
||||
DEF_COMMAND(formatarl)
|
||||
{
|
||||
NEXT_ARG(src1Name);
|
||||
ENSURE_NO_MORE_ARGS();
|
||||
@ -605,17 +605,23 @@ static const cmdTableType cmdTable[] =
|
||||
DEC_COMMAND(ADD, format1),
|
||||
DEC_COMMAND(DP3, format1),
|
||||
DEC_COMMAND(DP4, format1),
|
||||
DEC_COMMAND(DPH, format1),
|
||||
DEC_COMMAND(MUL, format1),
|
||||
DEC_COMMAND(SGE, format1),
|
||||
DEC_COMMAND(SLT, format1),
|
||||
DEC_COMMAND(MAX, format1),
|
||||
DEC_COMMAND(MIN, format1),
|
||||
|
||||
DEC_COMMAND(RCP, format2),
|
||||
DEC_COMMAND(RSQ, format2),
|
||||
DEC_COMMAND(MOV, format2),
|
||||
DEC_COMMAND(EX2, format1u),
|
||||
DEC_COMMAND(LG2, format1u),
|
||||
DEC_COMMAND(FLR, format1u),
|
||||
DEC_COMMAND(RCP, format1u),
|
||||
DEC_COMMAND(RSQ, format1u),
|
||||
DEC_COMMAND(ARL, formatarl),
|
||||
DEC_COMMAND(MOV, format1u),
|
||||
|
||||
DEC_COMMAND(MAD, format3),
|
||||
|
||||
DEC_COMMAND(ARL, format4),
|
||||
DEC_COMMAND(LRP, format5),
|
||||
DEC_COMMAND(MAD, format5),
|
||||
|
||||
{ nullptr, nullptr },
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user