summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
diff options
context:
space:
mode:
authorMarkus Wick <markus+github@selfnet.de>2015-01-18 04:59:16 +0100
committerMarkus Wick <markus+github@selfnet.de>2015-01-18 04:59:16 +0100
commit0acbb88aa26d9def1edecb653eac573a3152dd0d (patch)
treedbe00df4834f6a9e11c9b13f62088a8624cb466f /Source/Core/VideoBackends/Software/SWVertexLoader.cpp
parenta2d98ced67f20766d3085eda748d2082d1010788 (diff)
parent3630de99ed48e40279bd08107a49f3b055f73efd (diff)
Merge pull request #1905 from degasus/master
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);