diff options
| author | 2024-01-31 11:22:29 -0500 | |
|---|---|---|
| committer | 2024-01-31 11:22:29 -0500 | |
| commit | 22492b68b73b4e8c865c4907cc4609db8cc07afd (patch) | |
| tree | 75d356cf8a9d8e4ae93dda3d35647c80bd51c11c /src/core/hle | |
| parent | Merge pull request #12864 from Kelebek1/small_time_fixes (diff) | |
| parent | Device Memory Manager: ensure raster protection only within mapped device add... (diff) | |
| download | yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.gz yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.xz yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.zip | |
Merge pull request #12869 from FernandoS27/smmu-fixes
SMMU: A set of different fixes.
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/nvdrv/core/container.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/hle/service/nvdrv/core/container.cpp b/src/core/hle/service/nvdrv/core/container.cpp index dc1b4d5be..e89cca6f2 100644 --- a/src/core/hle/service/nvdrv/core/container.cpp +++ b/src/core/hle/service/nvdrv/core/container.cpp | |||
| @@ -83,7 +83,9 @@ SessionId Container::OpenSession(Kernel::KProcess* process) { | |||
| 83 | 83 | ||
| 84 | // Check if this memory block is heap. | 84 | // Check if this memory block is heap. |
| 85 | if (svc_mem_info.state == Kernel::Svc::MemoryState::Normal) { | 85 | if (svc_mem_info.state == Kernel::Svc::MemoryState::Normal) { |
| 86 | if (svc_mem_info.size > region_size) { | 86 | if (region_start + region_size == svc_mem_info.base_address) { |
| 87 | region_size += svc_mem_info.size; | ||
| 88 | } else if (svc_mem_info.size > region_size) { | ||
| 87 | region_size = svc_mem_info.size; | 89 | region_size = svc_mem_info.size; |
| 88 | region_start = svc_mem_info.base_address; | 90 | region_start = svc_mem_info.base_address; |
| 89 | } | 91 | } |