From a73251f2dfedbf825ef4a21284ab79f58ff1f6b2 Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 1 Jun 2020 17:11:34 +0200 Subject: [PATCH] OpenGLRenderer: Fix version parsing OpenGL ES 3.0 implementations don't seem to follow the spec, use GL_MAJOR_VERSION and GL_MINOR_VERSION instead --- src/Nazara/OpenGLRenderer/Wrapper/Context.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp b/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp index 13ac8ebfa..902f22813 100644 --- a/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp +++ b/src/Nazara/OpenGLRenderer/Wrapper/Context.cpp @@ -185,14 +185,14 @@ namespace Nz::GL return -1; }; - std::string_view versionString = reinterpret_cast(glGetString(GL_VERSION)); - if (versionString.size() > 2 && DecodeDigit(versionString[0]) >= 0 && versionString[1] == '.' && DecodeDigit(versionString[2]) >= 0) - { - m_params.glMajorVersion = DecodeDigit(versionString[0]); - m_params.glMinorVersion = DecodeDigit(versionString[2]); - } - else - NazaraWarning("Failed to decode OpenGL version: " + std::string(versionString)); + GLint majorVersion = 0; + glGetIntegerv(GL_MAJOR_VERSION, &majorVersion); + + GLint minorVersion = 0; + glGetIntegerv(GL_MINOR_VERSION, &minorVersion); + + m_params.glMajorVersion = majorVersion; + m_params.glMinorVersion = minorVersion; // Load extensions GLint extensionCount = 0;