Browse Source

Make video support creation flag only be set when running on Windows 8 or newer (Direct3D11.1 or newer).

Jeremy Koritzinsky 9 years ago
parent
commit
e2ba8fb5bb
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs

+ 7 - 1
src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs

@@ -55,10 +55,16 @@ namespace Avalonia.Direct2D1
                 SharpDX.Direct3D.FeatureLevel.Level_9_2,
                 SharpDX.Direct3D.FeatureLevel.Level_9_1,
             };
+            var creationFlags = SharpDX.Direct3D11.DeviceCreationFlags.BgraSupport;
+            var osVersion = Environment.OSVersion.Version;
+            if (osVersion.Major > 6 || (osVersion.Major == 6 && osVersion.Minor >= 2)) // If Windows 8 or newer
+            {
+                creationFlags |= SharpDX.Direct3D11.DeviceCreationFlags.VideoSupport;
+            }
 
             using (var d3dDevice = new SharpDX.Direct3D11.Device(
                 SharpDX.Direct3D.DriverType.Hardware,
-                SharpDX.Direct3D11.DeviceCreationFlags.BgraSupport | SharpDX.Direct3D11.DeviceCreationFlags.VideoSupport,
+                creationFlags,
                 featureLevels))
             {
                 s_dxgiDevice = d3dDevice.QueryInterface<SharpDX.DXGI.Device>();