diff options
| author | bunnei <bunneidev@gmail.com> | 2018-10-31 22:20:37 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2018-11-01 18:57:59 -0400 |
| commit | 4aa9779ae1aa1b7a424c768331eb9286e7613e19 (patch) | |
| tree | a88a485e3adf8062982dd85d78513b4f019927ee /src/video_core/memory_manager.h | |
| parent | cc1fe9329754925eedc5f84fc2f41ba968571640 (diff) | |
memory_manager: Do not MapBufferEx over already in use memory.
- This fixes rendering when changing areas in Super Mario Odyssey.
Diffstat (limited to 'src/video_core/memory_manager.h')
| -rw-r--r-- | src/video_core/memory_manager.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index b1255fd56..4eb338aa2 100644 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h @@ -34,15 +34,15 @@ public: static constexpr u64 PAGE_MASK = PAGE_SIZE - 1; private: - std::optional<GPUVAddr> FindFreeBlock(u64 size, u64 align = 1); - bool IsPageMapped(GPUVAddr gpu_addr); - VAddr& PageSlot(GPUVAddr gpu_addr); - enum class PageStatus : u64 { Unmapped = 0xFFFFFFFFFFFFFFFFULL, Allocated = 0xFFFFFFFFFFFFFFFEULL, }; + std::optional<GPUVAddr> FindFreeBlock(GPUVAddr region_start, u64 size, u64 align, + PageStatus status); + VAddr& PageSlot(GPUVAddr gpu_addr); + static constexpr u64 MAX_ADDRESS{0x10000000000ULL}; static constexpr u64 PAGE_TABLE_BITS{10}; static constexpr u64 PAGE_TABLE_SIZE{1 << PAGE_TABLE_BITS}; |
