[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