From 010a0d481ad0f5dd19182eafc411feec387404db Mon Sep 17 00:00:00 2001 From: degasus Date: Thu, 30 Jan 2014 15:51:20 +0100 Subject: VideoCommon: remove Cache Displaylist This option was known to break every second game and only boost a bit. It also seems to be broken because of streaming into pinned memory and buffer storage buffers. v2: also remove dlc_desc --- Source/Core/VideoCommon/VertexLoader.cpp | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'Source/Core/VideoCommon/VertexLoader.cpp') diff --git a/Source/Core/VideoCommon/VertexLoader.cpp b/Source/Core/VideoCommon/VertexLoader.cpp index 45bfec384a..03f480dac8 100644 --- a/Source/Core/VideoCommon/VertexLoader.cpp +++ b/Source/Core/VideoCommon/VertexLoader.cpp @@ -915,17 +915,6 @@ void VertexLoader::ConvertVertices ( int count ) #endif } -void VertexLoader::RunCompiledVertices(int vtx_attr_group, int primitive, int const count, u8* Data) -{ - auto const new_count = SetupRunVertices(vtx_attr_group, primitive, count); - - memcpy_gc(VertexManager::s_pCurBufferPointer, Data, native_stride * new_count); - VertexManager::s_pCurBufferPointer += native_stride * new_count; - DataSkip(new_count * m_VertexSize); - - VertexManager::AddVertices(primitive, new_count); -} - void VertexLoader::SetVAT(u32 _group0, u32 _group1, u32 _group2) { VAT vat; -- cgit v1.2.3 From 3437c7f060a63b13f0f353949a53a0be25ad4585 Mon Sep 17 00:00:00 2001 From: degasus Date: Thu, 30 Jan 2014 14:48:23 +0100 Subject: VideoCommon: small VertexLoader(Manager)? refactoring --- Source/Core/VideoCommon/VertexLoader.cpp | 38 ++++++++++++++++---------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'Source/Core/VideoCommon/VertexLoader.cpp') diff --git a/Source/Core/VideoCommon/VertexLoader.cpp b/Source/Core/VideoCommon/VertexLoader.cpp index 03f480dac8..a2825da1c7 100644 --- a/Source/Core/VideoCommon/VertexLoader.cpp +++ b/Source/Core/VideoCommon/VertexLoader.cpp @@ -19,6 +19,7 @@ #include "BPMemory.h" #include "DataReader.h" #include "VertexManagerBase.h" +#include "IndexGenerator.h" #include "VertexLoader_Position.h" #include "VertexLoader_Normal.h" @@ -836,7 +837,7 @@ void VertexLoader::WriteSetVariable(int bits, void *address, OpArg value) } #endif -int VertexLoader::SetupRunVertices(int vtx_attr_group, int primitive, int const count) +void VertexLoader::SetupRunVertices(int vtx_attr_group, int primitive, int const count) { m_numLoadedVertices += count; @@ -851,13 +852,6 @@ int VertexLoader::SetupRunVertices(int vtx_attr_group, int primitive, int const } g_nativeVertexFmt = m_NativeFmt; - if (bpmem.genMode.cullmode == 3 && primitive < 5) - { - // if cull mode is none, ignore triangles and quads - DataSkip(count * m_VertexSize); - return 0; - } - // Load position and texcoord scale factors. m_VtxAttr.PosFrac = g_VtxAttr[vtx_attr_group].g0.PosFrac; m_VtxAttr.texCoord[0].Frac = g_VtxAttr[vtx_attr_group].g0.Tex0Frac; @@ -881,17 +875,6 @@ int VertexLoader::SetupRunVertices(int vtx_attr_group, int primitive, int const s_bbox_primitive = primitive; s_bbox_currPoint = 0; s_bbox_loadedPoints = 0; - - VertexManager::PrepareForAdditionalData(primitive, count, native_stride); - - return count; -} - -void VertexLoader::RunVertices(int vtx_attr_group, int primitive, int const count) -{ - auto const new_count = SetupRunVertices(vtx_attr_group, primitive, count); - ConvertVertices(new_count); - VertexManager::AddVertices(primitive, new_count); } void VertexLoader::ConvertVertices ( int count ) @@ -915,6 +898,23 @@ void VertexLoader::ConvertVertices ( int count ) #endif } +void VertexLoader::RunVertices(int vtx_attr_group, int primitive, int const count) +{ + if (bpmem.genMode.cullmode == 3 && primitive < 5) + { + // if cull mode is none, ignore triangles and quads + DataSkip(count * m_VertexSize); + return; + } + SetupRunVertices(vtx_attr_group, primitive, count); + VertexManager::PrepareForAdditionalData(primitive, count, native_stride); + ConvertVertices(count); + IndexGenerator::AddIndices(primitive, count); + + ADDSTAT(stats.thisFrame.numPrims, count); + INCSTAT(stats.thisFrame.numPrimitiveJoins); +} + void VertexLoader::SetVAT(u32 _group0, u32 _group1, u32 _group2) { VAT vat; -- cgit v1.2.3