diff options
author | riperiperi <rhy3756547@hotmail.com> | 2021-03-29 21:52:25 +0100 |
---|---|---|
committer | riperiperi <rhy3756547@hotmail.com> | 2021-04-18 17:33:58 +0100 |
commit | ddf4b92a9cfbe98f798dd86a7c123b065a832d51 (patch) | |
tree | aead39221f1975579d00446f181750a299960bca /Ryujinx.Graphics.OpenGL/Renderer.cs | |
parent | bb43219f1dfc2fc35e21bcccab4d96fba5e01f34 (diff) |
Implement parallel host shader cache compilation.
Diffstat (limited to 'Ryujinx.Graphics.OpenGL/Renderer.cs')
-rw-r--r-- | Ryujinx.Graphics.OpenGL/Renderer.cs | 16 |
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) |