diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-02-06 18:51:07 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-10-06 21:00:52 +0200 |
commit | 359f22b808f54de9f19e40a8f93604ee7e4bac80 (patch) | |
tree | 2a1ec8fa21877820bc698df01a22b765e27b7b7a /src/video_core/memory_manager.h | |
parent | OpenGL: Fix TickWork (diff) | |
download | yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar.gz yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar.bz2 yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar.lz yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar.xz yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.tar.zst yuzu-359f22b808f54de9f19e40a8f93604ee7e4bac80.zip |
Diffstat (limited to 'src/video_core/memory_manager.h')
-rw-r--r-- | src/video_core/memory_manager.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h index 9c388a06e..8f8877a92 100644 --- a/src/video_core/memory_manager.h +++ b/src/video_core/memory_manager.h @@ -105,9 +105,6 @@ public: void FlushRegion(GPUVAddr gpu_addr, size_t size) const; private: - [[nodiscard]] std::optional<GPUVAddr> FindFreeRange(std::size_t size, std::size_t align, - bool start_32bit_address = false) const; - template <bool is_big_pages, typename FuncMapped, typename FuncReserved, typename FuncUnmapped> inline void MemoryOperation(GPUVAddr gpu_src_addr, std::size_t size, FuncMapped&& func_mapped, FuncReserved&& func_reserved, FuncUnmapped&& func_unmapped) const; @@ -127,6 +124,9 @@ private: } } + inline bool IsBigPageContinous(size_t big_page_index) const; + inline void SetBigPageContinous(size_t big_page_index, bool value); + Core::System& system; Core::Memory::Memory& memory; Core::DeviceMemory& device_memory; @@ -169,7 +169,10 @@ private: Common::MultiLevelPageTable<u32> page_table; Common::VirtualBuffer<u32> big_page_table_cpu; - Common::VirtualBuffer<u32> big_page_table_physical; + + std::vector<u64> big_page_continous; + + constexpr static size_t continous_bits = 64; const size_t unique_identifier; |