summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/VertexLoaderManager.cpp
diff options
context:
space:
mode:
authorScott Mansell <phiren@gmail.com>2015-01-24 14:37:20 +1300
committerScott Mansell <phiren@gmail.com>2015-01-24 14:41:51 +1300
commit14baf038e70a598a6af1ce71719bb557425941f9 (patch)
treebf9deadbc7b3453db3ed20d89f211cb30f3f98e3 /Source/Core/VideoCommon/VertexLoaderManager.cpp
parent5510c86b8133ec734ba490b700d4f432d98f71a7 (diff)
Stop doing nastly shit to OpenGL stream buffers.
Instead we keep the loaded vertices in CPU memory.
Diffstat (limited to 'Source/Core/VideoCommon/VertexLoaderManager.cpp')
-rw-r--r--Source/Core/VideoCommon/VertexLoaderManager.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/VertexLoaderManager.cpp b/Source/Core/VideoCommon/VertexLoaderManager.cpp
index 9cc8861186..e0115a0d29 100644
--- a/Source/Core/VideoCommon/VertexLoaderManager.cpp
+++ b/Source/Core/VideoCommon/VertexLoaderManager.cpp
@@ -157,8 +157,12 @@ int RunVertices(int vtx_attr_group, int primitive, int count, DataReader src, bo
VertexManager::Flush();
s_current_vtx_fmt = loader->m_native_vertex_format;
+ // if cull mode is CULL_ALL, tell VertexManager to skip triangles and quads.
+ // They still need to go through vertex loading, because we need to calculate a zfreeze refrence slope.
+ bool cullall = (bpmem.genMode.cullmode == GenMode::CULL_ALL && primitive < 5);
+
DataReader dst = VertexManager::PrepareForAdditionalData(primitive, count,
- loader->m_native_vtx_decl.stride);
+ loader->m_native_vtx_decl.stride, cullall);
count = loader->RunVertices(primitive, count, src, dst);