summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexManagerBase.cpp
diff options
context:
space:
mode:
authorFiora <fioraaeterna@gmail.com>2014-11-11 01:48:38 -0800
committerFiora <fioraaeterna@gmail.com>2014-11-20 02:13:19 -0800
commit3ddf82a318eef8091d58255c712965e3271bb296 (patch)
tree14372858775fe3449ecba35f2acb0bebc0eba6a7 /Source/Core/VideoCommon/VertexManagerBase.cpp
parentda962a3d2b035875518df079fd286337e85de371 (diff)
Vertex Loader: SSE implementations of more position/texcoord/normal formats
~35-45% faster NFS:HP2, possibly other vertex-bound games.
Diffstat (limited to 'Source/Core/VideoCommon/VertexManagerBase.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexManagerBase.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/VertexManagerBase.cpp b/Source/Core/VideoCommon/VertexManagerBase.cpp
index 7a18ba435b..dcd8780ede 100644
--- a/Source/Core/VideoCommon/VertexManagerBase.cpp
+++ b/Source/Core/VideoCommon/VertexManagerBase.cpp
@@ -53,7 +53,8 @@ u32 VertexManager::GetRemainingSize()
void VertexManager::PrepareForAdditionalData(int primitive, u32 count, u32 stride)
{
- u32 const needed_vertex_bytes = count * stride;
+ // The SSE vertex loader can write up to 4 bytes past the end
+ u32 const needed_vertex_bytes = count * stride + 4;
// We can't merge different kinds of primitives, so we have to flush here
if (current_primitive_type != primitive_from_gx[primitive])