Added methods GUI_App::is_gl_version_greater_or_equal_to() and GUI_App::is_glsl_version_greater_or_equal_to()

This commit is contained in:
enricoturri1966 2020-05-22 09:45:31 +02:00
parent 8a9dbb3414
commit df010a1d4e
3 changed files with 23 additions and 6 deletions

View file

@ -130,18 +130,15 @@ void OpenGLManager::GLInfo::detect() const
m_detected = true;
}
bool OpenGLManager::GLInfo::is_version_greater_or_equal_to(unsigned int major, unsigned int minor) const
static bool version_greater_or_equal_to(const std::string& version, unsigned int major, unsigned int minor)
{
if (!m_detected)
detect();
#if ENABLE_SHADERS_MANAGER
if (m_version == "N/A")
if (version == "N/A")
return false;
#endif // ENABLE_SHADERS_MANAGER
std::vector<std::string> tokens;
boost::split(tokens, m_version, boost::is_any_of(" "), boost::token_compress_on);
boost::split(tokens, version, boost::is_any_of(" "), boost::token_compress_on);
if (tokens.empty())
return false;
@ -166,6 +163,22 @@ bool OpenGLManager::GLInfo::is_version_greater_or_equal_to(unsigned int major, u
return gl_minor >= minor;
}
bool OpenGLManager::GLInfo::is_version_greater_or_equal_to(unsigned int major, unsigned int minor) const
{
if (!m_detected)
detect();
return version_greater_or_equal_to(m_version, major, minor);
}
bool OpenGLManager::GLInfo::is_glsl_version_greater_or_equal_to(unsigned int major, unsigned int minor) const
{
if (!m_detected)
detect();
return version_greater_or_equal_to(m_glsl_version, major, minor);
}
std::string OpenGLManager::GLInfo::to_string(bool format_as_html, bool extensions) const
{
if (!m_detected)