diff options
| author | Fernando S <fsahmkow27@gmail.com> | 2022-04-16 00:05:49 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-16 00:05:49 +0200 |
| commit | 856a841c72ba7b6c7f63a3afafd1692c1cea8744 (patch) | |
| tree | 709a3c1d2f99e5c4ae7e6386c4a2d42690a71f36 /src/video_core/engines | |
| parent | 34710065e84ccc3de4433b7dd0ffb569e14788b8 (diff) | |
| parent | f783883bf89311b51aef76b6b8b07d112369eca7 (diff) | |
Merge pull request #8205 from liamwhite/n64-misc
Fixes for Mario 64
Diffstat (limited to 'src/video_core/engines')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 5 | ||||
| -rw-r--r-- | src/video_core/engines/maxwell_3d.h | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 54a902f56..7399e760f 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -214,6 +214,11 @@ void Maxwell3D::ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argume regs.index_array.first = regs.small_index.first; dirty.flags[VideoCommon::Dirty::IndexBuffer] = true; 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): use_topology_override = true; return; diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 3f5b38e55..d36dc3daa 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -1220,7 +1220,12 @@ public: BitField<16, 16, u32> count; } 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); |
