summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2023-12-30 09:37:16 +0100
committerGravatar Liam2024-01-18 21:12:30 -0500
commitd8f1ce2f7640200d92a12698c42029316ac1a611 (patch)
tree34c983ea5d60c58f0511f993090b70aebe778582 /src/core/hle
parentSMMU: Simplify and remove old code. (diff)
downloadyuzu-d8f1ce2f7640200d92a12698c42029316ac1a611.tar.gz
yuzu-d8f1ce2f7640200d92a12698c42029316ac1a611.tar.xz
yuzu-d8f1ce2f7640200d92a12698c42029316ac1a611.zip
SMMU: Add continuity tracking optimization.
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/service/nvdrv/core/container.cpp1
-rw-r--r--src/core/hle/service/nvdrv/core/nvmap.cpp2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/core/hle/service/nvdrv/core/container.cpp b/src/core/hle/service/nvdrv/core/container.cpp
index ba7eb9e24..4d3a9d696 100644
--- a/src/core/hle/service/nvdrv/core/container.cpp
+++ b/src/core/hle/service/nvdrv/core/container.cpp
@@ -95,6 +95,7 @@ size_t Container::OpenSession(Kernel::KProcess* process) {
95 if (start_region != 0) { 95 if (start_region != 0) {
96 session.mapper = std::make_unique<HeapMapper>(region_start, start_region, region_size, 96 session.mapper = std::make_unique<HeapMapper>(region_start, start_region, region_size,
97 smmu_id, impl->host1x); 97 smmu_id, impl->host1x);
98 smmu.TrackContinuity(start_region, region_start, region_size, smmu_id);
98 session.has_preallocated_area = true; 99 session.has_preallocated_area = true;
99 LOG_CRITICAL(Debug, "Preallocation created!"); 100 LOG_CRITICAL(Debug, "Preallocation created!");
100 } 101 }
diff --git a/src/core/hle/service/nvdrv/core/nvmap.cpp b/src/core/hle/service/nvdrv/core/nvmap.cpp
index 023c070d9..97634b59d 100644
--- a/src/core/hle/service/nvdrv/core/nvmap.cpp
+++ b/src/core/hle/service/nvdrv/core/nvmap.cpp
@@ -221,7 +221,7 @@ DAddr NvMap::PinHandle(NvMap::Handle::Id handle, size_t session_id, bool low_are
221 } 221 }
222 222
223 handle_description->d_address = address; 223 handle_description->d_address = address;
224 smmu.Map(address, vaddress, map_size, session->smmu_id); 224 smmu.Map(address, vaddress, map_size, session->smmu_id, true);
225 handle_description->in_heap = false; 225 handle_description->in_heap = false;
226 } 226 }
227 } 227 }