diff options
| author | 2022-01-01 22:03:37 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | f350c3d74ea7880fc6d21f7f638b0d4a70a3246b (patch) | |
| tree | 30927fa3c736f5b758a0a971a2d95114d8f8d5fa /src/core | |
| parent | Texture cache: Fix dangling references on multichannel. (diff) | |
| download | yuzu-f350c3d74ea7880fc6d21f7f638b0d4a70a3246b.tar.gz yuzu-f350c3d74ea7880fc6d21f7f638b0d4a70a3246b.tar.xz yuzu-f350c3d74ea7880fc6d21f7f638b0d4a70a3246b.zip | |
Texture cache: Fix the remaining issues with memory mnagement and unmapping.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp | 3 |
1 files changed, 3 insertions, 0 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 344ddfc90..db2a6c3b2 100644 --- a/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp +++ b/src/core/hle/service/nvdrv/devices/nvhost_as_gpu.cpp | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | #include "core/hle/service/nvdrv/devices/nvhost_gpu.h" | 16 | #include "core/hle/service/nvdrv/devices/nvhost_gpu.h" |
| 17 | #include "core/hle/service/nvdrv/nvdrv.h" | 17 | #include "core/hle/service/nvdrv/nvdrv.h" |
| 18 | #include "video_core/control/channel_state.h" | 18 | #include "video_core/control/channel_state.h" |
| 19 | #include "video_core/gpu.h" | ||
| 19 | #include "video_core/memory_manager.h" | 20 | #include "video_core/memory_manager.h" |
| 20 | #include "video_core/rasterizer_interface.h" | 21 | #include "video_core/rasterizer_interface.h" |
| 21 | 22 | ||
| @@ -24,6 +25,7 @@ namespace Service::Nvidia::Devices { | |||
| 24 | nvhost_as_gpu::nvhost_as_gpu(Core::System& system_, Module& module_, NvCore::Container& core) | 25 | nvhost_as_gpu::nvhost_as_gpu(Core::System& system_, Module& module_, NvCore::Container& core) |
| 25 | : nvdevice{system_}, module{module_}, container{core}, nvmap{core.GetNvMapFile()}, vm{}, | 26 | : nvdevice{system_}, module{module_}, container{core}, nvmap{core.GetNvMapFile()}, vm{}, |
| 26 | gmmu{} {} | 27 | gmmu{} {} |
| 28 | |||
| 27 | nvhost_as_gpu::~nvhost_as_gpu() = default; | 29 | nvhost_as_gpu::~nvhost_as_gpu() = default; |
| 28 | 30 | ||
| 29 | NvResult nvhost_as_gpu::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& input, | 31 | NvResult nvhost_as_gpu::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& input, |
| @@ -132,6 +134,7 @@ NvResult nvhost_as_gpu::AllocAsEx(const std::vector<u8>& input, std::vector<u8>& | |||
| 132 | vm.big_page_allocator = std::make_unique<VM::Allocator>(start_big_pages, end_big_pages); | 134 | vm.big_page_allocator = std::make_unique<VM::Allocator>(start_big_pages, end_big_pages); |
| 133 | 135 | ||
| 134 | gmmu = std::make_shared<Tegra::MemoryManager>(system, 40, VM::PAGE_SIZE_BITS); | 136 | gmmu = std::make_shared<Tegra::MemoryManager>(system, 40, VM::PAGE_SIZE_BITS); |
| 137 | system.GPU().InitAddressSpace(*gmmu); | ||
| 135 | vm.initialised = true; | 138 | vm.initialised = true; |
| 136 | 139 | ||
| 137 | return NvResult::Success; | 140 | return NvResult::Success; |