Browse Source

video_core/memory_manager: Make GpuToCpuAddress() a const member function

This doesn't modify any internal state, so it can be made a const member
function to allow its use in const contexts.
nce_cpp
Lioncash 7 years ago
parent
commit
ad244b004b
  1. 4
      src/video_core/memory_manager.cpp
  2. 2
      src/video_core/memory_manager.h

4
src/video_core/memory_manager.cpp

@ -99,12 +99,12 @@ bool MemoryManager::IsAddressValid(GPUVAddr addr) const {
return (addr >> page_bits) < page_table.pointers.size(); return (addr >> page_bits) < page_table.pointers.size();
} }
std::optional<VAddr> MemoryManager::GpuToCpuAddress(GPUVAddr addr) {
std::optional<VAddr> MemoryManager::GpuToCpuAddress(GPUVAddr addr) const {
if (!IsAddressValid(addr)) { if (!IsAddressValid(addr)) {
return {}; return {};
} }
VAddr cpu_addr{page_table.backing_addr[addr >> page_bits]};
const VAddr cpu_addr{page_table.backing_addr[addr >> page_bits]};
if (cpu_addr) { if (cpu_addr) {
return cpu_addr + (addr & page_mask); return cpu_addr + (addr & page_mask);
} }

2
src/video_core/memory_manager.h

@ -50,7 +50,7 @@ public:
GPUVAddr MapBufferEx(VAddr cpu_addr, u64 size); GPUVAddr MapBufferEx(VAddr cpu_addr, u64 size);
GPUVAddr MapBufferEx(VAddr cpu_addr, GPUVAddr addr, u64 size); GPUVAddr MapBufferEx(VAddr cpu_addr, GPUVAddr addr, u64 size);
GPUVAddr UnmapBuffer(GPUVAddr addr, u64 size); GPUVAddr UnmapBuffer(GPUVAddr addr, u64 size);
std::optional<VAddr> GpuToCpuAddress(GPUVAddr addr);
std::optional<VAddr> GpuToCpuAddress(GPUVAddr addr) const;
template <typename T> template <typename T>
T Read(GPUVAddr addr); T Read(GPUVAddr addr);

Loading…
Cancel
Save