summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-07-24 17:51:10 +0200
committerLioncash <mathew1800@gmail.com>2018-07-24 17:56:30 +0200
commitbf608f125eeb80a79fae20d98413cca1dbfdd486 (patch)
tree433db385d100acb4f58e0dfa53aabf7339c45073
parentvideo_core/memory_manager: Avoid repeated unnecessary page slot lookups (diff)
downloadyuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar.gz
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar.bz2
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar.lz
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar.xz
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.tar.zst
yuzu-bf608f125eeb80a79fae20d98413cca1dbfdd486.zip
-rw-r--r--src/video_core/memory_manager.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp
index 98a6ca040..ca923d17d 100644
--- a/src/video_core/memory_manager.cpp
+++ b/src/video_core/memory_manager.cpp
@@ -138,9 +138,7 @@ VAddr& MemoryManager::PageSlot(GPUVAddr gpu_addr) {
auto& block = page_table[(gpu_addr >> (PAGE_BITS + PAGE_TABLE_BITS)) & PAGE_TABLE_MASK];
if (!block) {
block = std::make_unique<PageBlock>();
- for (unsigned index = 0; index < PAGE_BLOCK_SIZE; index++) {
- (*block)[index] = static_cast<u64>(PageStatus::Unmapped);
- }
+ block->fill(static_cast<VAddr>(PageStatus::Unmapped));
}
return (*block)[(gpu_addr >> PAGE_BITS) & PAGE_BLOCK_MASK];
}