#include "Main.h"
String GetPrimitiveTypeString(D3DPRIMITIVETYPE Type)
{
switch(Type)
{
case D3DPT_POINTLIST:
return "PointList";
case D3DPT_LINELIST:
return "LineList";
case D3DPT_LINESTRIP:
return "LineStrip";
case D3DPT_TRIANGLELIST:
return "TriangleList";
case D3DPT_TRIANGLESTRIP:
return "TriangleStrip";
case D3DPT_TRIANGLEFAN:
return "TriangleFan";
default:
return "Invalid";
}
}
String GetDeclUsageString(D3DDECLUSAGE Usage)
{
switch(Usage)
{
case D3DDECLUSAGE_POSITION:
return "POSITION";
case D3DDECLUSAGE_BLENDWEIGHT:
return "BLENDWEIGHT";
case D3DDECLUSAGE_BLENDINDICES:
return "BLENDINDICES";
case D3DDECLUSAGE_NORMAL:
return "NORMAL";
case D3DDECLUSAGE_PSIZE:
return "PSIZE";
case D3DDECLUSAGE_TEXCOORD:
return "TEXCOORD";
case D3DDECLUSAGE_TANGENT:
return "TANGENT";
case D3DDECLUSAGE_BINORMAL:
return "BINORMAL";
case D3DDECLUSAGE_TESSFACTOR:
return "TESSFACTOR";
case D3DDECLUSAGE_POSITIONT:
return "POSITIONT";
case D3DDECLUSAGE_COLOR:
return "COLOR";
case D3DDECLUSAGE_FOG:
return "FOG";
case D3DDECLUSAGE_DEPTH:
return "DEPTH";
case D3DDECLUSAGE_SAMPLE:
return "SAMPLE";
default:
return "ERROR";
}
}
String GetSwizzleChannelString(D3DSHADER_SWIZZLE_CHANNEL Channel)
{
switch(Channel)
{
case D3DSWC_X:
return "x";
case D3DSWC_Y:
return "y";
case D3DSWC_Z:
return "z";
case D3DSWC_W:
return "w";
default:
return "ERROR";
}
}
String GetRegisterTypeString(D3DSHADER_PARAM_REGISTER_TYPE RegisterType)
{
switch(RegisterType)
{
case D3DSPR_TEMP:
return "r";
case D3DSPR_INPUT:
return "v";
case D3DSPR_CONST:
return "c";
case D3DSPR_ADDR:
return "a";
case D3DSPR_RASTOUT:
return "RASTOUT";
case D3DSPR_ATTROUT:
return "oColor";
case D3DSPR_TEXCRDOUT:
return "oT";
case D3DSPR_CONSTINT:
return "ci";
case D3DSPR_COLOROUT:
return "co";
case D3DSPR_DEPTHOUT:
return "do";
case D3DSPR_SAMPLER:
return "SAMPLER";
case D3DSPR_CONST2:
return "CONST2";
case D3DSPR_CONST3:
return "CONST3";
case D3DSPR_CONST4:
return "CONST4";
case D3DSPR_CONSTBOOL:
return "cb";
case D3DSPR_LOOP:
return "aL";
case D3DSPR_TEMPFLOAT16:
return "TEMPFLOAT16";
case D3DSPR_MISCTYPE:
return "MISCTYPE";
case D3DSPR_LABEL:
return "LABEL";
case D3DSPR_PREDICATE:
return "PREDICATE";
default:
return "ERROR";
}
}
String GetRegisterTypeString(D3DSHADER_PARAM_REGISTER_TYPE RegisterType, UINT Offset)
{
if(RegisterType == D3DSPR_RASTOUT)
{
if(Offset == 0)
{
return "oPos";
}
else if(Offset == 1)
{
return "oFog";
}
}
return GetRegisterTypeString(RegisterType) + String(Offset);
}
String GetInstructionOpCodeString(D3DSHADER_INSTRUCTION_OPCODE_TYPE OpCode)
{
switch(OpCode)
{
case D3DSIO_NOP:
return "NOP";
case D3DSIO_MOV:
return "MOV";
case D3DSIO_ADD:
return "ADD";
case D3DSIO_SUB:
return "SUB";
case D3DSIO_MAD:
return "MAD";
case D3DSIO_MUL:
return "MUL";
case D3DSIO_RCP:
return "RCP";
case D3DSIO_RSQ:
return "RSQ";
case D3DSIO_DP3:
return "DP3";
case D3DSIO_DP4:
return "DP4";
case D3DSIO_MIN:
return "MIN";
case D3DSIO_MAX:
return "MAX";
case D3DSIO_SLT:
return "SLT";
case D3DSIO_SGE:
return "SGE";
case D3DSIO_EXP:
return "EXP";
case D3DSIO_LOG:
return "LOG";
case D3DSIO_LIT:
return "LIT";
case D3DSIO_DST:
return "DST";
case D3DSIO_LRP:
return "LRP";
case D3DSIO_FRC:
return "FRC";
case D3DSIO_M4x4:
return "M4x4";
case D3DSIO_M4x3:
return "M4x3";
case D3DSIO_M3x4:
return "M3x4";
case D3DSIO_M3x3:
return "M3x3";
case D3DSIO_M3x2:
return "M3x2";
case D3DSIO_CALL:
return "CALL";
case D3DSIO_CALLNZ:
return "CALLNZ";
case D3DSIO_LOOP:
return "LOOP";
case D3DSIO_RET:
return "RET";
case D3DSIO_ENDLOOP:
return "ENDLOOP";
case D3DSIO_LABEL:
return "LABEL";
case D3DSIO_DCL:
return "DCL";
case D3DSIO_POW:
return "POW";
case D3DSIO_CRS:
return "CRS";
case D3DSIO_SGN:
return "SGN";
case D3DSIO_ABS:
return "ABS";
case D3DSIO_NRM:
return "NRM";
case D3DSIO_SINCOS:
return "SINCOS";
case D3DSIO_REP:
return "REP";
case D3DSIO_ENDREP:
return "ENDREP";
case D3DSIO_IF:
return "IF";
case D3DSIO_IFC:
return "IFC";
case D3DSIO_ELSE:
return "ELSE";
case D3DSIO_ENDIF:
return "ENDIF";
case D3DSIO_BREAK:
return "BREAK";
case D3DSIO_BREAKC:
return "BREAKC";
case D3DSIO_MOVA:
return "MOVA";
case D3DSIO_DEFB:
return "DEFB";
case D3DSIO_DEFI:
return "DEFI";
case D3DSIO_TEXCOORD:
return "TEXCOORD";
case D3DSIO_TEXKILL:
return "TEXKILL";
case D3DSIO_TEX:
return "TEX";
case D3DSIO_TEXBEM:
return "TEXBEM";
case D3DSIO_TEXBEML:
return "TEXBEML";
case D3DSIO_TEXREG2AR:
return "TEXREG2AR";
case D3DSIO_TEXREG2GB:
return "TEXREG2GB";
case D3DSIO_TEXM3x2PAD:
return "TEXM3x2PAD";
case D3DSIO_TEXM3x2TEX:
return "TEXM3x2TEX";
case D3DSIO_TEXM3x3PAD:
return "TEXM3x3PAD";
case D3DSIO_TEXM3x3TEX:
return "TEXM3x3TEX";
case D3DSIO_RESERVED0:
return "RESERVED0";
case D3DSIO_TEXM3x3SPEC:
return "TEXM3x3SPEC";
case D3DSIO_TEXM3x3VSPEC:
return "TEXM3x3VSPEC";
case D3DSIO_EXPP:
return "EXPP";
case D3DSIO_LOGP:
return "LOGP";
case D3DSIO_CND:
return "CND";
case D3DSIO_DEF:
return "DEF";
case D3DSIO_TEXREG2RGB:
return "TEXREG2RGB";
case D3DSIO_TEXDP3TEX:
return "TEXDP3TEX";
case D3DSIO_TEXM3x2DEPTH:
return "TEXM3x2DEPTH";
case D3DSIO_TEXDP3:
return "TEXDP3";
case D3DSIO_TEXM3x3:
return "TEXM3x3";
case D3DSIO_TEXDEPTH:
return "TEXDEPTH";
case D3DSIO_CMP:
return "CMP";
case D3DSIO_BEM:
return "BEM";
case D3DSIO_DP2ADD:
return "DP2ADD";
case D3DSIO_DSX:
return "DSX";
case D3DSIO_DSY:
return "DSY";
case D3DSIO_TEXLDD:
return "TEXLDD";
case D3DSIO_SETP:
return "SETP";
case D3DSIO_TEXLDL:
return "TEXLDL";
case D3DSIO_BREAKP:
return "BREAKP";
case D3DSIO_PHASE:
return "PHASE";
case D3DSIO_COMMENT:
return "COMMENT";
case D3DSIO_END:
return "END";
default:
return "ERROR";
}
}