summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/nvdrv/core/container.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2024-01-31 17:22:29 +0100
committerGitHub <noreply@github.com>2024-01-31 17:22:29 +0100
commit22492b68b73b4e8c865c4907cc4609db8cc07afd (patch)
tree75d356cf8a9d8e4ae93dda3d35647c80bd51c11c /src/core/hle/service/nvdrv/core/container.cpp
parentMerge pull request #12864 from Kelebek1/small_time_fixes (diff)
parentDevice Memory Manager: ensure raster protection only within mapped device addresses. (diff)
downloadyuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.gz
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.bz2
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.lz
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.xz
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.tar.zst
yuzu-22492b68b73b4e8c865c4907cc4609db8cc07afd.zip
Diffstat (limited to 'src/core/hle/service/nvdrv/core/container.cpp')
-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;
}