From 8ce3993afa222850cb896e9b6bd9303f3a9dc16b Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 14 Mar 2020 21:36:56 +0000 Subject: [PATCH] Fix GTK window crash by using 24 bit surface on unix, 32 bit on windows. (#976) * Use 24 bit surface on unix, 32 bit on windows. * Address jd's comment Co-authored-by: Thomas Guillemard --- Ryujinx/Ui/GLRenderer.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/Ryujinx/Ui/GLRenderer.cs b/Ryujinx/Ui/GLRenderer.cs index 416429bf..5d0d1908 100644 --- a/Ryujinx/Ui/GLRenderer.cs +++ b/Ryujinx/Ui/GLRenderer.cs @@ -51,7 +51,7 @@ namespace Ryujinx.Ui private Input.NpadController _primaryController; public GLRenderer(Switch device) - : base (new GraphicsMode(new ColorFormat()), + : base (GetGraphicsMode(), 3, 3, GraphicsContextFlags.ForwardCompatible) { @@ -80,6 +80,16 @@ namespace Ryujinx.Ui this.Shown += Renderer_Shown; } + private static GraphicsMode GetGraphicsMode() + { + if (Environment.OSVersion.Platform == PlatformID.Unix) + { + return new GraphicsMode(new ColorFormat(24)); + } + + return new GraphicsMode(new ColorFormat()); + } + private void GLRenderer_ShuttingDown(object sender, EventArgs args) { _device.DisposeGpu();