maxwell3d: add small_index_2 register

master
Liam 2022-04-14 09:57:06 +07:00
parent 8ae43a1be9
commit a24e7ba61b
2 changed files with 11 additions and 1 deletions

@ -214,6 +214,11 @@ void Maxwell3D::ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argume
regs.index_array.first = regs.small_index.first; regs.index_array.first = regs.small_index.first;
dirty.flags[VideoCommon::Dirty::IndexBuffer] = true; dirty.flags[VideoCommon::Dirty::IndexBuffer] = true;
return DrawArrays(); return DrawArrays();
case MAXWELL3D_REG_INDEX(small_index_2):
regs.index_array.count = regs.small_index_2.count;
regs.index_array.first = regs.small_index_2.first;
dirty.flags[VideoCommon::Dirty::IndexBuffer] = true;
return DrawArrays();
case MAXWELL3D_REG_INDEX(topology_override): case MAXWELL3D_REG_INDEX(topology_override):
use_topology_override = true; use_topology_override = true;
return; return;

@ -1220,7 +1220,12 @@ public:
BitField<16, 16, u32> count; BitField<16, 16, u32> count;
} small_index; } small_index;
INSERT_PADDING_WORDS_NOINIT(0x6); union {
BitField<0, 16, u32> first;
BitField<16, 16, u32> count;
} small_index_2;
INSERT_PADDING_WORDS_NOINIT(0x5);
INSERT_PADDING_WORDS_NOINIT(0x1F); INSERT_PADDING_WORDS_NOINIT(0x1F);