summaryrefslogtreecommitdiff
path: root/src/core/hle
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-01-31 11:22:29 -0500
committerGitHub <noreply@github.com>2024-01-31 11:22:29 -0500
commit22492b68b73b4e8c865c4907cc4609db8cc07afd (patch)
tree75d356cf8a9d8e4ae93dda3d35647c80bd51c11c /src/core/hle
parenta12a26e19b8b7b804fec3f948ca9a6fff1abb316 (diff)
parentd57165df450e8a2fa811706758fb8ab352f623ae (diff)
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.cpp4
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) {
// Check if this memory block is heap.
if (svc_mem_info.state == Kernel::Svc::MemoryState::Normal) {
- if (svc_mem_info.size > region_size) {
+ if (region_start + region_size == svc_mem_info.base_address) {
+ region_size += svc_mem_info.size;
+ } else if (svc_mem_info.size > region_size) {
region_size = svc_mem_info.size;
region_start = svc_mem_info.base_address;
}