diff options
| author | Mary <me@thog.eu> | 2020-11-13 00:15:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-13 00:15:34 +0100 |
| commit | 48f6570557fc76496936514d94e3ccddf55ec633 (patch) | |
| tree | ce455833899cb33a312e5853a7a3d191bb5d18d9 /Ryujinx.Graphics.Gpu/Engine | |
| parent | 7166e82c3cf1fd8cf2fce3281017ee88122684d8 (diff) | |
Salieri: shader cache (#1701)
Here come Salieri, my implementation of a disk shader cache!
"I'm sure you know why I named it that."
"It doesn't really mean anything."
This implementation collects shaders at runtime and cache them to be later compiled when starting a game.
Diffstat (limited to 'Ryujinx.Graphics.Gpu/Engine')
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/Compute.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.Graphics.Gpu/Engine/Methods.cs | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Ryujinx.Graphics.Gpu/Engine/Compute.cs b/Ryujinx.Graphics.Gpu/Engine/Compute.cs index cd5002ca..fd3114a7 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Compute.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Compute.cs @@ -59,7 +59,7 @@ namespace Ryujinx.Graphics.Gpu.Engine TextureManager.SetComputeTexturePool(texturePool.Address.Pack(), texturePool.MaximumId); TextureManager.SetComputeTextureBufferIndex(state.Get<int>(MethodOffset.TextureBufferIndex)); - ShaderProgramInfo info = cs.Shaders[0].Program.Info; + ShaderProgramInfo info = cs.Shaders[0].Info; for (int index = 0; index < info.CBuffers.Count; index++) { diff --git a/Ryujinx.Graphics.Gpu/Engine/Methods.cs b/Ryujinx.Graphics.Gpu/Engine/Methods.cs index cab125b5..f408561a 100644 --- a/Ryujinx.Graphics.Gpu/Engine/Methods.cs +++ b/Ryujinx.Graphics.Gpu/Engine/Methods.cs @@ -1000,14 +1000,14 @@ namespace Ryujinx.Graphics.Gpu.Engine ShaderBundle gs = ShaderCache.GetGraphicsShader(state, addresses); - _vsUsesInstanceId = gs.Shaders[0]?.Program.Info.UsesInstanceId ?? false; + _vsUsesInstanceId = gs.Shaders[0]?.Info.UsesInstanceId ?? false; int storageBufferBindingsCount = 0; int uniformBufferBindingsCount = 0; for (int stage = 0; stage < Constants.ShaderStages; stage++) { - ShaderProgramInfo info = gs.Shaders[stage]?.Program.Info; + ShaderProgramInfo info = gs.Shaders[stage]?.Info; _currentProgramInfo[stage] = info; |
