mirror of
https://github.com/GreemDev/Ryujinx.git
synced 2025-01-08 07:11:59 +00:00
Partial revert, decouple TitleIDs.CurrentApplication from shader cache stuff; as I want that to ALWAYS reflect the current app.
This commit is contained in:
parent
1fbb0d8e7d
commit
1dd69912b1
5 changed files with 17 additions and 5 deletions
|
@ -8,7 +8,7 @@ namespace Ryujinx.Common
|
|||
{
|
||||
public static class TitleIDs
|
||||
{
|
||||
public static Optional<string> CurrentApplication;
|
||||
public static Optional<string> CurrentApplication { get; set; }
|
||||
|
||||
public static GraphicsBackend SelectGraphicsBackend(string titleId, GraphicsBackend currentBackend)
|
||||
{
|
||||
|
|
|
@ -46,6 +46,12 @@ namespace Ryujinx.Graphics.Gpu
|
|||
/// Enables or disables high-level emulation of common GPU Macro code.
|
||||
/// </summary>
|
||||
public static bool EnableMacroHLE = true;
|
||||
|
||||
/// <summary>
|
||||
/// Title id of the current running game.
|
||||
/// Used by the shader cache.
|
||||
/// </summary>
|
||||
public static string TitleId;
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables the shader cache.
|
||||
|
|
|
@ -117,8 +117,8 @@ namespace Ryujinx.Graphics.Gpu.Shader
|
|||
/// </summary>
|
||||
private static string GetDiskCachePath()
|
||||
{
|
||||
return GraphicsConfig.EnableShaderCache && TitleIDs.CurrentApplication.HasValue
|
||||
? Path.Combine(AppDataManager.GamesDirPath, TitleIDs.CurrentApplication, "cache", "shader")
|
||||
return GraphicsConfig.EnableShaderCache && GraphicsConfig.TitleId != null
|
||||
? Path.Combine(AppDataManager.GamesDirPath, GraphicsConfig.TitleId, "cache", "shader")
|
||||
: null;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ using LibHac.Tools.FsSystem;
|
|||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Configuration;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Graphics.Gpu;
|
||||
using Ryujinx.HLE.Loaders.Executables;
|
||||
using Ryujinx.Memory;
|
||||
using System;
|
||||
|
@ -103,7 +104,8 @@ namespace Ryujinx.HLE.Loaders.Processes.Extensions
|
|||
}
|
||||
|
||||
// Initialize GPU.
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
GraphicsConfig.TitleId = programId.ToString("X16");
|
||||
TitleIDs.CurrentApplication = GraphicsConfig.TitleId;
|
||||
device.Gpu.HostInitalized.Set();
|
||||
|
||||
if (!MemoryBlock.SupportsFlags(MemoryAllocationFlags.ViewCompatible))
|
||||
|
|
|
@ -8,6 +8,7 @@ using LibHac.Tools.FsSystem;
|
|||
using LibHac.Tools.FsSystem.NcaUtils;
|
||||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.Graphics.Gpu;
|
||||
using Ryujinx.HLE.Loaders.Executables;
|
||||
using Ryujinx.HLE.Loaders.Processes.Extensions;
|
||||
using System;
|
||||
|
@ -184,14 +185,17 @@ namespace Ryujinx.HLE.Loaders.Processes
|
|||
if (nacpData.Value.PresenceGroupId != 0)
|
||||
{
|
||||
programId = nacpData.Value.PresenceGroupId;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
}
|
||||
else if (nacpData.Value.SaveDataOwnerId != 0)
|
||||
{
|
||||
programId = nacpData.Value.SaveDataOwnerId;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
}
|
||||
else if (nacpData.Value.AddOnContentBaseId != 0)
|
||||
{
|
||||
programId = nacpData.Value.AddOnContentBaseId - 0x1000;
|
||||
TitleIDs.CurrentApplication = programId.ToString("X16");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -205,7 +209,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
|||
}
|
||||
|
||||
// Explicitly null TitleId to disable the shader cache.
|
||||
TitleIDs.CurrentApplication = default;
|
||||
GraphicsConfig.TitleId = null;
|
||||
_device.Gpu.HostInitalized.Set();
|
||||
|
||||
ProcessResult processResult = ProcessLoaderHelper.LoadNsos(_device,
|
||||
|
|
Loading…
Reference in a new issue