diff options
author | Markus Wick <markus@selfnet.de> | 2020-01-19 01:49:30 +0100 |
---|---|---|
committer | Markus Wick <markus@selfnet.de> | 2021-06-11 17:27:06 +0200 |
commit | 621f3f5f47bf9619148cc0ab7ed315e05abf79d7 (patch) | |
tree | d2008e290ac507772b5f1d3b019472fc416278f2 /src/core/device_memory.h | |
parent | tests: Add tests for host memory (diff) | |
download | yuzu-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 'src/core/device_memory.h')
-rw-r--r-- | src/core/device_memory.h | 17 |
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 |