diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-03-11 16:49:29 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-03-11 16:49:29 +0100 |
| commit | 5a0780b826d868f6ffb49b8faa951600b9b65547 (patch) | |
| tree | 50fb300a750e25e6f79a16762ac0e9d5be5b871f /src/yuzu/main_window.cpp | |
| parent | d35fc7b7ee47993cf8e45d7fd09d13f30ab85adf (diff) | |
[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 <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3692
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: DraVee <chimera@dravee.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/yuzu/main_window.cpp')
| -rw-r--r-- | src/yuzu/main_window.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
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); |
