summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Software
diff options
context:
space:
mode:
authordegasus <wickmarkus@web.de>2015-12-05 12:18:31 +0100
committerdegasus <wickmarkus@web.de>2015-12-28 20:37:25 +0100
commit5d63a08a50504275a484c4fe8e98d13d7dbdc047 (patch)
tree82bccecc10c265c8ad1328be0a53d62013c7ae8e /Source/Core/VideoBackends/Software
parentaabcd441d9a9fa98565a6aaf82cf56b64b53767d (diff)
VideoSW: Clear Vertex data before usage
This must have no effect, everything else is usage of uninitialized memory.
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);