aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Renderer.cs
diff options
context:
space:
mode:
authorMary <me@thog.eu>2020-11-13 00:15:34 +0100
committerGitHub <noreply@github.com>2020-11-13 00:15:34 +0100
commit48f6570557fc76496936514d94e3ccddf55ec633 (patch)
treece455833899cb33a312e5853a7a3d191bb5d18d9 /Ryujinx.Graphics.OpenGL/Renderer.cs
parent7166e82c3cf1fd8cf2fce3281017ee88122684d8 (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.cs14
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;
+ }
}
}