summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2016-01-06 21:56:02 +0100
committerMarkus Wick <degasus@users.noreply.github.com>2016-01-06 21:56:02 +0100
commit05fdf0398b260f5e09b7a881336a2dcbcef074df (patch)
treee09eca06b9ae14ab0730d9585599b6e023e438f5 /Source/Core/VideoBackends/Software
parente3da5644187243c106dd0e0c0470f5ccd38274d4 (diff)
parent5d63a08a50504275a484c4fe8e98d13d7dbdc047 (diff)
Merge pull request #3313 from degasus/videosw
VideoSW: Clear Vertex data before usage
Diffstat (limited to 'Source/Core/VideoBackends/Software')
-rw-r--r--Source/Core/VideoBackends/Software/SWVertexLoader.cpp2
-rw-r--r--Source/Core/VideoBackends/Software/SetupUnit.cpp6
-rw-r--r--Source/Core/VideoBackends/Software/SetupUnit.h2
3 files changed, 9 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
index 9d050770ac..bda8714f00 100644
--- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
+++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp
@@ -34,6 +34,8 @@ SWVertexLoader::~SWVertexLoader()
void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType)
{
+ memset(&m_Vertex, 0, sizeof(m_Vertex));
+
m_attributeIndex = attributeIndex;
VertexLoaderUID uid(g_main_cp_state.vtx_desc, g_main_cp_state.vtx_attr[m_attributeIndex]);
diff --git a/Source/Core/VideoBackends/Software/SetupUnit.cpp b/Source/Core/VideoBackends/Software/SetupUnit.cpp
index e8604d78ee..e433ae17f0 100644
--- a/Source/Core/VideoBackends/Software/SetupUnit.cpp
+++ b/Source/Core/VideoBackends/Software/SetupUnit.cpp
@@ -21,6 +21,12 @@ void SetupUnit::Init(u8 primitiveType)
m_VertWritePointer = m_VertPointer[0];
}
+OutputVertexData* SetupUnit::GetVertex()
+{
+ memset(m_VertWritePointer, 0, sizeof(*m_VertWritePointer));
+ return m_VertWritePointer;
+}
+
void SetupUnit::SetupVertex()
{
switch (m_PrimType)
diff --git a/Source/Core/VideoBackends/Software/SetupUnit.h b/Source/Core/VideoBackends/Software/SetupUnit.h
index 9ee22f5412..c68d6b9c73 100644
--- a/Source/Core/VideoBackends/Software/SetupUnit.h
+++ b/Source/Core/VideoBackends/Software/SetupUnit.h
@@ -29,7 +29,7 @@ class SetupUnit
public:
void Init(u8 primitiveType);
- OutputVertexData* GetVertex() { return m_VertWritePointer; }
+ OutputVertexData* GetVertex();
void SetupVertex();
void DoState(PointerWrap &p);