aboutsummaryrefslogtreecommitdiff
path: root/src/core/device_memory.h
diff options
context:
space:
mode:
authorMai M <mathew1800@gmail.com>2021-06-11 14:26:54 -0400
committerGitHub <noreply@github.com>2021-06-11 14:26:54 -0400
commit9951322e5a37a604e185ae7013af7c4cfc5c35f8 (patch)
tree6d765e2d635990de4acb98c1e2b6ce125546f629 /src/core/device_memory.h
parent0c0c1a039ec73937db4bc24e0bcbc478e3e6704b (diff)
parent7f85abb28120fbb57bb813b828ee42f2a2031990 (diff)
Merge pull request #6422 from FernandoS27/i-am-the-senate
Implement/Port Fastmem from Citra to Yuzu
Diffstat (limited to 'src/core/device_memory.h')
-rw-r--r--src/core/device_memory.h17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/core/device_memory.h b/src/core/device_memory.h
index 5b1ae28f3..c4d17705f 100644
--- a/src/core/device_memory.h
+++ b/src/core/device_memory.h
@@ -5,7 +5,7 @@
#pragma once
#include "common/common_types.h"
-#include "common/virtual_buffer.h"
+#include "common/host_memory.h"
namespace Core {
@@ -21,27 +21,30 @@ enum : u64 {
};
}; // namespace DramMemoryMap
-class DeviceMemory : NonCopyable {
+class DeviceMemory {
public:
explicit DeviceMemory();
~DeviceMemory();
+ DeviceMemory& operator=(const DeviceMemory&) = delete;
+ DeviceMemory(const DeviceMemory&) = delete;
+
template <typename T>
PAddr GetPhysicalAddr(const T* ptr) const {
- return (reinterpret_cast<uintptr_t>(ptr) - reinterpret_cast<uintptr_t>(buffer.data())) +
+ return (reinterpret_cast<uintptr_t>(ptr) -
+ reinterpret_cast<uintptr_t>(buffer.BackingBasePointer())) +
DramMemoryMap::Base;
}
u8* GetPointer(PAddr addr) {
- return buffer.data() + (addr - DramMemoryMap::Base);
+ return buffer.BackingBasePointer() + (addr - DramMemoryMap::Base);
}
const u8* GetPointer(PAddr addr) const {
- return buffer.data() + (addr - DramMemoryMap::Base);
+ return buffer.BackingBasePointer() + (addr - DramMemoryMap::Base);
}
-private:
- Common::VirtualBuffer<u8> buffer;
+ Common::HostMemory buffer;
};
} // namespace Core