From 6334c3f90c850269f736101665292c799bf958a0 Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 6 Jan 2024 20:15:15 +0000 Subject: [PATCH] feat: avoid filling pages when using private allocations --- src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTable.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTable.cs b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTable.cs index d7b601d1c..4c8858bb0 100644 --- a/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTable.cs +++ b/src/Ryujinx.HLE/HOS/Kernel/Memory/KPageTable.cs @@ -119,7 +119,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory Context.MemoryManager.IncrementPagesReferenceCount(srcPa, pagesCount); } - if (shouldFillPages) + if (shouldFillPages && (Supports4KBPages || !flags.HasFlag(MemoryMapFlags.Private) || fillValue != 0)) { _cpuMemory.Fill(dstVa, size, fillValue); } @@ -149,7 +149,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Memory _cpuMemory.Map(currentVa, addr, size, flags); - if (shouldFillPages) + if (shouldFillPages && (Supports4KBPages || !flags.HasFlag(MemoryMapFlags.Private) || fillValue != 0)) { _cpuMemory.Fill(currentVa, size, fillValue); }