aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Graphics.OpenGL/Renderer.cs
diff options
context:
space:
mode:
authorriperiperi <rhy3756547@hotmail.com>2021-03-29 21:52:25 +0100
committerriperiperi <rhy3756547@hotmail.com>2021-04-18 17:33:58 +0100
commitddf4b92a9cfbe98f798dd86a7c123b065a832d51 (patch)
treeaead39221f1975579d00446f181750a299960bca /Ryujinx.Graphics.OpenGL/Renderer.cs
parentbb43219f1dfc2fc35e21bcccab4d96fba5e01f34 (diff)
Implement parallel host shader cache compilation.
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Renderer.cs')
-rw-r--r--Ryujinx.Graphics.OpenGL/Renderer.cs16
1 files changed, 6 insertions, 10 deletions
diff --git a/Ryujinx.Graphics.OpenGL/Renderer.cs b/Ryujinx.Graphics.OpenGL/Renderer.cs
index cc8fa195..0382ba86 100644
--- a/Ryujinx.Graphics.OpenGL/Renderer.cs
+++ b/Ryujinx.Graphics.OpenGL/Renderer.cs
@@ -130,6 +130,11 @@ namespace Ryujinx.Graphics.OpenGL
PrintGpuInformation();
+ if (HwCapabilities.SupportsParallelShaderCompile)
+ {
+ GL.Arb.MaxShaderCompilerThreads(Math.Min(Environment.ProcessorCount, 8));
+ }
+
_counters.Initialize();
}
@@ -177,16 +182,7 @@ namespace Ryujinx.Graphics.OpenGL
public IProgram LoadProgramBinary(byte[] programBinary)
{
- Program program = new Program(programBinary);
-
- if (program.IsLinked)
- {
- return program;
- }
-
- program.Dispose();
-
- return null;
+ return new Program(programBinary);
}
public void CreateSync(ulong id)