mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
Opcode decoding: handle missing opcodes 0x88 etc.
Hardware testing shows that they do the same thing as the 0x80 family of opcodes: they draw quads.
This commit is contained in:
@ -6,6 +6,7 @@
|
||||
|
||||
#include "Common/Common.h"
|
||||
#include "VideoCommon/IndexGenerator.h"
|
||||
#include "VideoCommon/OpcodeDecoding.h"
|
||||
#include "VideoCommon/VideoConfig.h"
|
||||
|
||||
//Init
|
||||
@ -21,22 +22,23 @@ void IndexGenerator::Init()
|
||||
{
|
||||
if (g_Config.backend_info.bSupportsPrimitiveRestart)
|
||||
{
|
||||
primitive_table[0] = IndexGenerator::AddQuads<true>;
|
||||
primitive_table[2] = IndexGenerator::AddList<true>;
|
||||
primitive_table[3] = IndexGenerator::AddStrip<true>;
|
||||
primitive_table[4] = IndexGenerator::AddFan<true>;
|
||||
primitive_table[GX_DRAW_QUADS] = IndexGenerator::AddQuads<true>;
|
||||
primitive_table[GX_DRAW_QUADS_2] = IndexGenerator::AddQuads<true>;
|
||||
primitive_table[GX_DRAW_TRIANGLES] = IndexGenerator::AddList<true>;
|
||||
primitive_table[GX_DRAW_TRIANGLE_STRIP] = IndexGenerator::AddStrip<true>;
|
||||
primitive_table[GX_DRAW_TRIANGLE_FAN] = IndexGenerator::AddFan<true>;
|
||||
}
|
||||
else
|
||||
{
|
||||
primitive_table[0] = IndexGenerator::AddQuads<false>;
|
||||
primitive_table[2] = IndexGenerator::AddList<false>;
|
||||
primitive_table[3] = IndexGenerator::AddStrip<false>;
|
||||
primitive_table[4] = IndexGenerator::AddFan<false>;
|
||||
primitive_table[GX_DRAW_QUADS] = IndexGenerator::AddQuads<false>;
|
||||
primitive_table[GX_DRAW_QUADS_2] = IndexGenerator::AddQuads<false>;
|
||||
primitive_table[GX_DRAW_TRIANGLES] = IndexGenerator::AddList<false>;
|
||||
primitive_table[GX_DRAW_TRIANGLE_STRIP] = IndexGenerator::AddStrip<false>;
|
||||
primitive_table[GX_DRAW_TRIANGLE_FAN] = IndexGenerator::AddFan<false>;
|
||||
}
|
||||
primitive_table[1] = nullptr;
|
||||
primitive_table[5] = &IndexGenerator::AddLineList;
|
||||
primitive_table[6] = &IndexGenerator::AddLineStrip;
|
||||
primitive_table[7] = &IndexGenerator::AddPoints;
|
||||
primitive_table[GX_DRAW_LINES] = &IndexGenerator::AddLineList;
|
||||
primitive_table[GX_DRAW_LINE_STRIP] = &IndexGenerator::AddLineStrip;
|
||||
primitive_table[GX_DRAW_POINTS] = &IndexGenerator::AddPoints;
|
||||
}
|
||||
|
||||
void IndexGenerator::Start(u16* Indexptr)
|
||||
|
Reference in New Issue
Block a user