diff options
| author | 2023-12-30 09:37:16 +0100 | |
|---|---|---|
| committer | 2024-01-18 21:12:30 -0500 | |
| commit | d8f1ce2f7640200d92a12698c42029316ac1a611 (patch) | |
| tree | 34c983ea5d60c58f0511f993090b70aebe778582 /src/core/hle | |
| parent | SMMU: Simplify and remove old code. (diff) | |
| download | yuzu-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.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/nvdrv/core/nvmap.cpp | 2 |
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 | } |