try all available renderers from a prioritized list

This commit is contained in:
Matthias Mailänder
2013-11-09 11:06:02 +01:00
parent 5d35dc0cc0
commit 0f17b03d7e

View File

@@ -296,16 +296,20 @@ namespace OpenRA
} }
FileSystem.Mount("."); // Needed to access shaders FileSystem.Mount("."); // Needed to access shaders
var renderers = new [] { Settings.Graphics.Renderer, "Sdl2", "Gl", "Cg" };
foreach (var r in renderers)
{
Settings.Graphics.Renderer = r;
try try
{ {
Renderer.Initialize(Game.Settings.Graphics.Mode); Renderer.Initialize(Settings.Graphics.Mode);
break;
} }
catch (Exception e) catch (Exception e)
{ {
Log.Write("graphics", "{0}", e); Log.Write("graphics", "{0}", e);
Console.WriteLine("Renderer initialization failed. Fallback in place. Check graphics.log for details."); Console.WriteLine("Renderer initialization failed. Fallback in place. Check graphics.log for details.");
Settings.Graphics.Renderer = new GraphicSettings().Renderer; }
Renderer.Initialize(Settings.Graphics.Mode);
} }
Renderer = new Renderer(); Renderer = new Renderer();