VertexLoader: do not prepare for vertices if we need to skip them
This commit is contained in:
parent
99dc069b9a
commit
16f180524c
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
#include "Core/Host.h"
|
#include "Core/Host.h"
|
||||||
|
|
||||||
#include "VideoCommon/BPMemory.h"
|
|
||||||
#include "VideoCommon/DataReader.h"
|
#include "VideoCommon/DataReader.h"
|
||||||
#include "VideoCommon/LookUpTables.h"
|
#include "VideoCommon/LookUpTables.h"
|
||||||
#include "VideoCommon/PixelEngine.h"
|
#include "VideoCommon/PixelEngine.h"
|
||||||
|
@ -840,12 +839,6 @@ void VertexLoader::ConvertVertices ( int count )
|
||||||
|
|
||||||
void VertexLoader::RunVertices(const VAT& vat, int primitive, int const count)
|
void VertexLoader::RunVertices(const VAT& vat, 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(vat, primitive, count);
|
SetupRunVertices(vat, primitive, count);
|
||||||
ConvertVertices(count);
|
ConvertVertices(count);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include "Core/HW/Memmap.h"
|
#include "Core/HW/Memmap.h"
|
||||||
|
|
||||||
|
#include "VideoCommon/BPMemory.h"
|
||||||
#include "VideoCommon/IndexGenerator.h"
|
#include "VideoCommon/IndexGenerator.h"
|
||||||
#include "VideoCommon/Statistics.h"
|
#include "VideoCommon/Statistics.h"
|
||||||
#include "VideoCommon/VertexLoader.h"
|
#include "VideoCommon/VertexLoader.h"
|
||||||
|
@ -145,6 +146,13 @@ void RunVertices(int vtx_attr_group, int primitive, int count)
|
||||||
return;
|
return;
|
||||||
VertexLoader* loader = RefreshLoader(vtx_attr_group);
|
VertexLoader* loader = RefreshLoader(vtx_attr_group);
|
||||||
|
|
||||||
|
if (bpmem.genMode.cullmode == GenMode::CULL_ALL && primitive < 5)
|
||||||
|
{
|
||||||
|
// if cull mode is CULL_ALL, ignore triangles and quads
|
||||||
|
DataSkip(count * loader->GetVertexSize());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// If the native vertex format changed, force a flush.
|
// If the native vertex format changed, force a flush.
|
||||||
NativeVertexFormat* required_vtx_fmt = GetNativeVertexFormat(
|
NativeVertexFormat* required_vtx_fmt = GetNativeVertexFormat(
|
||||||
loader->GetNativeVertexDeclaration(),
|
loader->GetNativeVertexDeclaration(),
|
||||||
|
|
Loading…
Reference in New Issue