diff options
| author | degasus <wickmarkus@web.de> | 2015-12-05 12:18:31 +0100 |
|---|---|---|
| committer | degasus <wickmarkus@web.de> | 2015-12-28 20:37:25 +0100 |
| commit | 5d63a08a50504275a484c4fe8e98d13d7dbdc047 (patch) | |
| tree | 82bccecc10c265c8ad1328be0a53d62013c7ae8e /Source/Core/VideoBackends/Software | |
| parent | aabcd441d9a9fa98565a6aaf82cf56b64b53767d (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.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/Software/SetupUnit.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/Software/SetupUnit.h | 2 |
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); |
