summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2022-01-01 22:03:37 +0100
committerGravatar Fernando Sahmkow2022-10-06 21:00:52 +0200
commitf350c3d74ea7880fc6d21f7f638b0d4a70a3246b (patch)
tree30927fa3c736f5b758a0a971a2d95114d8f8d5fa /src/core
parentTexture cache: Fix dangling references on multichannel. (diff)
downloadyuzu-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.cpp3
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 {
24nvhost_as_gpu::nvhost_as_gpu(Core::System& system_, Module& module_, NvCore::Container& core) 25nvhost_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
27nvhost_as_gpu::~nvhost_as_gpu() = default; 29nvhost_as_gpu::~nvhost_as_gpu() = default;
28 30
29NvResult nvhost_as_gpu::Ioctl1(DeviceFD fd, Ioctl command, const std::vector<u8>& input, 31NvResult 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;