diff options
| author | Chris Burgener <christhecoolist@gmail.com> | 2016-08-17 19:20:24 -0400 |
|---|---|---|
| committer | Chris Burgener <christhecoolist@gmail.com> | 2016-08-19 08:53:27 -0400 |
| commit | da0204a85c9227c9504823abaf096544b57b0577 (patch) | |
| tree | 9ce16e7167d0edf10bcfdea859660e34cf27ca47 /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | 40f4308dc2120ce4e105008f3cb46b6a1c553e64 (diff) | |
Fix a really stupid GLSL version parsing bug
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index d637c308ca..69f06c6b52 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -352,7 +352,6 @@ Renderer::Renderer() g_ogl_config.gl_vendor = (const char*)glGetString(GL_VENDOR); g_ogl_config.gl_renderer = (const char*)glGetString(GL_RENDERER); g_ogl_config.gl_version = (const char*)glGetString(GL_VERSION); - g_ogl_config.glsl_version = (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION); InitDriverInfo(); @@ -527,13 +526,13 @@ Renderer::Renderer() // depth clamping. g_Config.backend_info.bSupportsDepthClamp = false; - if (strstr(g_ogl_config.glsl_version, "3.0")) + if (GLExtensions::Version() == 300) { g_ogl_config.eSupportedGLSLVersion = GLSLES_300; g_ogl_config.bSupportsAEP = false; g_Config.backend_info.bSupportsGeometryShaders = false; } - else if (strstr(g_ogl_config.glsl_version, "3.1")) + else if (GLExtensions::Version() == 310) { g_ogl_config.eSupportedGLSLVersion = GLSLES_310; g_ogl_config.bSupportsAEP = GLExtensions::Supports("GL_ANDROID_extension_pack_es31a"); @@ -575,16 +574,15 @@ Renderer::Renderer() } else { - if (strstr(g_ogl_config.glsl_version, "1.00") || strstr(g_ogl_config.glsl_version, "1.10") || - strstr(g_ogl_config.glsl_version, "1.20")) + if (GLExtensions::Version() < 300) { PanicAlert("GPU: OGL ERROR: Need at least GLSL 1.30\n" "GPU: Does your video card support OpenGL 3.0?\n" "GPU: Your driver supports GLSL %s", - g_ogl_config.glsl_version); + (const char*)glGetString(GL_SHADING_LANGUAGE_VERSION)); bSuccess = false; } - else if (strstr(g_ogl_config.glsl_version, "1.30")) + else if (GLExtensions::Version() == 300) { g_ogl_config.eSupportedGLSLVersion = GLSL_130; g_ogl_config.bSupportsEarlyFragmentTests = @@ -594,7 +592,7 @@ Renderer::Renderer() g_Config.backend_info.bSupportsGeometryShaders = false; // geometry shaders are only supported on glsl150+ } - else if (strstr(g_ogl_config.glsl_version, "1.40")) + else if (GLExtensions::Version() == 310) { g_ogl_config.eSupportedGLSLVersion = GLSL_140; g_ogl_config.bSupportsEarlyFragmentTests = @@ -604,11 +602,11 @@ Renderer::Renderer() g_Config.backend_info.bSupportsGeometryShaders = false; // geometry shaders are only supported on glsl150+ } - else if (strstr(g_ogl_config.glsl_version, "1.50")) + else if (GLExtensions::Version() == 320) { g_ogl_config.eSupportedGLSLVersion = GLSL_150; } - else if (strstr(g_ogl_config.glsl_version, "3.30")) + else if (GLExtensions::Version() == 330) { g_ogl_config.eSupportedGLSLVersion = GLSL_330; } |
