From 6232a83f43e5e46beb2bd0d4467bef831bf635bd Mon Sep 17 00:00:00 2001 From: David Rowe Date: Fri, 29 Jan 2016 13:03:54 +1300 Subject: [PATCH] Specify minimum OpenGL version in gl library's config Note: Defines minimum OpenGL version as 4.1 in anticipation of Interface soon properly supporting both 4.1 and 4.3 on Windows. --- libraries/gl/src/gl/Config.h | 1 + libraries/gl/src/gl/OpenGLVersionChecker.cpp | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libraries/gl/src/gl/Config.h b/libraries/gl/src/gl/Config.h index fe693d8c65..2e42e85122 100644 --- a/libraries/gl/src/gl/Config.h +++ b/libraries/gl/src/gl/Config.h @@ -19,6 +19,7 @@ #define GPU_LEGACY 0 #define GPU_CORE_41 410 #define GPU_CORE_43 430 +#define GPU_CORE_MINIMUM GPU_CORE_41 #if defined(__APPLE__) diff --git a/libraries/gl/src/gl/OpenGLVersionChecker.cpp b/libraries/gl/src/gl/OpenGLVersionChecker.cpp index f1a40bde8d..761c27a302 100644 --- a/libraries/gl/src/gl/OpenGLVersionChecker.cpp +++ b/libraries/gl/src/gl/OpenGLVersionChecker.cpp @@ -14,6 +14,7 @@ #include #include +#include "Config.h" #include "GLWidget.h" OpenGLVersionChecker::OpenGLVersionChecker(int& argc, char** argv) : @@ -35,13 +36,13 @@ bool OpenGLVersionChecker::isValidVersion() { // - major_number.minor_number // - major_number.minor_number.release_number // Reference: https://www.opengl.org/sdk/docs/man/docbook4/xhtml/glGetString.xml - const int MINIMUM_OPENGL_MAJOR_VERSION = 4; - const int MINIMUM_OPENGL_MINOR_VERSION = 1; QStringList versionParts = glVersion.split(QRegularExpression("[\\.\\s]")); int majorNumber = versionParts[0].toInt(); int minorNumber = versionParts[1].toInt(); - valid = (majorNumber > MINIMUM_OPENGL_MAJOR_VERSION - || (majorNumber == MINIMUM_OPENGL_MAJOR_VERSION && minorNumber >= MINIMUM_OPENGL_MINOR_VERSION)); + int minimumMajorNumber = GPU_CORE_MINIMUM / 100; + int minimumMinorNumber = (GPU_CORE_MINIMUM - minimumMajorNumber * 100) / 10; + valid = (majorNumber > minimumMajorNumber + || (majorNumber == minimumMajorNumber && minorNumber >= minimumMinorNumber)); // Prompt user if below minimum if (!valid) { @@ -49,7 +50,7 @@ bool OpenGLVersionChecker::isValidVersion() { messageBox.setWindowTitle("OpenGL Version Too Low"); messageBox.setIcon(QMessageBox::Warning); messageBox.setText(QString().sprintf("Your OpenGL version of %i.%i is lower than the minimum of %i.%i.", - majorNumber, minorNumber, MINIMUM_OPENGL_MAJOR_VERSION, MINIMUM_OPENGL_MINOR_VERSION)); + majorNumber, minorNumber, minimumMajorNumber, minimumMinorNumber)); messageBox.setInformativeText("Press OK to exit; Ignore to continue."); messageBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Ignore); messageBox.setDefaultButton(QMessageBox::Ok);