[vlc-commits] d3d11: add dxgi1_4.h generation

Steve Lhomme git at videolan.org
Sun Apr 17 10:39:56 CEST 2016


vlc | branch: master | Steve Lhomme <robUx4 at videolabs.io> | Sat Apr 16 18:47:32 2016 +0300| [9ea6b6d8372470761c82d828fbfee284ecc91883] | committer: Jean-Baptiste Kempf

d3d11: add dxgi1_4.h generation

for IDXGISwapChain3::CheckColorSpaceSupport() & IDXGISwapChain3::SetColorSpace1()

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9ea6b6d8372470761c82d828fbfee284ecc91883
---

 contrib/src/d3d11/dxgi1_4.idl |   54 +++++++++++++++++++++++++++++++++++++++++
 contrib/src/d3d11/rules.mak   |   10 +++++++-
 2 files changed, 63 insertions(+), 1 deletion(-)

diff --git a/contrib/src/d3d11/dxgi1_4.idl b/contrib/src/d3d11/dxgi1_4.idl
new file mode 100644
index 0000000..ec5b3f0
--- /dev/null
+++ b/contrib/src/d3d11/dxgi1_4.idl
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2016 Steve Lhomme
+ *
+ * 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,
+    local,
+    uuid(94d99bdb-f1f8-4ab0-b236-7da0170edab1)
+]
+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
+    );
+};
+
+typedef enum DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG
+{
+    DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_PRESENT         = 0x01,
+    DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG_OVERLAY_PRESENT = 0x02,
+} DXGI_SWAP_CHAIN_COLOR_SPACE_SUPPORT_FLAG;
diff --git a/contrib/src/d3d11/rules.mak b/contrib/src/d3d11/rules.mak
index 21570ae..ebc2892 100644
--- a/contrib/src/d3d11/rules.mak
+++ b/contrib/src/d3d11/rules.mak
@@ -18,10 +18,11 @@ DST_DXGIDEBUG_H = $(PREFIX)/include/dxgidebug.h
 DST_DXGITYPE_H = $(PREFIX)/include/dxgitype.h
 DST_DXGI12_H = $(PREFIX)/include/dxgi1_2.h
 DST_DXGI13_H = $(PREFIX)/include/dxgi1_3.h
+DST_DXGI14_H = $(PREFIX)/include/dxgi1_4.h
 
 
 ifdef HAVE_WIN32
-PKGS += d3d11 dxgi13 dxgitype
+PKGS += d3d11 dxgi13 dxgi14 dxgitype
 endif
 
 $(TARBALLS)/d3d11.idl:
@@ -66,9 +67,16 @@ $(DST_DXGI13_H): $(SRC)/d3d11/dxgi1_3.idl $(DST_DXGI12_H)
 	mkdir -p -- "$(PREFIX)/include/"
 	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(IDL_INC_PATH) -h -o $@ $<
 
+$(DST_DXGI14_H): $(SRC)/d3d11/dxgi1_4.idl $(DST_DXGI13_H)
+	mkdir -p -- "$(PREFIX)/include/"
+	$(WIDL) -DBOOL=WINBOOL -Idxgi12 -I$(IDL_INC_PATH) -h -o $@ $<
+
 .dxgi13: $(DST_DXGI13_H)
 	touch $@
 
+.dxgi14: $(DST_DXGI14_H)
+	touch $@
+
 .dxgitype: $(DST_DXGITYPE_H)
 	touch $@
 



More information about the vlc-commits mailing list