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