mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-08 06:51:05 +02:00
Clean up texture cache code for low-VRAM GPUs
This commit is contained in:
@@ -50,7 +50,7 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||||||
private const int MaxCapacity = 2048;
|
private const int MaxCapacity = 2048;
|
||||||
private const ulong MiB = 1024 * 1024;
|
private const ulong MiB = 1024 * 1024;
|
||||||
private const ulong GiB = 1024 * 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 MinTextureSizeCapacity = 512 * MiB;
|
||||||
private const ulong DefaultTextureSizeCapacity = 1 * GiB;
|
private const ulong DefaultTextureSizeCapacity = 1 * GiB;
|
||||||
private const ulong TextureSizeCapacity4GiB = 2 * GiB;
|
private const ulong TextureSizeCapacity4GiB = 2 * GiB;
|
||||||
@@ -85,16 +85,20 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||||||
var cpuMemorySizeGiB = cpuMemorySize / GiB;
|
var cpuMemorySizeGiB = cpuMemorySize / GiB;
|
||||||
var MaximumGpuMemoryGiB = context.Capabilities.MaximumGpuMemory / GiB;
|
var MaximumGpuMemoryGiB = context.Capabilities.MaximumGpuMemory / GiB;
|
||||||
|
|
||||||
MaxTextureSizeCapacity = cpuMemorySizeGiB switch
|
if (context.Capabilities.MaximumGpuMemory == 0)
|
||||||
{
|
{
|
||||||
< 6 when MaximumGpuMemoryGiB < 6 || context.Capabilities.MaximumGpuMemory == 0 =>
|
MaxTextureSizeCapacity = DefaultTextureSizeCapacity;
|
||||||
DefaultTextureSizeCapacity,
|
}
|
||||||
< 6 => TextureSizeCapacity4GiB,
|
else
|
||||||
6 => TextureSizeCapacity6GiB,
|
MaxTextureSizeCapacity = cpuMemorySizeGiB switch
|
||||||
8 => TextureSizeCapacity8GiB,
|
{
|
||||||
10 => TextureSizeCapacity10GiB,
|
< 6 when MaximumGpuMemoryGiB < 6 => DefaultTextureSizeCapacity,
|
||||||
_ => TextureSizeCapacity12GiB
|
< 6 => TextureSizeCapacity4GiB,
|
||||||
};
|
6 => TextureSizeCapacity6GiB,
|
||||||
|
8 => TextureSizeCapacity8GiB,
|
||||||
|
10 => TextureSizeCapacity10GiB,
|
||||||
|
_ => TextureSizeCapacity12GiB
|
||||||
|
};
|
||||||
|
|
||||||
var cacheMemory = (ulong)(context.Capabilities.MaximumGpuMemory * MemoryScaleFactor);
|
var cacheMemory = (ulong)(context.Capabilities.MaximumGpuMemory * MemoryScaleFactor);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user