diff options
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.h')
| -rw-r--r-- | Source/Core/VideoCommon/OpcodeDecoding.h | 65 |
1 files changed, 37 insertions, 28 deletions
diff --git a/Source/Core/VideoCommon/OpcodeDecoding.h b/Source/Core/VideoCommon/OpcodeDecoding.h index df462e0c30..3d2e5c8361 100644 --- a/Source/Core/VideoCommon/OpcodeDecoding.h +++ b/Source/Core/VideoCommon/OpcodeDecoding.h @@ -8,39 +8,48 @@ class DataReader; -#define GX_NOP 0x00 -#define GX_UNKNOWN_RESET 0x01 - -#define GX_LOAD_BP_REG 0x61 -#define GX_LOAD_CP_REG 0x08 -#define GX_LOAD_XF_REG 0x10 -#define GX_LOAD_INDX_A 0x20 -#define GX_LOAD_INDX_B 0x28 -#define GX_LOAD_INDX_C 0x30 -#define GX_LOAD_INDX_D 0x38 - -#define GX_CMD_CALL_DL 0x40 -#define GX_CMD_UNKNOWN_METRICS 0x44 -#define GX_CMD_INVL_VC 0x48 - -#define GX_PRIMITIVE_MASK 0x78 -#define GX_PRIMITIVE_SHIFT 3 -#define GX_VAT_MASK 0x07 +namespace OpcodeDecoder +{ +enum +{ + GX_NOP = 0x00, + GX_UNKNOWN_RESET = 0x01, + + GX_LOAD_BP_REG = 0x61, + GX_LOAD_CP_REG = 0x08, + GX_LOAD_XF_REG = 0x10, + GX_LOAD_INDX_A = 0x20, + GX_LOAD_INDX_B = 0x28, + GX_LOAD_INDX_C = 0x30, + GX_LOAD_INDX_D = 0x38, + + GX_CMD_CALL_DL = 0x40, + GX_CMD_UNKNOWN_METRICS = 0x44, + GX_CMD_INVL_VC = 0x48 +}; + +enum +{ + GX_PRIMITIVE_MASK = 0x78, + GX_PRIMITIVE_SHIFT = 3, + GX_VAT_MASK = 0x07 +}; // These values are the values extracted using GX_PRIMITIVE_MASK // and GX_PRIMITIVE_SHIFT. // GX_DRAW_QUADS_2 behaves the same way as GX_DRAW_QUADS. -#define GX_DRAW_QUADS 0x0 // 0x80 -#define GX_DRAW_QUADS_2 0x1 // 0x88 -#define GX_DRAW_TRIANGLES 0x2 // 0x90 -#define GX_DRAW_TRIANGLE_STRIP 0x3 // 0x98 -#define GX_DRAW_TRIANGLE_FAN 0x4 // 0xA0 -#define GX_DRAW_LINES 0x5 // 0xA8 -#define GX_DRAW_LINE_STRIP 0x6 // 0xB0 -#define GX_DRAW_POINTS 0x7 // 0xB8 - -namespace OpcodeDecoder +enum { + GX_DRAW_QUADS = 0x0, // 0x80 + GX_DRAW_QUADS_2 = 0x1, // 0x88 + GX_DRAW_TRIANGLES = 0x2, // 0x90 + GX_DRAW_TRIANGLE_STRIP = 0x3, // 0x98 + GX_DRAW_TRIANGLE_FAN = 0x4, // 0xA0 + GX_DRAW_LINES = 0x5, // 0xA8 + GX_DRAW_LINE_STRIP = 0x6, // 0xB0 + GX_DRAW_POINTS = 0x7 // 0xB8 +}; + void Init(); template <bool is_preprocess = false> |
