From 836b9b9acbc2ff2d10d6f3c81e64b7b10b22f023 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 30 Apr 2017 18:07:57 +1000 Subject: Renderer: Move cull mode to a rasterization state object Also moves logic for primitive handling to VideoCommon. --- .../Core/VideoBackends/Software/SWVertexLoader.cpp | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'Source/Core/VideoBackends/Software/SWVertexLoader.cpp') diff --git a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp index 5442785934..a00fc057d8 100644 --- a/Source/Core/VideoBackends/Software/SWVertexLoader.cpp +++ b/Source/Core/VideoBackends/Software/SWVertexLoader.cpp @@ -62,16 +62,17 @@ void SWVertexLoader::vFlush() u8 primitiveType = 0; switch (m_current_primitive_type) { - case PRIMITIVE_POINTS: + case PrimitiveType::Points: primitiveType = OpcodeDecoder::GX_DRAW_POINTS; break; - case PRIMITIVE_LINES: + case PrimitiveType::Lines: primitiveType = OpcodeDecoder::GX_DRAW_LINES; break; - case PRIMITIVE_TRIANGLES: - primitiveType = g_ActiveConfig.backend_info.bSupportsPrimitiveRestart ? - OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP : - OpcodeDecoder::GX_DRAW_TRIANGLES; + case PrimitiveType::Triangles: + primitiveType = OpcodeDecoder::GX_DRAW_TRIANGLES; + break; + case PrimitiveType::TriangleStrip: + primitiveType = OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP; break; } @@ -89,13 +90,6 @@ void SWVertexLoader::vFlush() for (u32 i = 0; i < IndexGenerator::GetIndexLen(); i++) { const u16 index = m_local_index_buffer[i]; - - if (index == 0xffff) - { - // primitive restart - m_setup_unit.Init(primitiveType); - continue; - } memset(&m_vertex, 0, sizeof(m_vertex)); // Super Mario Sunshine requires those to be zero for those debug boxes. -- cgit v1.2.3