Browse Source

add WGL option.

pull/4619/head
Dan Walmsley 6 years ago
parent
commit
8614c06002
  1. 3
      src/Avalonia.OpenGL/AngleOptions.cs
  2. 9
      src/Avalonia.OpenGL/EglDisplay.cs

3
src/Avalonia.OpenGL/AngleOptions.cs

@ -7,7 +7,8 @@ namespace Avalonia.OpenGL
public enum PlatformApi
{
DirectX9,
DirectX11
DirectX11,
WGL
}
public IList<PlatformApi> AllowedPlatformApis { get; set; } = null;

9
src/Avalonia.OpenGL/EglDisplay.cs

@ -36,7 +36,12 @@ namespace Avalonia.OpenGL
throw new OpenGlException("eglGetPlatformDisplayEXT is not supported by libegl.dll");
var allowedApis = AvaloniaLocator.Current.GetService<AngleOptions>()?.AllowedPlatformApis
?? new [] {AngleOptions.PlatformApi.DirectX11, AngleOptions.PlatformApi.DirectX9};
?? new []
{
AngleOptions.PlatformApi.WGL,
AngleOptions.PlatformApi.DirectX11,
AngleOptions.PlatformApi.DirectX9
};
foreach (var platformApi in allowedApis)
{
@ -45,6 +50,8 @@ namespace Avalonia.OpenGL
dapi = EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE;
else if (platformApi == AngleOptions.PlatformApi.DirectX11)
dapi = EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE;
else if (platformApi == AngleOptions.PlatformApi.WGL)
dapi = EGL_PLATFORM_ANGLE_TYPE_ANGLE;
else
continue;

Loading…
Cancel
Save