mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-28 19:58:53 +00:00
Convert OpcodeDecoder::Opcode and OpcodeDecoder::Primitive to enum class
This commit is contained in:
parent
3fc12431c5
commit
3aaeb2b9ef
13 changed files with 177 additions and 132 deletions
|
@ -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<true>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS_2] = AddQuads_nonstandard<true>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLES] = AddList<true>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP] = AddStrip<true>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_FAN] = AddFan<true>;
|
||||
m_primitive_table[Primitive::GX_DRAW_QUADS] = AddQuads<true>;
|
||||
m_primitive_table[Primitive::GX_DRAW_QUADS_2] = AddQuads_nonstandard<true>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLES] = AddList<true>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLE_STRIP] = AddStrip<true>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLE_FAN] = AddFan<true>;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS] = AddQuads<false>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_QUADS_2] = AddQuads_nonstandard<false>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLES] = AddList<false>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_STRIP] = AddStrip<false>;
|
||||
m_primitive_table[OpcodeDecoder::GX_DRAW_TRIANGLE_FAN] = AddFan<false>;
|
||||
m_primitive_table[Primitive::GX_DRAW_QUADS] = AddQuads<false>;
|
||||
m_primitive_table[Primitive::GX_DRAW_QUADS_2] = AddQuads_nonstandard<false>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLES] = AddList<false>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLE_STRIP] = AddStrip<false>;
|
||||
m_primitive_table[Primitive::GX_DRAW_TRIANGLE_FAN] = AddFan<false>;
|
||||
}
|
||||
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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue