diff options
| author | lizzie <lizzie@eden-emu.dev> | 2026-01-18 12:33:00 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-01-18 12:33:00 +0100 |
| commit | 291b5febecdee943a630aaa884f25c5d4d6688d1 (patch) | |
| tree | 4982187b786b1d889676580f10ec2426757930a0 /src/video_core/renderer_opengl/gl_device.cpp | |
| parent | ed0276582e85c60fb4f65a63d83cad1bdeb409e2 (diff) | |
[common] merge RenderBackend and ShaderBackend options (#3313)
first of all it makes UI a tad bit more simple and benefits the end user
second, it allows to add new backends a bit more easily
and also, there was a shader backend option in android... we don't use opengl in android
so may as well save ourselves the trouble, aye

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3313
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: DraVee <dravee@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/renderer_opengl/gl_device.cpp')
| -rw-r--r-- | src/video_core/renderer_opengl/gl_device.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/video_core/renderer_opengl/gl_device.cpp b/src/video_core/renderer_opengl/gl_device.cpp index f5bf995d00..b49568b77d 100644 --- a/src/video_core/renderer_opengl/gl_device.cpp +++ b/src/video_core/renderer_opengl/gl_device.cpp @@ -233,19 +233,17 @@ Device::Device(Core::Frontend::EmuWindow& emu_window) { // uniform buffers as "push constants" has_fast_buffer_sub_data = is_nvidia && !disable_fast_buffer_sub_data; - shader_backend = Settings::values.shader_backend.GetValue(); - use_assembly_shaders = shader_backend == Settings::ShaderBackend::Glasm && - GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 && - GLAD_GL_NV_transform_feedback && GLAD_GL_NV_transform_feedback2; - if (shader_backend == Settings::ShaderBackend::Glasm && !use_assembly_shaders) { - LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported"); - shader_backend = Settings::ShaderBackend::Glsl; + auto const shader_backend = Settings::values.renderer_backend.GetValue(); + use_assembly_shaders = shader_backend == Settings::RendererBackend::OpenGL_GLASM + && GLAD_GL_NV_gpu_program5 && GLAD_GL_NV_compute_program5 + && GLAD_GL_NV_transform_feedback && GLAD_GL_NV_transform_feedback2; + if (shader_backend == Settings::RendererBackend::OpenGL_GLASM && !use_assembly_shaders) { + LOG_ERROR(Render_OpenGL, "Assembly shaders enabled but not supported - expect instability!"); } - if (shader_backend == Settings::ShaderBackend::Glsl && is_nvidia) { + if (shader_backend == Settings::RendererBackend::OpenGL_GLSL && is_nvidia) { const std::string driver_version = version.substr(13); - const int version_major = - std::atoi(driver_version.substr(0, driver_version.find(".")).data()); + const int version_major = std::atoi(driver_version.substr(0, driver_version.find(".")).data()); if (version_major >= 495) { has_cbuf_ftou_bug = true; has_bool_ref_bug = true; |
