summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2015-01-18 04:22:36 +0100
committerdegasus <wickmarkus@web.de>2015-01-18 04:52:56 +0100
commit3630de99ed48e40279bd08107a49f3b055f73efd (patch)
treeb69cd757ed75916c0c1874823a52e3169b868c22 /Source/Core/VideoBackends/Software/SWVertexLoader.cpp
parentdbdae093cc435e46a65091758de597f216f8be7b (diff)
VideoSW: Fix vertex skipping
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWVertexLoader.cpp')
-rw-r--r--Source/Core/VideoBackends/Software/SWVertexLoader.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
index ca26868636..752cea9a5b 100644
--- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
+++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
@@ -173,13 +173,16 @@ void SWVertexLoader::LoadVertex()
// convert the vertex from the gc format to the videocommon (hardware optimized) format
u8* old = g_video_buffer_read_ptr;
- m_CurrentLoader->RunVertices(
+ int converted_vertices = m_CurrentLoader->RunVertices(
m_primitiveType, 1,
DataReader(g_video_buffer_read_ptr, nullptr), // src
DataReader(m_LoadedVertices.data(), m_LoadedVertices.data() + m_LoadedVertices.size()) // dst
);
g_video_buffer_read_ptr = old + m_CurrentLoader->m_VertexSize;
+ if (converted_vertices == 0)
+ return;
+
// parse the videocommon format to our own struct format (m_Vertex)
ParseVertex(vdec);