summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar Lioncash2018-08-28 10:57:56 -0400
committerGravatar Lioncash2018-08-28 11:11:50 -0400
commit45fb74d2623182b38af422bc6c8a51040860143f (patch)
treead65e21b3984d876241fc478d7624abfceb55e86 /src/core/hle
parentMerge pull request #1165 from bunnei/shader-cache (diff)
downloadyuzu-45fb74d2623182b38af422bc6c8a51040860143f.tar.gz
yuzu-45fb74d2623182b38af422bc6c8a51040860143f.tar.xz
yuzu-45fb74d2623182b38af422bc6c8a51040860143f.zip
gpu: Make memory_manager private
Makes the class interface consistent and provides accessors for obtaining a reference to the memory manager instance. Given we also return references, this makes our more flimsy uses of const apparent, given const doesn't propagate through pointers in the way one would typically expect. This makes our mutable state more apparent in some places.
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp
index be2b79256..75487c4e8 100644
--- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp
+++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp
@@ -56,9 +56,9 @@ u32 nvhost_as_gpu::AllocateSpace(const std::vector<u8>& input, std::vector<u8>&
56 auto& gpu = Core::System::GetInstance().GPU(); 56 auto& gpu = Core::System::GetInstance().GPU();
57 const u64 size{static_cast<u64>(params.pages) * static_cast<u64>(params.page_size)}; 57 const u64 size{static_cast<u64>(params.pages) * static_cast<u64>(params.page_size)};
58 if (params.flags & 1) { 58 if (params.flags & 1) {
59 params.offset = gpu.memory_manager->AllocateSpace(params.offset, size, 1); 59 params.offset = gpu.MemoryManager().AllocateSpace(params.offset, size, 1);
60 } else { 60 } else {
61 params.offset = gpu.memory_manager->AllocateSpace(size, params.align); 61 params.offset = gpu.MemoryManager().AllocateSpace(size, params.align);
62 } 62 }
63 63
64 std::memcpy(output.data(), &params, output.size()); 64 std::memcpy(output.data(), &params, output.size());
@@ -88,7 +88,7 @@ u32 nvhost_as_gpu::Remap(const std::vector<u8>& input, std::vector<u8>& output)
88 u64 size = static_cast<u64>(entry.pages) << 0x10; 88 u64 size = static_cast<u64>(entry.pages) << 0x10;
89 ASSERT(size <= object->size); 89 ASSERT(size <= object->size);
90 90
91 Tegra::GPUVAddr returned = gpu.memory_manager->MapBufferEx(object->addr, offset, size); 91 Tegra::GPUVAddr returned = gpu.MemoryManager().MapBufferEx(object->addr, offset, size);
92 ASSERT(returned == offset); 92 ASSERT(returned == offset);
93 } 93 }
94 std::memcpy(output.data(), entries.data(), output.size()); 94 std::memcpy(output.data(), entries.data(), output.size());
@@ -125,9 +125,9 @@ u32 nvhost_as_gpu::MapBufferEx(const std::vector<u8>& input, std::vector<u8>& ou
125 auto& gpu = Core::System::GetInstance().GPU(); 125 auto& gpu = Core::System::GetInstance().GPU();
126 126
127 if (params.flags & 1) { 127 if (params.flags & 1) {
128 params.offset = gpu.memory_manager->MapBufferEx(object->addr, params.offset, object->size); 128 params.offset = gpu.MemoryManager().MapBufferEx(object->addr, params.offset, object->size);
129 } else { 129 } else {
130 params.offset = gpu.memory_manager->MapBufferEx(object->addr, object->size); 130 params.offset = gpu.MemoryManager().MapBufferEx(object->addr, object->size);
131 } 131 }
132 132
133 // Create a new mapping entry for this operation. 133 // Create a new mapping entry for this operation.
@@ -161,7 +161,7 @@ u32 nvhost_as_gpu::UnmapBuffer(const std::vector<u8>& input, std::vector<u8>& ou
161 itr->second.size); 161 itr->second.size);
162 162
163 auto& gpu = system_instance.GPU(); 163 auto& gpu = system_instance.GPU();
164 params.offset = gpu.memory_manager->UnmapBuffer(params.offset, itr->second.size); 164 params.offset = gpu.MemoryManager().UnmapBuffer(params.offset, itr->second.size);
165 165
166 buffer_mappings.erase(itr->second.offset); 166 buffer_mappings.erase(itr->second.offset);
167 167