271 lines
9.5 KiB
Diff
271 lines
9.5 KiB
Diff
From f12b3c23e8b9a4bd727890317662befe3139a96d Mon Sep 17 00:00:00 2001
|
|
From: Alexey Pavlov <alexpux@gmail.com>
|
|
Date: Thu, 14 Sep 2017 11:21:16 +0300
|
|
Subject: [PATCH] DirectX 11 fixes for VLC
|
|
|
|
---
|
|
mingw-w64-headers/Makefile.am | 1 +
|
|
mingw-w64-headers/Makefile.in | 1 +
|
|
mingw-w64-headers/direct-x/include/d3d11.h | 5 +
|
|
mingw-w64-headers/direct-x/include/d3d11.idl | 5 +
|
|
mingw-w64-headers/direct-x/include/d3d11_1.h | 5 +
|
|
mingw-w64-headers/direct-x/include/dxgidebug.h | 139 +++++++++++++++++++++++
|
|
mingw-w64-headers/direct-x/include/dxgidebug.idl | 43 +++++++
|
|
7 files changed, 199 insertions(+)
|
|
create mode 100644 mingw-w64-headers/direct-x/include/dxgidebug.h
|
|
create mode 100644 mingw-w64-headers/direct-x/include/dxgidebug.idl
|
|
|
|
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am
|
|
index 68102d1f..5eb74e81 100644
|
|
--- a/mingw-w64-headers/Makefile.am
|
|
+++ b/mingw-w64-headers/Makefile.am
|
|
@@ -220,6 +220,7 @@ IDL_SRCS = \
|
|
direct-x/include/dxgi1_4.idl \
|
|
direct-x/include/dxgi1_5.idl \
|
|
direct-x/include/dxgi1_6.idl \
|
|
+ direct-x/include/dxgidebug.idl \
|
|
direct-x/include/dxgicommon.idl \
|
|
direct-x/include/dxgiformat.idl \
|
|
direct-x/include/dxgitype.idl \
|
|
diff --git a/mingw-w64-headers/Makefile.in b/mingw-w64-headers/Makefile.in
|
|
index 0769a1c9..6a3dbc9b 100644
|
|
--- a/mingw-w64-headers/Makefile.in
|
|
+++ b/mingw-w64-headers/Makefile.in
|
|
@@ -519,6 +519,7 @@ EXTRA_HEADERS = \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgi1_4.idl \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgi1_5.idl \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgi1_6.idl \
|
|
+@HAVE_WIDL_TRUE@ direct-x/include/dxgidebug.idl \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgicommon.idl \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgiformat.idl \
|
|
@HAVE_WIDL_TRUE@ direct-x/include/dxgitype.idl \
|
|
diff --git a/mingw-w64-headers/direct-x/include/d3d11.h b/mingw-w64-headers/direct-x/include/d3d11.h
|
|
index 52ba21c2..0696af64 100644
|
|
--- a/mingw-w64-headers/direct-x/include/d3d11.h
|
|
+++ b/mingw-w64-headers/direct-x/include/d3d11.h
|
|
@@ -13309,6 +13309,11 @@ typedef enum D3D11_CREATE_DEVICE_FLAG {
|
|
D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT = 0x100,
|
|
D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x800
|
|
} D3D11_CREATE_DEVICE_FLAG;
|
|
+typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT {
|
|
+ D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x00000001,
|
|
+ D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x00000002,
|
|
+} D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT;
|
|
+
|
|
#define D3D11_SDK_VERSION (7)
|
|
|
|
#include <d3d10_1.h>
|
|
diff --git a/mingw-w64-headers/direct-x/include/d3d11.idl b/mingw-w64-headers/direct-x/include/d3d11.idl
|
|
index 2b67c4fe..a2d1c284 100644
|
|
--- a/mingw-w64-headers/direct-x/include/d3d11.idl
|
|
+++ b/mingw-w64-headers/direct-x/include/d3d11.idl
|
|
@@ -3759,6 +3759,11 @@ typedef enum D3D11_CREATE_DEVICE_FLAG {
|
|
D3D11_CREATE_DEVICE_VIDEO_SUPPORT = 0x0800
|
|
} D3D11_CREATE_DEVICE_FLAG;
|
|
|
|
+typedef enum D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT {
|
|
+ D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_INPUT = 0x00000001,
|
|
+ D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT_OUTPUT = 0x00000002,
|
|
+} D3D11_VIDEO_PROCESSOR_FORMAT_SUPPORT;
|
|
+
|
|
const UINT D3D11_SDK_VERSION = 7;
|
|
|
|
cpp_quote("#include <d3d10_1.h>")
|
|
diff --git a/mingw-w64-headers/direct-x/include/dxgidebug.h b/mingw-w64-headers/direct-x/include/dxgidebug.h
|
|
new file mode 100644
|
|
index 00000000..20d52e18
|
|
--- /dev/null
|
|
+++ b/mingw-w64-headers/direct-x/include/dxgidebug.h
|
|
@@ -0,0 +1,139 @@
|
|
+/*** Autogenerated by WIDL 1.6 from dxgidebug.idl - Do not edit ***/
|
|
+
|
|
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
+#endif
|
|
+
|
|
+#include <rpc.h>
|
|
+#include <rpcndr.h>
|
|
+
|
|
+#ifndef COM_NO_WINDOWS_H
|
|
+#include <windows.h>
|
|
+#include <ole2.h>
|
|
+#endif
|
|
+
|
|
+#ifndef __dxgidebug_h__
|
|
+#define __dxgidebug_h__
|
|
+
|
|
+/* Forward declarations */
|
|
+
|
|
+#ifndef __IDXGIDebug_FWD_DEFINED__
|
|
+#define __IDXGIDebug_FWD_DEFINED__
|
|
+typedef interface IDXGIDebug IDXGIDebug;
|
|
+#endif
|
|
+
|
|
+/* Headers for imported files */
|
|
+
|
|
+#include <oaidl.h>
|
|
+
|
|
+#ifdef __cplusplus
|
|
+extern "C" {
|
|
+#endif
|
|
+
|
|
+DEFINE_GUID(DXGI_DEBUG_ALL, 0xe48ae283, 0xda80, 0x490b,0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08);
|
|
+DEFINE_GUID(DXGI_DEBUG_DX, 0x35cdd7fc, 0x13b2, 0x421d,0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);
|
|
+DEFINE_GUID(DXGI_DEBUG_DXGI, 0x25cddaa4, 0xb1c6, 0x47e1,0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);
|
|
+DEFINE_GUID(DXGI_DEBUG_APP, 0x06cd6e01, 0x4219, 0x4ebd,0x87, 0x90, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62);
|
|
+typedef enum DXGI_DEBUG_RLO_FLAGS {
|
|
+ DXGI_DEBUG_RLO_SUMMARY = 0x1,
|
|
+ DXGI_DEBUG_RLO_DETAIL = 0x2,
|
|
+ DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x4,
|
|
+ DXGI_DEBUG_RLO_ALL = 0x7
|
|
+} DXGI_DEBUG_RLO_FLAGS;
|
|
+/*****************************************************************************
|
|
+ * IDXGIDebug interface
|
|
+ */
|
|
+#ifndef __IDXGIDebug_INTERFACE_DEFINED__
|
|
+#define __IDXGIDebug_INTERFACE_DEFINED__
|
|
+
|
|
+DEFINE_GUID(IID_IDXGIDebug, 0x119e7452, 0xde9e, 0x40fe, 0x88,0x06, 0x88,0xf9,0x0c,0x12,0xb4,0x41);
|
|
+#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
+MIDL_INTERFACE("119e7452-de9e-40fe-8806-88f90c12b441")
|
|
+IDXGIDebug : public IUnknown
|
|
+{
|
|
+ virtual HRESULT STDMETHODCALLTYPE ReportLiveObjects(
|
|
+ GUID apiid,
|
|
+ DXGI_DEBUG_RLO_FLAGS flags) = 0;
|
|
+
|
|
+};
|
|
+#ifdef __CRT_UUID_DECL
|
|
+__CRT_UUID_DECL(IDXGIDebug, 0x119e7452, 0xde9e, 0x40fe, 0x88,0x06, 0x88,0xf9,0x0c,0x12,0xb4,0x41)
|
|
+#endif
|
|
+#else
|
|
+typedef struct IDXGIDebugVtbl {
|
|
+ BEGIN_INTERFACE
|
|
+
|
|
+ /*** IUnknown methods ***/
|
|
+ HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
+ IDXGIDebug* This,
|
|
+ REFIID riid,
|
|
+ void **ppvObject);
|
|
+
|
|
+ ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
+ IDXGIDebug* This);
|
|
+
|
|
+ ULONG (STDMETHODCALLTYPE *Release)(
|
|
+ IDXGIDebug* This);
|
|
+
|
|
+ /*** IDXGIDebug methods ***/
|
|
+ HRESULT (STDMETHODCALLTYPE *ReportLiveObjects)(
|
|
+ IDXGIDebug* This,
|
|
+ GUID apiid,
|
|
+ DXGI_DEBUG_RLO_FLAGS flags);
|
|
+
|
|
+ END_INTERFACE
|
|
+} IDXGIDebugVtbl;
|
|
+interface IDXGIDebug {
|
|
+ CONST_VTBL IDXGIDebugVtbl* lpVtbl;
|
|
+};
|
|
+
|
|
+#ifdef COBJMACROS
|
|
+#ifndef WIDL_C_INLINE_WRAPPERS
|
|
+/*** IUnknown methods ***/
|
|
+#define IDXGIDebug_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
+#define IDXGIDebug_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
+#define IDXGIDebug_Release(This) (This)->lpVtbl->Release(This)
|
|
+/*** IDXGIDebug methods ***/
|
|
+#define IDXGIDebug_ReportLiveObjects(This,apiid,flags) (This)->lpVtbl->ReportLiveObjects(This,apiid,flags)
|
|
+#else
|
|
+/*** IUnknown methods ***/
|
|
+static FORCEINLINE HRESULT IDXGIDebug_QueryInterface(IDXGIDebug* This,REFIID riid,void **ppvObject) {
|
|
+ return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
+}
|
|
+static FORCEINLINE ULONG IDXGIDebug_AddRef(IDXGIDebug* This) {
|
|
+ return This->lpVtbl->AddRef(This);
|
|
+}
|
|
+static FORCEINLINE ULONG IDXGIDebug_Release(IDXGIDebug* This) {
|
|
+ return This->lpVtbl->Release(This);
|
|
+}
|
|
+/*** IDXGIDebug methods ***/
|
|
+static FORCEINLINE HRESULT IDXGIDebug_ReportLiveObjects(IDXGIDebug* This,GUID apiid,DXGI_DEBUG_RLO_FLAGS flags) {
|
|
+ return This->lpVtbl->ReportLiveObjects(This,apiid,flags);
|
|
+}
|
|
+#endif
|
|
+#endif
|
|
+
|
|
+#endif
|
|
+
|
|
+HRESULT STDMETHODCALLTYPE IDXGIDebug_ReportLiveObjects_Proxy(
|
|
+ IDXGIDebug* This,
|
|
+ GUID apiid,
|
|
+ DXGI_DEBUG_RLO_FLAGS flags);
|
|
+void __RPC_STUB IDXGIDebug_ReportLiveObjects_Stub(
|
|
+ IRpcStubBuffer* This,
|
|
+ IRpcChannelBuffer* pRpcChannelBuffer,
|
|
+ PRPC_MESSAGE pRpcMessage,
|
|
+ DWORD* pdwStubPhase);
|
|
+
|
|
+#endif /* __IDXGIDebug_INTERFACE_DEFINED__ */
|
|
+
|
|
+/* Begin additional prototypes for all interfaces */
|
|
+
|
|
+
|
|
+/* End additional prototypes */
|
|
+
|
|
+#ifdef __cplusplus
|
|
+}
|
|
+#endif
|
|
+
|
|
+#endif /* __dxgidebug_h__ */
|
|
diff --git a/mingw-w64-headers/direct-x/include/dxgidebug.idl b/mingw-w64-headers/direct-x/include/dxgidebug.idl
|
|
new file mode 100644
|
|
index 00000000..7ed13940
|
|
--- /dev/null
|
|
+++ b/mingw-w64-headers/direct-x/include/dxgidebug.idl
|
|
@@ -0,0 +1,43 @@
|
|
+/*
|
|
+ * Copyright 2015 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, MA02110-1301, USA
|
|
+ */
|
|
+
|
|
+import "oaidl.idl";
|
|
+
|
|
+cpp_quote("DEFINE_GUID(DXGI_DEBUG_ALL, 0xe48ae283, 0xda80, 0x490b,0x87, 0xe6, 0x43, 0xe9, 0xa9, 0xcf, 0xda, 0x08);")
|
|
+cpp_quote("DEFINE_GUID(DXGI_DEBUG_DX, 0x35cdd7fc, 0x13b2, 0x421d,0xa5, 0xd7, 0x7e, 0x44, 0x51, 0x28, 0x7d, 0x64);")
|
|
+cpp_quote("DEFINE_GUID(DXGI_DEBUG_DXGI, 0x25cddaa4, 0xb1c6, 0x47e1,0xac, 0x3e, 0x98, 0x87, 0x5b, 0x5a, 0x2e, 0x2a);")
|
|
+cpp_quote("DEFINE_GUID(DXGI_DEBUG_APP, 0x06cd6e01, 0x4219, 0x4ebd,0x87, 0x90, 0x27, 0xed, 0x23, 0x36, 0x0c, 0x62);")
|
|
+
|
|
+typedef enum DXGI_DEBUG_RLO_FLAGS {
|
|
+ DXGI_DEBUG_RLO_SUMMARY = 0x0001,
|
|
+ DXGI_DEBUG_RLO_DETAIL = 0x0002,
|
|
+ DXGI_DEBUG_RLO_IGNORE_INTERNAL = 0x0004,
|
|
+ DXGI_DEBUG_RLO_ALL = 0x0007
|
|
+} DXGI_DEBUG_RLO_FLAGS;
|
|
+
|
|
+[
|
|
+ object,
|
|
+ local,
|
|
+ uuid(119e7452-de9e-40fe-8806-88f90c12b441)
|
|
+]
|
|
+interface IDXGIDebug : IUnknown
|
|
+{
|
|
+ HRESULT ReportLiveObjects(
|
|
+ [in] GUID apiid,
|
|
+ [in] DXGI_DEBUG_RLO_FLAGS flags);
|
|
+}
|
|
--
|
|
2.14.2
|
|
|