[PATCH 3/4] include: Add dxgi1_5.idl

Ihsan Akmal ihsanapps at gmail.com
Tue Sep 19 10:56:44 CDT 2017


Signed-off-by: Ihsan Akmal <ihsanapps at gmail.com>
---
 include/Makefile.in |   1 +
 include/dxgi1_5.idl | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 128 insertions(+)
 create mode 100644 include/dxgi1_5.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index 6a74825..747f27a 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -70,6 +70,7 @@ IDL_SRCS = \
 	dxgi1_2.idl \
 	dxgi1_3.idl \
 	dxgi1_4.idl \
+	dxgi1_5.idl \
 	dxva2api.idl \
 	dyngraph.idl \
 	endpointvolume.idl \
diff --git a/include/dxgi1_5.idl b/include/dxgi1_5.idl
new file mode 100644
index 0000000..86508aa
--- /dev/null
+++ b/include/dxgi1_5.idl
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2017 Ihsan Akmal
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+import "dxgi1_4.idl";
+
+typedef enum DXGI_OUTDUPL_FLAG {
+    DXGI_OUTDUPL_COMPOSITED_UI_CAPTURE_ONLY = 1,
+} DXGI_OUTDUPL_FLAG;
+
+typedef enum DXGI_HDR_METADATA_TYPE
+{
+    DXGI_HDR_METADATA_TYPE_NONE = 0,
+    DXGI_HDR_METADATA_TYPE_HDR10 = 1,
+} DXGI_HDR_METADATA_TYPE;
+
+typedef struct DXGI_HDR_METADATA_HDR10
+{
+    UINT16 RedPrimary[2];
+    UINT16 GreenPrimary[2];
+    UINT16 BluePrimary[2];
+    UINT16 WhitePoint[2];
+    UINT MaxMasteringLuminance;
+    UINT MinMasteringLuminance;
+    UINT16 MaxContentLightLevel;
+    UINT16 MaxFrameAverageLightLevel;
+} DXGI_HDR_METADATA_HDR10;
+
+typedef enum _DXGI_OFFER_RESOURCE_FLAGS
+{
+    DXGI_OFFER_RESOURCE_FLAG_ALLOW_DECOMMIT = 0x1,
+} DXGI_OFFER_RESOURCE_FLAGS;
+
+typedef enum _DXGI_RECLAIM_RESOURCE_RESULTS
+{
+    DXGI_RECLAIM_RESOURCE_RESULT_OK = 0,
+    DXGI_RECLAIM_RESOURCE_RESULT_DISCARDED = 1,
+    DXGI_RECLAIM_RESOURCE_RESULT_NOT_COMMITTED = 2,
+} DXGI_RECLAIM_RESOURCE_RESULTS;
+
+typedef enum DXGI_FEATURE
+{
+       DXGI_FEATURE_PRESENT_ALLOW_TEARING = 0,
+} DXGI_FEATURE;
+
+[
+    object,
+    uuid(80A07424-AB52-42EB-833C-0C42FD282D98),
+    local,
+    pointer_default(unique)
+]
+interface IDXGIOutput5 : IDXGIOutput4
+{
+    HRESULT DuplicateOutput1(
+        [in] IUnknown *device,
+        [in] UINT flags,
+        [in] UINT supported_formats_count,
+        [in] const DXGI_FORMAT *supported_formats,
+        [out] IDXGIOutputDuplication **output_duplication
+    );
+}
+
+[
+    object,
+    uuid(3D585D5A-BD4A-489E-B1F4-3DBCB6452FFB),
+    local,
+    pointer_default(unique)
+]
+interface IDXGISwapChain4 : IDXGISwapChain3
+{
+    HRESULT SetHDRMetaData(
+        [in] DXGI_HDR_METADATA_TYPE type,
+        [in] UINT size,
+        [in] void *metadata
+    );
+}
+
+[
+    object,
+    uuid(95B4F95F-D8DA-4CA4-9EE6-3B76D5968A10),
+    local,
+    pointer_default(unique)
+]
+interface IDXGIDevice4 : IDXGIDevice3
+{
+    HRESULT OfferResources1(
+        [in] UINT num_resources,
+        [in] IDXGIResource *const *resources,
+        [in] DXGI_OFFER_RESOURCE_PRIORITY priority,
+        [in] UINT flags
+    );
+
+    HRESULT ReclaimResources1(
+        [in] UINT num_resources,
+        [in] IDXGIResource *const *resources,
+        [out] DXGI_RECLAIM_RESOURCE_RESULTS *results
+    );
+}
+
+[
+    object,
+    uuid(7632e1f5-ee65-4dca-87fd-84cd75f8838d),
+    local,
+    pointer_default(unique)
+]
+interface IDXGIFactory5 : IDXGIFactory4
+{
+    HRESULT CheckFeatureSupport(
+        DXGI_FEATURE feature,
+        [in, out] void *feature_support_data,
+        UINT feature_support_data_size
+    );
+}
-- 
2.14.1




More information about the wine-patches mailing list