From 8c9cdfe9cebc057969912fa7ac259268c5f29c69 Mon Sep 17 00:00:00 2001 From: KeatonTheBot Date: Sat, 14 Mar 2026 18:05:03 -0500 Subject: [PATCH] Clean up texture cache code for low-VRAM GPUs --- .../Image/AutoDeleteCache.cs | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs b/src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs index 3a694db34..f37978293 100644 --- a/src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs +++ b/src/Ryujinx.Graphics.Gpu/Image/AutoDeleteCache.cs @@ -50,7 +50,7 @@ namespace Ryujinx.Graphics.Gpu.Image private const int MaxCapacity = 2048; private const ulong MiB = 1024 * 1024; private const ulong GiB = 1024 * 1024 * 1024; - private ulong MaxTextureSizeCapacity = 4 * GiB; + private ulong MaxTextureSizeCapacity = 2 * GiB; private const ulong MinTextureSizeCapacity = 512 * MiB; private const ulong DefaultTextureSizeCapacity = 1 * GiB; private const ulong TextureSizeCapacity4GiB = 2 * GiB; @@ -85,16 +85,20 @@ namespace Ryujinx.Graphics.Gpu.Image var cpuMemorySizeGiB = cpuMemorySize / GiB; var MaximumGpuMemoryGiB = context.Capabilities.MaximumGpuMemory / GiB; - MaxTextureSizeCapacity = cpuMemorySizeGiB switch + if (context.Capabilities.MaximumGpuMemory == 0) { - < 6 when MaximumGpuMemoryGiB < 6 || context.Capabilities.MaximumGpuMemory == 0 => - DefaultTextureSizeCapacity, - < 6 => TextureSizeCapacity4GiB, - 6 => TextureSizeCapacity6GiB, - 8 => TextureSizeCapacity8GiB, - 10 => TextureSizeCapacity10GiB, - _ => TextureSizeCapacity12GiB - }; + MaxTextureSizeCapacity = DefaultTextureSizeCapacity; + } + else + MaxTextureSizeCapacity = cpuMemorySizeGiB switch + { + < 6 when MaximumGpuMemoryGiB < 6 => DefaultTextureSizeCapacity, + < 6 => TextureSizeCapacity4GiB, + 6 => TextureSizeCapacity6GiB, + 8 => TextureSizeCapacity8GiB, + 10 => TextureSizeCapacity10GiB, + _ => TextureSizeCapacity12GiB + }; var cacheMemory = (ulong)(context.Capabilities.MaximumGpuMemory * MemoryScaleFactor);