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.OpenGL/Renderer.cs | |
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.OpenGL/Renderer.cs')
-rw-r--r-- | Ryujinx.Graphics.OpenGL/Renderer.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs index 75bcda12..f66acce3 100644 --- a/Ryujinx.Graphics.OpenGL/Renderer.cs +++ b/Ryujinx.Graphics.OpenGL/Renderer.cs @@ -165,5 +165,19 @@ namespace Ryujinx.Graphics.OpenGL _window.Dispose(); _counters.Dispose(); } + + public IProgram LoadProgramBinary(byte[] programBinary) + { + Program program = new Program(programBinary); + + if (program.IsLinked) + { + return program; + } + + program.Dispose(); + + return null; + } } } |