specs: Add DXGI interfaces added on Windows 10.0.18362 SDK.
Change-Id: Ie007c122efbaf219e3bbe379a838fd7031b41bef
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/apitrace/+/2224552
Reviewed-by: Po-Hsien Wang <pwang@chromium.org>
Commit-Queue: Robert Tarasov <tutankhamen@chromium.org>
Tested-by: Robert Tarasov <tutankhamen@chromium.org>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5db3128..86e9757 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,7 +158,7 @@
endif ()
# https://developer.microsoft.com/en-us/windows/projects/campaigns/windows-dev-essentials-how-windows-10-sdks-ship
- set (REQUIRED_WINDOWS_SDK 10.0.14393.0)
+ set (REQUIRED_WINDOWS_SDK 10.0.18362)
if (NOT DirectX_D3D11_4_INCLUDE_FOUND)
if (CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION)
message (SEND_ERROR
diff --git a/specs/d3d11.py b/specs/d3d11.py
index 677aed8..460be65 100644
--- a/specs/d3d11.py
+++ b/specs/d3d11.py
@@ -1244,6 +1244,17 @@
(D3D11_SHADER_CACHE_SUPPORT_FLAGS, 'SupportFlags'),
])
+D3D11_SHARED_RESOURCE_TIER = Enum("D3D11_SHARED_RESOURCE_TIER", [
+ "D3D11_SHARED_RESOURCE_TIER_0",
+ "D3D11_SHARED_RESOURCE_TIER_1",
+ "D3D11_SHARED_RESOURCE_TIER_2",
+])
+
+D3D11_FEATURE_DATA_D3D11_OPTIONS5 = Struct("D3D11_FEATURE_DATA_D3D11_OPTIONS5", [
+ (D3D11_SHARED_RESOURCE_TIER, "SharedResourceTier"),
+])
+
+
D3D11_FEATURE, D3D11_FEATURE_DATA = EnumPolymorphic("D3D11_FEATURE", "Feature", [
("D3D11_FEATURE_THREADING", Pointer(D3D11_FEATURE_DATA_THREADING)),
("D3D11_FEATURE_DOUBLES", Pointer(D3D11_FEATURE_DATA_DOUBLES)),
@@ -1264,6 +1275,7 @@
("D3D11_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT", Pointer(D3D11_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT)),
("D3D11_FEATURE_D3D11_OPTIONS4", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS4)),
("D3D11_FEATURE_SHADER_CACHE", Pointer(D3D11_FEATURE_DATA_SHADER_CACHE)),
+ ("D3D11_FEATURE_D3D11_OPTIONS5", Pointer(D3D11_FEATURE_DATA_D3D11_OPTIONS5)),
], Blob(Void, "FeatureSupportDataSize"), False)
D3D11_NUM_RTVS = FakeEnum(UINT, [
@@ -2825,6 +2837,7 @@
'D3D11_FENCE_FLAG_NONE',
'D3D11_FENCE_FLAG_SHARED',
'D3D11_FENCE_FLAG_SHARED_CROSS_ADAPTER',
+ 'D3D11_FENCE_FLAG_NON_MONITORED',
])
ID3D11Device4 = Interface('ID3D11Device4', ID3D11Device3)
diff --git a/specs/dxgi.py b/specs/dxgi.py
index f60b9a8..4348293 100644
--- a/specs/dxgi.py
+++ b/specs/dxgi.py
@@ -520,7 +520,7 @@
IDXGIFactory1.methods += [
StdMethod(HRESULT, "EnumAdapters1", [(UINT, "Adapter"), Out(Pointer(ObjPointer(IDXGIAdapter1)), "ppAdapter")]),
- StdMethod(BOOL, "IsCurrent", []),
+ StdMethod(BOOL, "IsCurrent", [], sideeffects=False),
]
IDXGIAdapter1.methods += [
@@ -1083,6 +1083,9 @@
'DXGI_ADAPTER_FLAG3_SOFTWARE',
'DXGI_ADAPTER_FLAG3_ACG_COMPATIBLE',
'DXGI_ADAPTER_FLAG3_FORCE_DWORD',
+ 'DXGI_ADAPTER_FLAG3_SUPPORT_MONITORED_FENCES',
+ 'DXGI_ADAPTER_FLAG3_SUPPORT_NON_MONITORED_FENCES',
+ 'DXGI_ADAPTER_FLAG3_KEYED_MUTEX_CONFORMANCE',
])
DXGI_ADAPTER_DESC3 = Struct('DXGI_ADAPTER_DESC3', [
@@ -1123,6 +1126,13 @@
'DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAG_CURSOR_STRETCHED',
])
+DXGI_GPU_PREFERENCE = Enum('DXGI_GPU_PREFERENCE', [
+ 'DXGI_GPU_PREFERENCE_UNSPECIFIED',
+ 'DXGI_GPU_PREFERENCE_MINIMUM_POWER',
+ 'DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE',
+])
+
+IDXGIFactory6 = Interface('IDXGIFactory6', IDXGIFactory5)
IDXGIAdapter4 = Interface('IDXGIAdapter4', IDXGIAdapter3)
IDXGIOutput6 = Interface('IDXGIOutput6', IDXGIOutput5)
@@ -1135,7 +1145,16 @@
StdMethod(HRESULT, 'CheckHardwareCompositionSupport', [Out(Pointer(DXGI_HARDWARE_COMPOSITION_SUPPORT_FLAGS), 'pFlags')], sideeffects=False),
]
+IDXGIFactory6.methods += [
+ StdMethod(HRESULT, 'EnumAdapterByGpuPreference', [(UINT, 'Adapter'), (DXGI_GPU_PREFERENCE, 'GpuPreference'), (REFIID, 'riid'), Out(Pointer(ObjPointer(Void)), 'ppvAdapter')]),
+]
+
dxgi.addInterfaces([
+ IDXGIFactory6,
IDXGIAdapter4,
IDXGIOutput6,
])
+
+dxgi.addFunctions([
+ StdFunction(HRESULT, "DXGIDeclareAdapterRemovalSupport", [], sideeffects=False),
+])