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
try var renderers = new [] { Settings.Graphics.Renderer, "Sdl2", "Gl", "Cg" };
foreach (var r in renderers)
{ {
Renderer.Initialize(Game.Settings.Graphics.Mode); Settings.Graphics.Renderer = r;
} try
catch (Exception e) {
{ Renderer.Initialize(Settings.Graphics.Mode);
Log.Write("graphics", "{0}", e); break;
Console.WriteLine("Renderer initialization failed. Fallback in place. Check graphics.log for details."); }
Settings.Graphics.Renderer = new GraphicSettings().Renderer; catch (Exception e)
Renderer.Initialize(Settings.Graphics.Mode); {
Log.Write("graphics", "{0}", e);
Console.WriteLine("Renderer initialization failed. Fallback in place. Check graphics.log for details.");
}
} }
Renderer = new Renderer(); Renderer = new Renderer();