From 4df253e0d1eb9ba9d2668fc968e743c33aeee210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=9A=93?= Date: Sun, 6 Apr 2025 14:43:10 -0400 Subject: [PATCH] Use latest available OpenGL version in libretro builds --- src/core.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/core.cpp b/src/core.cpp index 39505b37..1365f065 100644 --- a/src/core.cpp +++ b/src/core.cpp @@ -509,12 +509,34 @@ extern "C" RETRO_API bool retro_load_game(const struct retro_game_info *info) { hw_render.context_destroy = NULL; hw_render.cache_context = true; hw_render.bottom_left_origin = true; - if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 3, hw_render.version_minor = 0, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 6, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.6 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 5, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.5 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 4, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.4 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 3, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.3 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 2, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.2 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 1, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.1 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 4, hw_render.version_minor = 0, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 4.0 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 3, hw_render.version_minor = 2, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 3.2 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGLES_VERSION, hw_render.version_major = 3, hw_render.version_minor = 2, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL ES 3.2 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 3, hw_render.version_minor = 1, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL 3.1 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGLES_VERSION, hw_render.version_major = 3, hw_render.version_minor = 1, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { + log_printf(RETRO_LOG_INFO, "Using OpenGL ES 3.1 graphics driver\n"); + } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL_CORE, hw_render.version_major = 3, hw_render.version_minor = 0, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { log_printf(RETRO_LOG_INFO, "Using OpenGL 3.0 graphics driver\n"); } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGLES3, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { log_printf(RETRO_LOG_INFO, "Using OpenGL ES 3.0 graphics driver\n"); } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGL, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { - log_printf(RETRO_LOG_INFO, "Using OpenGL 2.0 graphics driver\n"); + log_printf(RETRO_LOG_INFO, "Using OpenGL 2.x graphics driver\n"); } else if (hw_render.context_type = RETRO_HW_CONTEXT_OPENGLES2, environment(RETRO_ENVIRONMENT_SET_HW_RENDER, &hw_render)) { log_printf(RETRO_LOG_INFO, "Using OpenGL ES 2.0 graphics driver\n"); } else {