summaryrefslogtreecommitdiffstats
path: root/src/video_core/memory_manager.cpp
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2021-12-17 16:45:06 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2022-10-06 21:00:52 +0200
commite462191482c6507daed67802c6c1d2c50f10c96e (patch)
treea6b4d851075d93b3052637d1382691e71b9b8c0e /src/video_core/memory_manager.cpp
parentGeneral: Rebase fixes. (diff)
downloadyuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar.gz
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar.bz2
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar.lz
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar.xz
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.tar.zst
yuzu-e462191482c6507daed67802c6c1d2c50f10c96e.zip
Diffstat (limited to 'src/video_core/memory_manager.cpp')
-rw-r--r--src/video_core/memory_manager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp
index fc68bcc73..d4c0dca78 100644
--- a/src/video_core/memory_manager.cpp
+++ b/src/video_core/memory_manager.cpp
@@ -16,9 +16,12 @@
namespace Tegra {
+std::atomic<size_t> MemoryManager::unique_identifier_generator{};
+
MemoryManager::MemoryManager(Core::System& system_, u64 address_space_bits_, u64 page_bits_)
: system{system_}, address_space_bits{address_space_bits_}, page_bits{page_bits_}, entries{},
- page_table{address_space_bits, address_space_bits + page_bits - 38, page_bits} {
+ page_table{address_space_bits, address_space_bits + page_bits - 38, page_bits},
+ unique_identifier{unique_identifier_generator.fetch_add(1, std::memory_order_acq_rel)} {
address_space_size = 1ULL << address_space_bits;
allocate_start = address_space_bits > 32 ? 1ULL << 32 : 0;
page_size = 1ULL << page_bits;