summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/OpcodeDecoding.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2014-12-09 08:35:04 +0100
committerdegasus <wickmarkus@web.de>2014-12-09 18:56:27 +0100
commit3fc7e55cc4623c1c49efb4c317ab0202499bb5fd (patch)
tree209e1cfa9fdd77efb6c4cead86c4b797b6d1edd1 /Source/Core/VideoCommon/OpcodeDecoding.cpp
parent02cdb41d3d3eec73d2c843fe865ff906e01b44a4 (diff)
VideoCommon: clean up VertexLoader
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.cpp')
-rw-r--r--Source/Core/VideoCommon/OpcodeDecoding.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/OpcodeDecoding.cpp b/Source/Core/VideoCommon/OpcodeDecoding.cpp
index 12a9d5b350..34b821605f 100644
--- a/Source/Core/VideoCommon/OpcodeDecoding.cpp
+++ b/Source/Core/VideoCommon/OpcodeDecoding.cpp
@@ -275,13 +275,17 @@ u8* OpcodeDecoder_Run(DataReader src, u32* cycles, bool in_display_list)
}
else
{
- if (!VertexLoaderManager::RunVertices(
+ int bytes = VertexLoaderManager::RunVertices(
cmd_byte & GX_VAT_MASK, // Vertex loader index (0 - 7)
(cmd_byte & GX_PRIMITIVE_MASK) >> GX_PRIMITIVE_SHIFT,
num_vertices,
src,
- g_bSkipCurrentFrame))
+ g_bSkipCurrentFrame);
+
+ if (bytes < 0)
goto end;
+ else
+ src.Skip(bytes);
}
totalCycles += 1600;
}