From 5a0780b826d868f6ffb49b8faa951600b9b65547 Mon Sep 17 00:00:00 2001 From: lizzie Date: Wed, 11 Mar 2026 16:49:29 +0100 Subject: [video_core] Properly disable/avoid building OpenGL when it's disabled (#3692) - OpenGL symbols would still be included in builds without OpenGL, this pr fixes that - Same goes for Vulkan, but now with `ENABLE_VULKAN` - Add support to have OpenGL-only builds (why would you do this?) - Add support for headless runs (yes you could just select NULL backend, but why not compile it headless? :) Signed-off-by: lizzie Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3692 Reviewed-by: crueter Reviewed-by: DraVee Reviewed-by: MaranBr Co-authored-by: lizzie Co-committed-by: lizzie --- src/yuzu/main_window.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'src/yuzu/main_window.cpp') diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index a251451bea..029826dfa3 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -3784,14 +3784,30 @@ void MainWindow::OnToggleAdaptingFilter() { void MainWindow::OnToggleGraphicsAPI() { auto api = Settings::values.renderer_backend.GetValue(); - if (api != Settings::RendererBackend::Vulkan) { - api = Settings::RendererBackend::Vulkan; - } else { + switch (api) { #ifdef HAS_OPENGL + case Settings::RendererBackend::Vulkan: + api = Settings::RendererBackend::OpenGL_GLSL; + break; + case Settings::RendererBackend::OpenGL_GLSL: api = Settings::RendererBackend::OpenGL_GLSL; + break; + case Settings::RendererBackend::OpenGL_SPIRV: + api = Settings::RendererBackend::OpenGL_GLASM; + break; + case Settings::RendererBackend::OpenGL_GLASM: + api = Settings::RendererBackend::Null; + break; #else + case Settings::RendererBackend::Vulkan: api = Settings::RendererBackend::Null; + break; #endif + case Settings::RendererBackend::Null: + api = Settings::RendererBackend::Vulkan; + break; + default: + break; } Settings::values.renderer_backend.SetValue(api); renderer_status_button->setChecked(api == Settings::RendererBackend::Vulkan); -- cgit v1.2.3