diff options
| author | bunnei <bunneidev@gmail.com> | 2022-08-14 02:36:36 -0700 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:53 +0200 |
| commit | f5fd6b5c8674fcf64a3e70809ee0a34d3a95beb6 (patch) | |
| tree | 5156a04816d6556b8babe7d69301f18098b8dd1d /src/video_core/engines/kepler_memory.cpp | |
| parent | b2099fbdcc3cb213aec8f836033fb02c4b6bbd09 (diff) | |
DMA & InlineToMemory Engines Rework.
Diffstat (limited to 'src/video_core/engines/kepler_memory.cpp')
| -rw-r--r-- | src/video_core/engines/kepler_memory.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/video_core/engines/kepler_memory.cpp b/src/video_core/engines/kepler_memory.cpp index e2b029542..a3fbab1e5 100644 --- a/src/video_core/engines/kepler_memory.cpp +++ b/src/video_core/engines/kepler_memory.cpp @@ -33,8 +33,6 @@ void KeplerMemory::CallMethod(u32 method, u32 method_argument, bool is_last_call } case KEPLERMEMORY_REG_INDEX(data): { upload_state.ProcessData(method_argument, is_last_call); - if (is_last_call) { - } break; } } @@ -42,8 +40,15 @@ void KeplerMemory::CallMethod(u32 method, u32 method_argument, bool is_last_call void KeplerMemory::CallMultiMethod(u32 method, const u32* base_start, u32 amount, u32 methods_pending) { - for (std::size_t i = 0; i < amount; i++) { - CallMethod(method, base_start[i], methods_pending - static_cast<u32>(i) <= 1); + switch (method) { + case KEPLERMEMORY_REG_INDEX(data): + upload_state.ProcessData(base_start, static_cast<size_t>(amount)); + return; + default: + for (std::size_t i = 0; i < amount; i++) { + CallMethod(method, base_start[i], methods_pending - static_cast<u32>(i) <= 1); + } + break; } } |
