aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl/gl_device.cpp
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-01-18 12:33:00 +0100
committercrueter <crueter@eden-emu.dev>2026-01-18 12:33:00 +0100
commit291b5febecdee943a630aaa884f25c5d4d6688d1 (patch)
tree4982187b786b1d889676580f10ec2426757930a0 /src/video_core/renderer_opengl/gl_device.cpp
parented0276582e85c60fb4f65a63d83cad1bdeb409e2 (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 ![image](/attachments/c0195bca-da18-4907-9e4a-3b62c4292f1a) 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.cpp18
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;