summaryrefslogtreecommitdiffstats
path: root/src/core/device_memory.h
diff options
context:
space:
mode:
authorMarkus Wick <markus@selfnet.de>2020-01-19 01:49:30 +0100
committerMarkus Wick <markus@selfnet.de>2021-06-11 17:27:06 +0200
commit621f3f5f47bf9619148cc0ab7ed315e05abf79d7 (patch)
treed2008e290ac507772b5f1d3b019472fc416278f2 /src/core/device_memory.h
parenttests: Add tests for host memory (diff)
downloadyuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.gz
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.bz2
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.lz
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.xz
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.tar.zst
yuzu-621f3f5f47bf9619148cc0ab7ed315e05abf79d7.zip
Diffstat (limited to '')
-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