[PATCH v2 2/2] include: Add dxgi1_4.idl

Andrey Gusev andrey.goosev at gmail.com
Mon Jun 26 07:54:11 CDT 2017


Signed-off-by: Andrey Gusev <andrey.goosev at gmail.com>
---
 include/Makefile.in |  1 +
 include/dxgi1_4.idl | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 include/dxgitype.h  | 16 ++++++++++++++++
 3 files changed, 63 insertions(+)
 create mode 100644 include/dxgi1_4.idl

diff --git a/include/Makefile.in b/include/Makefile.in
index 822a803..eb2666d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -66,6 +66,7 @@ IDL_SRCS = \
 	dxgi.idl \
 	dxgi1_2.idl \
 	dxgi1_3.idl \
+	dxgi1_4.idl \
 	dxva2api.idl \
 	dyngraph.idl \
 	endpointvolume.idl \
diff --git a/include/dxgi1_4.idl b/include/dxgi1_4.idl
new file mode 100644
index 0000000..a2b7612
--- /dev/null
+++ b/include/dxgi1_4.idl
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2017 Andrey Gusev
+ *
+ * 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_3.idl";
+
+[
+    object,
+    uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1),
+    local,
+    pointer_default(unique)
+]
+interface IDXGISwapChain3 : IDXGISwapChain2
+{
+    UINT GetCurrentBackBufferIndex();
+
+    HRESULT CheckColorSpaceSupport(
+            [in] DXGI_COLOR_SPACE_TYPE ColorSpace,
+            [out] UINT* pColorSpaceSupport);
+
+    HRESULT SetColorSpace1(
+            [in] DXGI_COLOR_SPACE_TYPE ColorSpace);
+
+    HRESULT ResizeBuffers1(
+            [in] UINT BufferCount,
+            [in] UINT Width,
+            [in] UINT Height,
+            [in] DXGI_FORMAT Format,
+            [in] UINT SwapChainFlags,
+            [in] const UINT* pCreationNodeMask,
+            [in] IUnknown* const* ppPresentQueue);
+}
diff --git a/include/dxgitype.h b/include/dxgitype.h
index 13df046..139391d 100644
--- a/include/dxgitype.h
+++ b/include/dxgitype.h
@@ -93,4 +93,20 @@ typedef struct DXGI_GAMMA_CONTROL {
     DXGI_RGB GammaCurve[1025];
 } DXGI_GAMMA_CONTROL;
 
+typedef enum DXGI_COLOR_SPACE_TYPE {
+    DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709        = 0,
+    DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_P709        = 1,
+    DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P709      = 2,
+    DXGI_COLOR_SPACE_RGB_STUDIO_G22_NONE_P2020     = 3,
+    DXGI_COLOR_SPACE_RESERVED                      = 4,
+    DXGI_COLOR_SPACE_YCBCR_FULL_G22_NONE_P709_X601 = 5,
+    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P601    = 6,
+    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P601      = 7,
+    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P709    = 8,
+    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P709      = 9,
+    DXGI_COLOR_SPACE_YCBCR_STUDIO_G22_LEFT_P2020   = 10,
+    DXGI_COLOR_SPACE_YCBCR_FULL_G22_LEFT_P2020     = 11,
+    DXGI_COLOR_SPACE_CUSTOM                        = 0xffffffff
+} DXGI_COLOR_SPACE_TYPE;
+
 #endif
-- 
2.7.5




More information about the wine-patches mailing list