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/video_core/video_core.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/video_core/video_core.cpp')
| -rw-r--r-- | src/video_core/video_core.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/video_core/video_core.cpp b/src/video_core/video_core.cpp index 4a9751e208..fd91ee1667 100644 --- a/src/video_core/video_core.cpp +++ b/src/video_core/video_core.cpp @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later // SPDX-FileCopyrightText: 2014 Citra Emulator Project @@ -9,26 +9,29 @@ #include "common/logging/log.h" #include "common/settings.h" #include "core/core.h" +#include "core/frontend/emu_window.h" +#include "core/frontend/graphics_context.h" #include "video_core/host1x/gpu_device_memory_manager.h" #include "video_core/host1x/host1x.h" #include "video_core/renderer_base.h" #include "video_core/renderer_null/renderer_null.h" +#ifdef HAS_OPENGL #include "video_core/renderer_opengl/renderer_opengl.h" +#endif #include "video_core/renderer_vulkan/renderer_vulkan.h" #include "video_core/video_core.h" namespace { -std::unique_ptr<VideoCore::RendererBase> CreateRenderer( - Core::System& system, Core::Frontend::EmuWindow& emu_window, Tegra::GPU& gpu, - std::unique_ptr<Core::Frontend::GraphicsContext> context) { - auto& device_memory = system.Host1x().MemoryManager(); - +std::unique_ptr<VideoCore::RendererBase> CreateRenderer(Core::System& system, Core::Frontend::EmuWindow& emu_window, Tegra::GPU& gpu, std::unique_ptr<Core::Frontend::GraphicsContext> context) { + [[maybe_unused]] auto& device_memory = system.Host1x().MemoryManager(); switch (Settings::values.renderer_backend.GetValue()) { +#ifdef HAS_OPENGL case Settings::RendererBackend::OpenGL_GLSL: case Settings::RendererBackend::OpenGL_GLASM: case Settings::RendererBackend::OpenGL_SPIRV: return std::make_unique<OpenGL::RendererOpenGL>(emu_window, device_memory, gpu, std::move(context)); +#endif case Settings::RendererBackend::Vulkan: return std::make_unique<Vulkan::RendererVulkan>(emu_window, device_memory, gpu, std::move(context)); case Settings::RendererBackend::Null: |
