aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Headless.SDL2/WindowBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Headless.SDL2/WindowBase.cs')
-rw-r--r--Ryujinx.Headless.SDL2/WindowBase.cs19
1 files changed, 13 insertions, 6 deletions
diff --git a/Ryujinx.Headless.SDL2/WindowBase.cs b/Ryujinx.Headless.SDL2/WindowBase.cs
index 58aa8d07..cc0986a0 100644
--- a/Ryujinx.Headless.SDL2/WindowBase.cs
+++ b/Ryujinx.Headless.SDL2/WindowBase.cs
@@ -151,22 +151,29 @@ namespace Ryujinx.Headless.SDL2
}
}
+ protected abstract void InitializeWindowRenderer();
+
protected abstract void InitializeRenderer();
- protected abstract void FinalizeRenderer();
+ protected abstract void FinalizeWindowRenderer();
protected abstract void SwapBuffers(object image);
- protected abstract string GetGpuVendorName();
-
public abstract SDL_WindowFlags GetWindowFlags();
+ private string GetGpuVendorName()
+ {
+ return Renderer.GetHardwareInfo().GpuVendor;
+ }
+
public void Render()
{
- InitializeRenderer();
+ InitializeWindowRenderer();
Device.Gpu.Renderer.Initialize(_glLogLevel);
+ InitializeRenderer();
+
_gpuVendorName = GetGpuVendorName();
Device.Gpu.Renderer.RunLoop(() =>
@@ -220,7 +227,7 @@ namespace Ryujinx.Headless.SDL2
}
});
- FinalizeRenderer();
+ FinalizeWindowRenderer();
}
public void Exit()
@@ -323,7 +330,7 @@ namespace Ryujinx.Headless.SDL2
renderLoopThread.Start();
Thread nvStutterWorkaround = null;
- if (Renderer is Graphics.OpenGL.Renderer)
+ if (Renderer is Graphics.OpenGL.OpenGLRenderer)
{
nvStutterWorkaround = new Thread(NVStutterWorkaround)
{