[Shader JIT] Stub EMIT/SETEMIT
This commit is contained in:
@@ -80,6 +80,7 @@ class ShaderEmitter : public Xbyak::CodeGenerator {
|
|||||||
void recCMP(const PICAShader& shader, u32 instruction);
|
void recCMP(const PICAShader& shader, u32 instruction);
|
||||||
void recDP3(const PICAShader& shader, u32 instruction);
|
void recDP3(const PICAShader& shader, u32 instruction);
|
||||||
void recDP4(const PICAShader& shader, u32 instruction);
|
void recDP4(const PICAShader& shader, u32 instruction);
|
||||||
|
void recEMIT(const PICAShader& shader, u32 instruction);
|
||||||
void recEND(const PICAShader& shader, u32 instruction);
|
void recEND(const PICAShader& shader, u32 instruction);
|
||||||
void recFLR(const PICAShader& shader, u32 instruction);
|
void recFLR(const PICAShader& shader, u32 instruction);
|
||||||
void recIFC(const PICAShader& shader, u32 instruction);
|
void recIFC(const PICAShader& shader, u32 instruction);
|
||||||
@@ -95,6 +96,7 @@ class ShaderEmitter : public Xbyak::CodeGenerator {
|
|||||||
void recMUL(const PICAShader& shader, u32 instruction);
|
void recMUL(const PICAShader& shader, u32 instruction);
|
||||||
void recRCP(const PICAShader& shader, u32 instruction);
|
void recRCP(const PICAShader& shader, u32 instruction);
|
||||||
void recRSQ(const PICAShader& shader, u32 instruction);
|
void recRSQ(const PICAShader& shader, u32 instruction);
|
||||||
|
void recSETEMIT(const PICAShader& shader, u32 instruction);
|
||||||
void recSGE(const PICAShader& shader, u32 instruction);
|
void recSGE(const PICAShader& shader, u32 instruction);
|
||||||
void recSGEI(const PICAShader& shader, u32 instruction);
|
void recSGEI(const PICAShader& shader, u32 instruction);
|
||||||
void recSLT(const PICAShader& shader, u32 instruction);
|
void recSLT(const PICAShader& shader, u32 instruction);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace ShaderOpcodes {
|
|||||||
ADD = 0x00,
|
ADD = 0x00,
|
||||||
DP3 = 0x01,
|
DP3 = 0x01,
|
||||||
DP4 = 0x02,
|
DP4 = 0x02,
|
||||||
|
DPH = 0x03,
|
||||||
MUL = 0x08,
|
MUL = 0x08,
|
||||||
SLT = 0x0A,
|
SLT = 0x0A,
|
||||||
FLR = 0x0B,
|
FLR = 0x0B,
|
||||||
@@ -35,6 +36,8 @@ namespace ShaderOpcodes {
|
|||||||
IFU = 0x27,
|
IFU = 0x27,
|
||||||
IFC = 0x28,
|
IFC = 0x28,
|
||||||
LOOP = 0x29,
|
LOOP = 0x29,
|
||||||
|
EMIT = 0x2A,
|
||||||
|
SETEMIT = 0x2B,
|
||||||
JMPC = 0x2C,
|
JMPC = 0x2C,
|
||||||
JMPU = 0x2D,
|
JMPU = 0x2D,
|
||||||
CMP1 = 0x2E, // Both of these instructions are CMP
|
CMP1 = 0x2E, // Both of these instructions are CMP
|
||||||
|
|||||||
@@ -150,6 +150,11 @@ void ShaderEmitter::compileInstruction(const PICAShader& shaderUnit) {
|
|||||||
case ShaderOpcodes::RCP: recRCP(shaderUnit, instruction); break;
|
case ShaderOpcodes::RCP: recRCP(shaderUnit, instruction); break;
|
||||||
case ShaderOpcodes::RSQ: recRSQ(shaderUnit, instruction); break;
|
case ShaderOpcodes::RSQ: recRSQ(shaderUnit, instruction); break;
|
||||||
|
|
||||||
|
case ShaderOpcodes::EMIT:
|
||||||
|
case ShaderOpcodes::SETEMIT:
|
||||||
|
emitPrintLog(shaderUnit);
|
||||||
|
break;
|
||||||
|
|
||||||
// We consider both MAD and MADI to be the same instruction and decode which one we actually have in recMAD
|
// We consider both MAD and MADI to be the same instruction and decode which one we actually have in recMAD
|
||||||
case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
|
case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
|
||||||
case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3E: case 0x3F:
|
case 0x38: case 0x39: case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3E: case 0x3F:
|
||||||
|
|||||||
Reference in New Issue
Block a user