From f5a25b4ebb49be89db76e29b2f0cffa4d4e60901 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=B6glund?= Date: Sun, 28 Nov 2010 17:16:45 +0000 Subject: [PATCH] Don't query GL_SHADING_LANGUAGE_VERSION when GLSL isn't supported. svn path=/trunk/KDE/kdebase/workspace/; revision=1201788 --- lib/kwinglplatform.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/kwinglplatform.cpp b/lib/kwinglplatform.cpp index cf7dc500ca..a812834d55 100644 --- a/lib/kwinglplatform.cpp +++ b/lib/kwinglplatform.cpp @@ -426,7 +426,6 @@ void GLPlatform::detect() m_vendor = (const char*)glGetString(GL_VENDOR); m_renderer = (const char*)glGetString(GL_RENDERER); m_version = (const char*)glGetString(GL_VERSION); - m_glsl_version = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); const QByteArray extensions = (const char*)glGetString(GL_EXTENSIONS); m_extensions = QSet::fromList(extensions.split(' ')); @@ -445,13 +444,6 @@ void GLPlatform::detect() m_mesaVersion = parseVersionString(version); } - // Parse the GLSL version - const QList glslVersionTokens = m_glsl_version.split(' '); - if (glslVersionTokens.count() > 0) { - const QByteArray version = glslVersionTokens.at(0); - m_glslVersion = parseVersionString(version); - } - GLXContext ctx = glXGetCurrentContext(); m_directRendering = glXIsDirect(display(), ctx); @@ -461,11 +453,23 @@ void GLPlatform::detect() m_supportsGLSL = m_extensions.contains("GL_ARB_shading_language_100") && m_extensions.contains("GL_ARB_shader_objects") && m_extensions.contains("GL_ARB_fragment_shader") && - m_extensions.contains("GL_ARB_vertex_shader") && - m_glslVersion >= kVersionNumber(1, 0); + m_extensions.contains("GL_ARB_vertex_shader"); m_textureNPOT = m_extensions.contains("GL_ARB_texture_non_power_of_two"); + m_glslVersion = 0; + m_glsl_version = QByteArray(); + + if (m_supportsGLSL) { + // Parse the GLSL version + m_glsl_version = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); + const QList glslVersionTokens = m_glsl_version.split(' '); + if (glslVersionTokens.count() > 0) { + const QByteArray version = glslVersionTokens.at(0); + m_glslVersion = parseVersionString(version); + } + } + m_chipset = "Unknown";