diff options
| author | magumagu <magumagu9@gmail.com> | 2014-05-08 16:53:18 -0700 |
|---|---|---|
| committer | magumagu <magumagu9@gmail.com> | 2014-05-10 20:33:28 -0700 |
| commit | 39d439fc48ef44d0a28113a10cb796cd8989f944 (patch) | |
| tree | 25a1cccde305a45ee57ae09b7432f3b40ceb1f2e /Source/Core/VideoCommon/VertexManagerBase.cpp | |
| parent | 2983ae2823cb8ff022d896c98df581064a6bb763 (diff) | |
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.
Diffstat (limited to 'Source/Core/VideoCommon/VertexManagerBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexManagerBase.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
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; |
