fix: Too new OpenGL version getting requested on Windows

This commit is contained in:
WerWolv
2025-08-20 22:31:35 +02:00
parent d012ad08f8
commit b49e2eeac4
2 changed files with 7 additions and 17 deletions

View File

@@ -440,21 +440,8 @@ namespace hex::init {
s_lastGlfwError.errorCode = errorCode;
s_lastGlfwError.desc = std::string(desc);
log::error("GLFW Error [{}] : {}", errorCode, desc);
log::error("GLFW Error [{:05X}] : {}", errorCode, desc);
});
// Configure used OpenGL version
#if defined(OS_MACOS)
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_COCOA_RETINA_FRAMEBUFFER, GLFW_FALSE);
glfwWindowHint(GLFW_COCOA_GRAPHICS_SWITCHING, GLFW_TRUE);
#else
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
#endif
#if defined(OS_LINUX)
#if defined(GLFW_WAYLAND_APP_ID)
glfwWindowHintString(GLFW_WAYLAND_APP_ID, "imhex");
@@ -469,7 +456,6 @@ namespace hex::init {
// Make splash screen non-resizable, undecorated and transparent
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);
glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_TRUE);
glfwWindowHint(GLFW_DECORATED, GLFW_FALSE);
glfwWindowHint(GLFW_FLOATING, GLFW_FALSE);
@@ -533,7 +519,7 @@ namespace hex::init {
ImGui_ImplOpenGL3_Init();
ImGui_ImplGlfw_InstallEmscriptenCallbacks(m_window, "#canvas");
#else
ImGui_ImplOpenGL3_Init("#version 410");
ImGui_ImplOpenGL3_Init("#version 130");
#endif
auto &io = ImGui::GetIO();

View File

@@ -1334,7 +1334,11 @@ namespace hex {
ImGui_ImplOpenGL3_Init();
ImGui_ImplGlfw_InstallEmscriptenCallbacks(m_window, "#canvas");
#else
ImGui_ImplOpenGL3_Init("#version 410");
if (ImHexApi::System::getGLVersion() >= SemanticVersion(4,1,0)) {
ImGui_ImplOpenGL3_Init("#version 410");
} else {
ImGui_ImplOpenGL3_Init("#version 130");
}
#endif
ImGui_ImplGlfw_SetCallbacksChainForAllWindows(true);