From a315b122c53ef0cc2aeda2af942487b3421bbdf4 Mon Sep 17 00:00:00 2001 From: CasualPokePlayer <50538166+CasualPokePlayer@users.noreply.github.com> Date: Sat, 29 Jul 2023 17:03:53 -0700 Subject: [PATCH] force OpenGL renderer in Citra for now the software renderer doesn't seem to be functional and the code for blitting it is incomplete --- .../Consoles/Nintendo/3DS/Citra.ISettable.cs | 2 +- src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.cs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.ISettable.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.ISettable.cs index 9daecd1d89..9f4a755942 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.ISettable.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.ISettable.cs @@ -36,7 +36,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS private ulong GetIntegerSettingCallback(string label) => label switch { "cpu_clock_percentage" => (ulong)_syncSettings.CpuClockPercentage, - "graphics_api" => _supportsOpenGL43 ? (ulong)_syncSettings.GraphicsApi : (ulong)CitraSyncSettings.EGraphicsApi.Software, + "graphics_api" => (ulong)CitraSyncSettings.EGraphicsApi.OpenGL,//_supportsOpenGL43 ? (ulong)_syncSettings.GraphicsApi : (ulong)CitraSyncSettings.EGraphicsApi.Software, "region_value" => (ulong)_syncSettings.RegionValue, "init_clock" => _syncSettings.UseRealTime && !DeterministicEmulation ? 0UL : 1UL, "init_time" => (ulong)(_syncSettings.InitialTime - _epoch).TotalSeconds, diff --git a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.cs b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.cs index 5c921e8944..ce23938fb2 100644 --- a/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.cs +++ b/src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Citra.cs @@ -65,8 +65,9 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS _openGLProvider = lp.Comm.OpenGLProvider; _supportsOpenGL43 = _openGLProvider.GLVersion >= 430; - if (!_supportsOpenGL43 && _syncSettings.GraphicsApi == CitraSyncSettings.EGraphicsApi.OpenGL) + if (!_supportsOpenGL43/* && _syncSettings.GraphicsApi == CitraSyncSettings.EGraphicsApi.OpenGL*/) { + throw new("OpenGL 4.3 is required, but it is not supported on this machine"); lp.Comm.Notify("OpenGL 4.3 is not supported on this machine, falling back to software renderer", null); } @@ -82,7 +83,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.N3DS _context = _core.Citra_CreateContext(ref _configCallbackInterface, ref _glCallbackInterface, ref _inputCallbackInterface); - if (_supportsOpenGL43 && _syncSettings.GraphicsApi == CitraSyncSettings.EGraphicsApi.OpenGL) + if (_supportsOpenGL43/* && _syncSettings.GraphicsApi == CitraSyncSettings.EGraphicsApi.OpenGL*/) { _citraVideoProvider = new CitraGLTextureProvider(_core, _context); }