diff options
Diffstat (limited to 'Ryujinx.Headless.SDL2/Program.cs')
-rw-r--r-- | Ryujinx.Headless.SDL2/Program.cs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Ryujinx.Headless.SDL2/Program.cs b/Ryujinx.Headless.SDL2/Program.cs index c5e914eb..508daae5 100644 --- a/Ryujinx.Headless.SDL2/Program.cs +++ b/Ryujinx.Headless.SDL2/Program.cs @@ -10,6 +10,8 @@ using Ryujinx.Common.Configuration.Hid.Keyboard; using Ryujinx.Common.Logging; using Ryujinx.Common.System; using Ryujinx.Common.Utilities; +using Ryujinx.Graphics.GAL; +using Ryujinx.Graphics.GAL.Multithreading; using Ryujinx.Graphics.Gpu; using Ryujinx.Graphics.Gpu.Shader; using Ryujinx.Graphics.OpenGL; @@ -433,12 +435,23 @@ namespace Ryujinx.Headless.SDL2 private static Switch InitializeEmulationContext(WindowBase window, Options options) { + IRenderer renderer = new Renderer(); + + BackendThreading threadingMode = options.BackendThreading; + + bool threadedGAL = threadingMode == BackendThreading.On || (threadingMode == BackendThreading.Auto && renderer.PreferThreading); + + if (threadedGAL) + { + renderer = new ThreadedRenderer(renderer); + } + HLEConfiguration configuration = new HLEConfiguration(_virtualFileSystem, _libHacHorizonManager, _contentManager, _accountManager, _userChannelPersistence, - new Renderer(), + renderer, new SDL2HardwareDeviceDriver(), (bool)options.ExpandRam ? MemoryConfiguration.MemoryConfiguration6GB : MemoryConfiguration.MemoryConfiguration4GB, window, |