Merge pull request #355 from magumagu/gx-missing-opcode

Opcode decoding: handle missing opcodes 0x88 etc.
This commit is contained in:
Tony Wasserka
2014-05-18 11:12:06 +02:00
6 changed files with 36 additions and 16 deletions

View File

@ -27,8 +27,11 @@ namespace OpcodeDecoder
#define GX_PRIMITIVE_SHIFT 3
#define GX_VAT_MASK 0x07
//these are defined 1/8th of their real values and without their top bit
// 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

View File

@ -27,6 +27,10 @@ void SetupUnit::SetupVertex()
case GX_DRAW_QUADS:
SetupQuad();
break;
case GX_DRAW_QUADS_2:
WARN_LOG(VIDEO, "Non-standard primitive drawing command GL_DRAW_QUADS_2");
SetupQuad();
break;
case GX_DRAW_TRIANGLES:
SetupTriangle();
break;