mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-07 11:28:59 +02:00
Add missing texture cache size for 10 GiB DRAM option
* Convert 'if' statement into 'switch' expression
This commit is contained in:
@@ -56,9 +56,9 @@ namespace Ryujinx.Graphics.Gpu.Image
|
|||||||
private const ulong TextureSizeCapacity4GiB = 2 * GiB;
|
private const ulong TextureSizeCapacity4GiB = 2 * GiB;
|
||||||
private const ulong TextureSizeCapacity6GiB = 4 * GiB;
|
private const ulong TextureSizeCapacity6GiB = 4 * GiB;
|
||||||
private const ulong TextureSizeCapacity8GiB = 6 * GiB;
|
private const ulong TextureSizeCapacity8GiB = 6 * GiB;
|
||||||
|
private const ulong TextureSizeCapacity10GiB = 10 * GiB;
|
||||||
private const ulong TextureSizeCapacity12GiB = 12 * GiB;
|
private const ulong TextureSizeCapacity12GiB = 12 * GiB;
|
||||||
|
|
||||||
|
|
||||||
private const float MemoryScaleFactor = 0.50f;
|
private const float MemoryScaleFactor = 0.50f;
|
||||||
private ulong _maxCacheMemoryUsage = DefaultTextureSizeCapacity;
|
private ulong _maxCacheMemoryUsage = DefaultTextureSizeCapacity;
|
||||||
|
|
||||||
@@ -85,26 +85,16 @@ 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;
|
||||||
|
|
||||||
if (cpuMemorySizeGiB < 6 && MaximumGpuMemoryGiB < 6 || context.Capabilities.MaximumGpuMemory == 0)
|
MaxTextureSizeCapacity = cpuMemorySizeGiB switch
|
||||||
{
|
{
|
||||||
_maxCacheMemoryUsage = DefaultTextureSizeCapacity;
|
< 6 when MaximumGpuMemoryGiB < 6 || context.Capabilities.MaximumGpuMemory == 0 =>
|
||||||
}
|
DefaultTextureSizeCapacity,
|
||||||
else if (cpuMemorySizeGiB < 6 && MaximumGpuMemoryGiB >= 6)
|
< 6 => TextureSizeCapacity4GiB,
|
||||||
{
|
6 => TextureSizeCapacity6GiB,
|
||||||
MaxTextureSizeCapacity = TextureSizeCapacity4GiB;
|
8 => TextureSizeCapacity8GiB,
|
||||||
}
|
10 => TextureSizeCapacity10GiB,
|
||||||
else if (cpuMemorySizeGiB == 6)
|
_ => TextureSizeCapacity12GiB
|
||||||
{
|
};
|
||||||
MaxTextureSizeCapacity = TextureSizeCapacity6GiB;
|
|
||||||
}
|
|
||||||
else if (cpuMemorySizeGiB == 8)
|
|
||||||
{
|
|
||||||
MaxTextureSizeCapacity = TextureSizeCapacity8GiB;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MaxTextureSizeCapacity = TextureSizeCapacity12GiB;
|
|
||||||
}
|
|
||||||
|
|
||||||
var cacheMemory = (ulong)(context.Capabilities.MaximumGpuMemory * MemoryScaleFactor);
|
var cacheMemory = (ulong)(context.Capabilities.MaximumGpuMemory * MemoryScaleFactor);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user