From 39d439fc48ef44d0a28113a10cb796cd8989f944 Mon Sep 17 00:00:00 2001 From: magumagu Date: Thu, 8 May 2014 16:53:18 -0700 Subject: Opcode decoding: handle missing opcodes 0x88 etc. Hardware testing shows that they do the same thing as the 0x80 family of opcodes: they draw quads. --- Source/Core/VideoCommon/VertexManagerBase.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Source/Core/VideoCommon/VertexManagerBase.cpp') diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp index 624631b805..29feabef4b 100644 --- a/Source/Core/VideoCommon/VertexManagerBase.cpp +++ b/Source/Core/VideoCommon/VertexManagerBase.cpp @@ -28,7 +28,7 @@ bool VertexManager::IsFlushed; static const PrimitiveType primitive_from_gx[8] = { PRIMITIVE_TRIANGLES, // GX_DRAW_QUADS - PRIMITIVE_TRIANGLES, // GX_DRAW_NONE + PRIMITIVE_TRIANGLES, // GX_DRAW_QUADS_2 PRIMITIVE_TRIANGLES, // GX_DRAW_TRIANGLES PRIMITIVE_TRIANGLES, // GX_DRAW_TRIANGLE_STRIP PRIMITIVE_TRIANGLES, // GX_DRAW_TRIANGLE_FAN @@ -93,6 +93,7 @@ u32 VertexManager::GetRemainingIndices(int primitive) switch (primitive) { case GX_DRAW_QUADS: + case GX_DRAW_QUADS_2: return index_len / 5 * 4; case GX_DRAW_TRIANGLES: return index_len / 4 * 3; @@ -118,6 +119,7 @@ u32 VertexManager::GetRemainingIndices(int primitive) switch (primitive) { case GX_DRAW_QUADS: + case GX_DRAW_QUADS_2: return index_len / 6 * 4; case GX_DRAW_TRIANGLES: return index_len; -- cgit v1.2.3