diff options
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp | 7 |
1 files changed, 4 insertions, 3 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 7555bbe7d..8d194e175 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp | |||
| @@ -167,10 +167,11 @@ u32 nvhost_as_gpu::UnmapBuffer(const std::vector<u8>& input, std::vector<u8>& ou | |||
| 167 | auto& system_instance = Core::System::GetInstance(); | 167 | auto& system_instance = Core::System::GetInstance(); |
| 168 | 168 | ||
| 169 | // Remove this memory region from the rasterizer cache. | 169 | // Remove this memory region from the rasterizer cache. |
| 170 | system_instance.Renderer().Rasterizer().FlushAndInvalidateRegion(params.offset, | ||
| 171 | itr->second.size); | ||
| 172 | |||
| 173 | auto& gpu = system_instance.GPU(); | 170 | auto& gpu = system_instance.GPU(); |
| 171 | auto cpu_addr = gpu.MemoryManager().GpuToCpuAddress(params.offset); | ||
| 172 | ASSERT(cpu_addr); | ||
| 173 | system_instance.Renderer().Rasterizer().FlushAndInvalidateRegion(*cpu_addr, itr->second.size); | ||
| 174 | |||
| 174 | params.offset = gpu.MemoryManager().UnmapBuffer(params.offset, itr->second.size); | 175 | params.offset = gpu.MemoryManager().UnmapBuffer(params.offset, itr->second.size); |
| 175 | 176 | ||
| 176 | buffer_mappings.erase(itr->second.offset); | 177 | buffer_mappings.erase(itr->second.offset); |