From fb6a68e6b7319aac0c36f553ebba54f930741523 Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Sun, 11 Nov 2018 19:51:22 +0300 Subject: [PATCH] Disable EGL for Win32 by default since Windows 10 seems to be shipping incompatible EGL implementation --- src/Windows/Avalonia.Win32/Win32Platform.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Windows/Avalonia.Win32/Win32Platform.cs b/src/Windows/Avalonia.Win32/Win32Platform.cs index 103ca57cdb..cf7ebeed92 100644 --- a/src/Windows/Avalonia.Win32/Win32Platform.cs +++ b/src/Windows/Avalonia.Win32/Win32Platform.cs @@ -27,11 +27,11 @@ namespace Avalonia { public static T UseWin32( this T builder, - bool deferredRendering = true) + bool deferredRendering = true, bool allowEgl = false) where T : AppBuilderBase, new() { return builder.UseWindowingSubsystem( - () => Win32.Win32Platform.Initialize(deferredRendering), + () => Win32.Win32Platform.Initialize(deferredRendering, allowEgl), "Win32"); } } @@ -66,7 +66,7 @@ namespace Avalonia.Win32 Initialize(true); } - public static void Initialize(bool deferredRendering = true) + public static void Initialize(bool deferredRendering = true, bool allowEgl = false) { AvaloniaLocator.CurrentMutable .Bind().ToSingleton() @@ -80,7 +80,8 @@ namespace Avalonia.Win32 .Bind().ToConstant(s_instance) .Bind().ToSingleton() .Bind().ToConstant(s_instance); - Win32GlManager.Initialize(); + if (allowEgl) + Win32GlManager.Initialize(); UseDeferredRendering = deferredRendering; _uiThread = Thread.CurrentThread;