From 076f3c4fa1268382729063cab6d536881b3771f7 Mon Sep 17 00:00:00 2001 From: Glatzemann Date: Mon, 4 Feb 2013 11:28:51 +0000 Subject: [PATCH] applied patch #13676 by clcrutch --- .../ANX.RenderSystem.Windows.DX10/Creator.cs | 5 +++-- .../ANX.RenderSystem.Windows.DX11/Creator.cs | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX10/Creator.cs b/RenderSystems/ANX.RenderSystem.Windows.DX10/Creator.cs index 5d469b85..f869cbfd 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX10/Creator.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.DX10/Creator.cs @@ -35,8 +35,9 @@ namespace ANX.RenderSystem.Windows.DX10 { get { - //TODO: this is just a very basic version of test for support - return OSInformation.IsWindows; + Version vistaVersion = new Version(6, 0); + + return (OSInformation.IsWindows && Environment.OSVersion.Version.CompareTo(vistaVersion) > 0); } } diff --git a/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs b/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs index 58105ff1..d895d085 100644 --- a/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs +++ b/RenderSystems/ANX.RenderSystem.Windows.DX11/Creator.cs @@ -36,8 +36,22 @@ namespace ANX.RenderSystem.Windows.DX11 { get { - //TODO: this is just a very basic version of test for support - return OSInformation.IsWindows; + //Default to false + bool isSupported = false; + //Vista SP2 build number is 6002 + Version vistaSP2Version = new Version(6, 0, 002); + Version sevenVersion = new Version(6, 1); + + //DirectX 11 is available on Vista SP2 and later + if (OSInformation.IsWindows && Environment.OSVersion.Version.CompareTo(vistaSP2Version) > 0) + { + //KB971512 installed on Vista SP2 adds library C:\Windows\System32\d3d11.dll. + //This file also exits on Windows 7. + isSupported = (Environment.OSVersion.Version.CompareTo(sevenVersion) > 0 || + File.Exists(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), "System32", "d3d11.dll"))); + } + + return isSupported; } }