From 3aaeb2b9ef3f6b9cde69c77ecdf96e8defc996d5 Mon Sep 17 00:00:00 2001 From: Pokechu22 Date: Fri, 30 Apr 2021 14:57:12 -0700 Subject: Convert OpcodeDecoder::Opcode and OpcodeDecoder::Primitive to enum class --- Source/Core/VideoCommon/IndexGenerator.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'Source/Core/VideoCommon/IndexGenerator.cpp') diff --git a/Source/Core/VideoCommon/IndexGenerator.cpp b/Source/Core/VideoCommon/IndexGenerator.cpp index d71f6c8292..be2dc99e3a 100644 --- a/Source/Core/VideoCommon/IndexGenerator.cpp +++ b/Source/Core/VideoCommon/IndexGenerator.cpp @@ -202,25 +202,27 @@ u16* AddPoints(u16* index_ptr, u32 num_verts, u32 index) void IndexGenerator::Init() { + using OpcodeDecoder::Primitive; + if (g_Config.backend_info.bSupportsPrimitiveRestart) { - m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS] = AddQuads; - m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS_2] = AddQuads_nonstandard; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLES] = AddList; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP] = AddStrip; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_FAN] = AddFan; + m_primitive_table[Primitive::GX_DRAW_QUADS] = AddQuads; + m_primitive_table[Primitive::GX_DRAW_QUADS_2] = AddQuads_nonstandard; + m_primitive_table[Primitive::GX_DRAW_TRIANGLES] = AddList; + m_primitive_table[Primitive::GX_DRAW_TRIANGLE_STRIP] = AddStrip; + m_primitive_table[Primitive::GX_DRAW_TRIANGLE_FAN] = AddFan; } else { - m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS] = AddQuads; - m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS_2] = AddQuads_nonstandard; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLES] = AddList; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP] = AddStrip; - m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_FAN] = AddFan; + m_primitive_table[Primitive::GX_DRAW_QUADS] = AddQuads; + m_primitive_table[Primitive::GX_DRAW_QUADS_2] = AddQuads_nonstandard; + m_primitive_table[Primitive::GX_DRAW_TRIANGLES] = AddList; + m_primitive_table[Primitive::GX_DRAW_TRIANGLE_STRIP] = AddStrip; + m_primitive_table[Primitive::GX_DRAW_TRIANGLE_FAN] = AddFan; } - m_primitive_table[OpcodeDecoder::GX_DRAW_LINES] = AddLineList; - m_primitive_table[OpcodeDecoder::GX_DRAW_LINE_STRIP] = AddLineStrip; - m_primitive_table[OpcodeDecoder::GX_DRAW_POINTS] = AddPoints; + m_primitive_table[Primitive::GX_DRAW_LINES] = AddLineList; + m_primitive_table[Primitive::GX_DRAW_LINE_STRIP] = AddLineStrip; + m_primitive_table[Primitive::GX_DRAW_POINTS] = AddPoints; } void IndexGenerator::Start(u16* index_ptr) @@ -230,7 +232,7 @@ void IndexGenerator::Start(u16* index_ptr) m_base_index = 0; } -void IndexGenerator::AddIndices(int primitive, u32 num_vertices) +void IndexGenerator::AddIndices(OpcodeDecoder::Primitive primitive, u32 num_vertices) { m_index_buffer_current = m_primitive_table[primitive](m_index_buffer_current, num_vertices, m_base_index); -- cgit v1.2.3