diff options
| author | bunnei <bunneidev@gmail.com> | 2019-03-03 23:54:16 -0500 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2019-03-20 22:36:02 -0400 | 
| commit | 22d3dfbcd4c606d40e5ae36970db4661c302859f (patch) | |
| tree | 24bf6fe7420aab7a34be7782bc1830e053b64679 /src/core/hle | |
| parent | 241563d15c8b831a2d2b7c360d570cc721903d14 (diff) | |
gpu: Rewrite virtual memory manager using PageTable.
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp | 12 | 
1 files changed, 2 insertions, 10 deletions
| diff --git a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp index b7964d66e..af62d33d2 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp @@ -173,16 +173,8 @@ u32 nvhost_as_gpu::UnmapBuffer(const std::vector<u8>& input, std::vector<u8>& ou          return 0;      } -    auto& system_instance = Core::System::GetInstance(); - -    // Remove this memory region from the rasterizer cache. -    auto& gpu = system_instance.GPU(); -    auto cpu_addr = gpu.MemoryManager().GpuToCpuAddress(params.offset); -    ASSERT(cpu_addr); -    gpu.FlushAndInvalidateRegion(ToCacheAddr(Memory::GetPointer(*cpu_addr)), itr->second.size); - -    params.offset = gpu.MemoryManager().UnmapBuffer(params.offset, itr->second.size); - +    params.offset = Core::System::GetInstance().GPU().MemoryManager().UnmapBuffer(params.offset, +                                                                                  itr->second.size);      buffer_mappings.erase(itr->second.offset);      std::memcpy(output.data(), ¶ms, output.size()); | 
