diff --git a/OpenRA.Renderer.Sdl2/ErrorHandler.cs b/OpenRA.Renderer.Sdl2/ErrorHandler.cs index 21988fda46..a34774103d 100644 --- a/OpenRA.Renderer.Sdl2/ErrorHandler.cs +++ b/OpenRA.Renderer.Sdl2/ErrorHandler.cs @@ -16,20 +16,23 @@ namespace OpenRA.Renderer.Sdl2 { public static class ErrorHandler { - static Version OpenGLversion; - public static void CheckGlVersion() { - var version = GL.GetString(StringName.Version).Split(' ')[0].Split('.'); - int major; - int.TryParse(version[0], out major); - int minor; - int.TryParse(version[1], out minor); + var versionString = GL.GetString(StringName.Version); + var version = versionString.Contains(" ") ? versionString.Split(' ')[0].Split('.') : versionString.Split('.'); + + int major = 0; + if (version.Length > 0) + int.TryParse(version[0], out major); + + int minor = 0; + if (version.Length > 1) + int.TryParse(version[1], out minor); + Console.WriteLine("Detected OpenGL version: {0}.{1}".F(major, minor)); - OpenGLversion = new Version(major, minor); if (major < 2) { - WriteGraphicsLog("OpenRA requires OpenGL version 2.0 or greater."); + WriteGraphicsLog("OpenRA requires OpenGL version 2.0 or greater and detected {0}.{1}".F(major, minor)); throw new InvalidProgramException("OpenGL Version Error: See graphics.log for details."); } } @@ -58,11 +61,6 @@ namespace OpenRA.Renderer.Sdl2 } Log.Write("graphics", "Renderer: {0}", GL.GetString(StringName.Renderer)); Log.Write("graphics", "GL Version: {0}", GL.GetString(StringName.Version)); - if (OpenGLversion.Major < 2) - { - Log.Write("graphics", "Note: OpenRA requires OpenGL version 2.0+.\n" - +"Please update your graphics card drivers to the latest version.\n"); - } Log.Write("graphics", "Shader Version: {0}", GL.GetString(StringName.ShadingLanguageVersion)); Log.Write("graphics", "Available extensions:"); Log.Write("graphics", GL.GetString(StringName.Extensions));