[vlc-devel] [PATCH] contrib: force D3D11 in desktop mode

Steve Lhomme robux4 at videolabs.io
Tue Oct 24 14:02:09 CEST 2017


---
 contrib/src/d3d11/d3d11.patch | 42 ++++++++++++++++++++++++++++++++++++++++++
 contrib/src/d3d11/rules.mak   |  2 +-
 2 files changed, 43 insertions(+), 1 deletion(-)
 create mode 100644 contrib/src/d3d11/d3d11.patch

diff --git a/contrib/src/d3d11/d3d11.patch b/contrib/src/d3d11/d3d11.patch
new file mode 100644
index 0000000000..059167c55a
--- /dev/null
+++ b/contrib/src/d3d11/d3d11.patch
@@ -0,0 +1,42 @@
+--- tarballs/d3d11.idl	2017-10-23 16:23:45.668884700 +0200
++++ tarballs/d3d11.idl.mscver	2017-10-23 18:58:07.415372300 +0200
+@@ -17,6 +17,25 @@
+  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+  */
+ 
++cpp_quote("#if defined(_WIN32_WINNT) && _WIN32_WINNT <= 0x603")
++cpp_quote("# if WINAPI_FAMILY == WINAPI_FAMILY_PC_APP")
++cpp_quote("#  ifdef _INC_WINAPIFAMILY")
++cpp_quote("#   undef _INC_WINAPIFAMILY")
++cpp_quote("#  endif")
++cpp_quote("#  undef WINAPI_FAMILY")
++cpp_quote("#  define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP")
++cpp_quote("#  define WINAPI_FAMILY_OVERRIDE_PC")
++cpp_quote("# elif WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP")
++cpp_quote("#  ifdef _INC_WINAPIFAMILY")
++cpp_quote("#   undef _INC_WINAPIFAMILY")
++cpp_quote("#  endif")
++cpp_quote("#  undef WINAPI_FAMILY")
++cpp_quote("#  define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP")
++cpp_quote("#  define WINAPI_FAMILY_OVERRIDE_PHONE")
++cpp_quote("# endif")
++cpp_quote("#endif")
++
++
+ import "oaidl.idl";
+ import "ocidl.idl";
+ import "dxgi.idl";
+@@ -3224,3 +3243,13 @@ cpp_quote("    D3D_FEATURE_LEVEL*,ID3D11
+         HMODULE swrast, UINT flags, const D3D_FEATURE_LEVEL *feature_levels, UINT levels, UINT sdk_version,
+         const DXGI_SWAP_CHAIN_DESC *swapchain_desc, IDXGISwapChain **swapchain, ID3D11Device **device,
+         D3D_FEATURE_LEVEL *obtained_feature_level, ID3D11DeviceContext **immediate_context);
++
++cpp_quote("#if defined(WINAPI_FAMILY_OVERRIDE_PC)")
++cpp_quote("# undef _INC_WINAPIFAMILY")
++cpp_quote("# undef WINAPI_FAMILY")
++cpp_quote("# define WINAPI_FAMILY WINAPI_FAMILY_PC_APP")
++cpp_quote("# elif defined(WINAPI_FAMILY_OVERRIDE_PHONE)")
++cpp_quote("# undef _INC_WINAPIFAMILY")
++cpp_quote("# undef WINAPI_FAMILY")
++cpp_quote("# define WINAPI_FAMILY WINAPI_FAMILY_PHONE_APP")
++cpp_quote("#endif")
diff --git a/contrib/src/d3d11/rules.mak b/contrib/src/d3d11/rules.mak
index cbe3238ccc..2abdd7c7ee 100644
--- a/contrib/src/d3d11/rules.mak
+++ b/contrib/src/d3d11/rules.mak
@@ -49,7 +49,7 @@ $(TARBALLS)/dxgitype.h:
 
 d3d11: .sum-d3d11
 	mkdir -p $@
-	cp $(TARBALLS)/d3d11.idl $@ && cd $@ && patch -fp1 < ../$(SRC)/d3d11/processor_format.patch
+	cp $(TARBALLS)/d3d11.idl $@ && cd $@ && patch -fp1 < ../$(SRC)/d3d11/processor_format.patch && patch -fp1 < ../$(SRC)/d3d11/d3d11.patch
 
 dxgi: .sum-d3d11
 	mkdir -p $@
-- 
2.14.2



More information about the vlc-devel mailing list