From 193176cd0a43aab76a677cb67bbcecdb03c811f8 Mon Sep 17 00:00:00 2001 From: Chuck Walbourn Date: Fri, 2 Nov 2018 22:12:27 -0700 Subject: [PATCH] SystemInfoUWP updated for Windows 10 October 2018 --- UWPSamples/System/SystemInfoUWP/Readme.docx | Bin 785968 -> 787302 bytes .../System/SystemInfoUWP/SystemInfo.cpp | 40 ++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/UWPSamples/System/SystemInfoUWP/Readme.docx b/UWPSamples/System/SystemInfoUWP/Readme.docx index 0287e004e966034e97bf1e2298aa21ef234792c5..1bffde77c612bcf9ffb23003be8b37bb67635dd6 100644 GIT binary patch delta 16745 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 b`00Pshd*HXL6Be4!9QWiAz0pFzjywBw9{^U delta 15246 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 VI9`yoyHqYvI5LR0$1j@)`ai=o?iBz4 diff --git a/UWPSamples/System/SystemInfoUWP/SystemInfo.cpp b/UWPSamples/System/SystemInfoUWP/SystemInfo.cpp index cde1d1a9..b9d70e41 100644 --- a/UWPSamples/System/SystemInfoUWP/SystemInfo.cpp +++ b/UWPSamples/System/SystemInfoUWP/SystemInfo.cpp @@ -444,9 +444,11 @@ void Sample::Render() bool isuniversal4 = ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 4, 0); bool isuniversal5 = ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 5, 0); bool isuniversal6 = ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 6, 0); + bool isuniversal7 = ApiInformation::IsApiContractPresent("Windows.Foundation.UniversalApiContract", 7, 0); bool isphone = ApiInformation::IsApiContractPresent("Windows.Phone.PhoneContract", 1, 0); bool isstore2 = ApiInformation::IsApiContractPresent("Windows.Services.Store.StoreContract", 2, 0); bool isstore3 = ApiInformation::IsApiContractPresent("Windows.Services.Store.StoreContract", 3, 0); + bool isstore4 = ApiInformation::IsApiContractPresent("Windows.Services.Store.StoreContract", 4, 0); bool xliveStorage = ApiInformation::IsApiContractPresent("Windows.Gaming.XboxLive.StorageApiContract", 1, 0); bool xliveSecure = ApiInformation::IsApiContractPresent("Windows.Networking.XboxLive.XboxLiveSecureSocketsContract", 1, 0); @@ -465,6 +467,7 @@ void Sample::Render() if (isuniversal4) { wcscat_s(contracts, L", 4.0"); } if (isuniversal5) { wcscat_s(contracts, L", 5.0"); } if (isuniversal6) { wcscat_s(contracts, L", 6.0"); } + if (isuniversal7) { wcscat_s(contracts, L", 7.0"); } DrawStringLeft(m_batch.get(), m_smallFont.get(), L"UniversalApiContract", left, y, m_scale); y += DrawStringRight(m_batch.get(), m_smallFont.get(), contracts, right, y, m_scale); @@ -476,6 +479,7 @@ void Sample::Render() wcscpy_s(contracts, L"1.0"); if (isstore2) { wcscat_s(contracts, L", 2.0"); } if (isstore3) { wcscat_s(contracts, L", 3.0"); } + if (isstore4) { wcscat_s(contracts, L", 4.0"); } DrawStringLeft(m_batch.get(), m_smallFont.get(), L"StoreContract", left, y, m_scale); y += DrawStringRight(m_batch.get(), m_smallFont.get(), contracts, right, y, m_scale); @@ -1035,6 +1039,11 @@ void Sample::Render() #if defined(NTDDI_WIN10_RS4) && (NTDDI_VERSION >= NTDDI_WIN10_RS4) case D3D_SHADER_MODEL_6_2: shaderModelVer = L"6.2"; break; #endif + + #if defined(NTDDI_WIN10_RS5) && (NTDDI_VERSION >= NTDDI_WIN10_RS5) + case D3D_SHADER_MODEL_6_3: shaderModelVer = L"6.3"; break; + case D3D_SHADER_MODEL_6_4: shaderModelVer = L"6.4"; break; + #endif } wchar_t buff[64] = {}; @@ -1313,6 +1322,37 @@ void Sample::Render() y += DrawStringRight(m_batch.get(), m_smallFont.get(), shareTier, right, y, m_scale); } #endif + + // Optional Direct3D 12 features for Windows 10 October 2018 Update + #if defined(NTDDI_WIN10_RS5) && (NTDDI_VERSION >= NTDDI_WIN10_RS5) + D3D12_FEATURE_DATA_D3D12_OPTIONS5 d3d12opts5 = {}; + if (SUCCEEDED(device->CheckFeatureSupport(D3D12_FEATURE_D3D12_OPTIONS5, &d3d12opts5, sizeof(d3d12opts5)))) + { + DrawStringLeft(m_batch.get(), m_smallFont.get(), L"SRVOnlyTiledResourceTier3", left, y, m_scale); + y += DrawStringRight(m_batch.get(), m_smallFont.get(), d3d12opts5.SRVOnlyTiledResourceTier3 ? L"true" : L"false", right, y, m_scale); + + const wchar_t* passTier = L"Unknown"; + switch (d3d12opts5.RenderPassesTier) + { + case D3D12_RENDER_PASS_TIER_0: passTier = L"Tier 0"; break; + case D3D12_RENDER_PASS_TIER_1: passTier = L"Tier 1"; break; + case D3D12_RENDER_PASS_TIER_2: passTier = L"Tier 2"; break; + } + + DrawStringLeft(m_batch.get(), m_smallFont.get(), L"RenderPassesTier", left, y, m_scale); + y += DrawStringRight(m_batch.get(), m_smallFont.get(), passTier, right, y, m_scale); + + const wchar_t* rtTier = L"Unknown"; + switch (d3d12opts5.RaytracingTier) + { + case D3D12_RAYTRACING_TIER_NOT_SUPPORTED: rtTier = L"Not Supported"; break; + case D3D12_RAYTRACING_TIER_1_0: rtTier = L"Tier 1"; break; + } + + DrawStringLeft(m_batch.get(), m_smallFont.get(), L"RaytracingTier", left, y, m_scale); + y += DrawStringRight(m_batch.get(), m_smallFont.get(), rtTier, right, y, m_scale); + } + #endif } } break;