summaryrefslogtreecommitdiff
path: root/src/video_core
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core')
-rw-r--r--src/video_core/memory_manager.cpp10
-rw-r--r--src/video_core/memory_manager.h3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/video_core/memory_manager.cpp b/src/video_core/memory_manager.cpp
index 9e946d448..fc68bcc73 100644
--- a/src/video_core/memory_manager.cpp
+++ b/src/video_core/memory_manager.cpp
@@ -71,18 +71,22 @@ void MemoryManager::BindRasterizer(VideoCore::RasterizerInterface* rasterizer_)
71 rasterizer = rasterizer_; 71 rasterizer = rasterizer_;
72} 72}
73 73
74GPUVAddr MemoryManager::Map(VAddr cpu_addr, GPUVAddr gpu_addr, std::size_t size) { 74GPUVAddr MemoryManager::Map(GPUVAddr gpu_addr, VAddr cpu_addr, std::size_t size) {
75 return PageTableOp<EntryType::Mapped>(gpu_addr, cpu_addr, size); 75 return PageTableOp<EntryType::Mapped>(gpu_addr, cpu_addr, size);
76} 76}
77 77
78GPUVAddr MemoryManager::MapSparse(GPUVAddr gpu_addr, std::size_t size) {
79 return PageTableOp<EntryType::Reserved>(gpu_addr, 0, size);
80}
81
78GPUVAddr MemoryManager::MapAllocate(VAddr cpu_addr, std::size_t size, std::size_t align) { 82GPUVAddr MemoryManager::MapAllocate(VAddr cpu_addr, std::size_t size, std::size_t align) {
79 return Map(cpu_addr, *FindFreeRange(size, align), size); 83 return Map(*FindFreeRange(size, align), cpu_addr, size);
80} 84}
81 85
82GPUVAddr MemoryManager::MapAllocate32(VAddr cpu_addr, std::size_t size) { 86GPUVAddr MemoryManager::MapAllocate32(VAddr cpu_addr, std::size_t size) {
83 const std::optional<GPUVAddr> gpu_addr = FindFreeRange(size, 1, true); 87 const std::optional<GPUVAddr> gpu_addr = FindFreeRange(size, 1, true);
84 ASSERT(gpu_addr); 88 ASSERT(gpu_addr);
85 return Map(cpu_addr, *gpu_addr, size); 89 return Map(*gpu_addr, cpu_addr, size);
86} 90}
87 91
88void MemoryManager::Unmap(GPUVAddr gpu_addr, std::size_t size) { 92void MemoryManager::Unmap(GPUVAddr gpu_addr, std::size_t size) {
diff --git a/src/video_core/memory_manager.h b/src/video_core/memory_manager.h
index 0a763fd19..b8878476a 100644
--- a/src/video_core/memory_manager.h
+++ b/src/video_core/memory_manager.h
@@ -88,7 +88,8 @@ public:
88 std::vector<std::pair<GPUVAddr, std::size_t>> GetSubmappedRange(GPUVAddr gpu_addr, 88 std::vector<std::pair<GPUVAddr, std::size_t>> GetSubmappedRange(GPUVAddr gpu_addr,
89 std::size_t size) const; 89 std::size_t size) const;
90 90
91 [[nodiscard]] GPUVAddr Map(VAddr cpu_addr, GPUVAddr gpu_addr, std::size_t size); 91 GPUVAddr Map(GPUVAddr gpu_addr, VAddr cpu_addr, std::size_t size);
92 GPUVAddr MapSparse(GPUVAddr gpu_addr, std::size_t size);
92 [[nodiscard]] GPUVAddr MapAllocate(VAddr cpu_addr, std::size_t size, std::size_t align); 93 [[nodiscard]] GPUVAddr MapAllocate(VAddr cpu_addr, std::size_t size, std::size_t align);
93 [[nodiscard]] GPUVAddr MapAllocate32(VAddr cpu_addr, std::size_t size); 94 [[nodiscard]] GPUVAddr MapAllocate32(VAddr cpu_addr, std::size_t size);
94 [[nodiscard]] std::optional<GPUVAddr> AllocateFixed(GPUVAddr gpu_addr, std::size_t size); 95 [[nodiscard]] std::optional<GPUVAddr> AllocateFixed(GPUVAddr gpu_addr, std::size_t size);