vlc | branch: master | Steve Lhomme <[email protected]> | Mon Apr 18 12:57:34 2016 +0200| [5f95051e71b63674f62532b15722f485d0e2b30e] | committer: Jean-Baptiste Kempf
contrib:d3d9: add the necessary headers to use IDirect3D9ExOverlayExtension Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5f95051e71b63674f62532b15722f485d0e2b30e --- contrib/src/d3d9/SHA512SUMS | 2 ++ contrib/src/d3d9/d3d9.patch | 45 +++++++++++++++++++++++++++++++++++++++ contrib/src/d3d9/d3d9caps.patch | 17 +++++++++++++++ contrib/src/d3d9/rules.mak | 42 ++++++++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+) diff --git a/contrib/src/d3d9/SHA512SUMS b/contrib/src/d3d9/SHA512SUMS new file mode 100644 index 0000000..d5090c8 --- /dev/null +++ b/contrib/src/d3d9/SHA512SUMS @@ -0,0 +1,2 @@ +81ee35501f7657dee19bc24f94af15a34a61b84fd0855a4ff91ab95b0e16ec163594e64accde1acdd289a07b8cd9c0cd640cbcbc87b11bebd92e4db841da80aa d3d9caps.h +42cfe1b2234065e4ce712f806370d0acbdf9bb4e4dd74859f21fd7e7428eabca9b5607c03aba57d3994d0946722d1837a454891a2e7f8242d353f29bb6a80d55 d3d9.h diff --git a/contrib/src/d3d9/d3d9.patch b/contrib/src/d3d9/d3d9.patch new file mode 100644 index 0000000..f062424 --- /dev/null +++ b/contrib/src/d3d9/d3d9.patch @@ -0,0 +1,45 @@ +--- include/d3d9.h 2016-04-17 11:41:20.676521300 +0300 ++++ include/d3d9.h.new 2016-04-17 12:12:13.637219200 +0300 +@@ -2185,6 +2185,42 @@ __CRT_UUID_DECL(IDirect3DDevice9Ex, + #define IDirect3DDevice9Ex_GetDisplayModeEx(p,a,b,c) (p)->GetDisplayModeEx(a,b,c) + #endif + ++/***************************************************************************** ++ * IDirect3D9ExOverlayExtension interface ++ */ ++#define INTERFACE IDirect3D9ExOverlayExtension ++DECLARE_INTERFACE_(IDirect3D9ExOverlayExtension,IUnknown) ++{ ++ /*** IUnknown methods ***/ ++ STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; ++ STDMETHOD_(ULONG,AddRef)(THIS) PURE; ++ STDMETHOD_(ULONG,Release)(THIS) PURE; ++ /*** IDirect3D9ExOverlayExtension methods ***/ ++ STDMETHOD(CheckDeviceOverlayType)(THIS_ UINT Adapter, D3DDEVTYPE DevType, UINT OverlayWidth, UINT OverlayHeight, ++ D3DFORMAT OverlayFormat, D3DDISPLAYMODEEX* pDisplayMode, D3DDISPLAYROTATION DisplayRotation, D3DOVERLAYCAPS* pOverlayCaps) PURE; ++}; ++#undef INTERFACE ++ ++#ifdef __CRT_UUID_DECL ++__CRT_UUID_DECL(IDirect3D9ExOverlayExtension, 0x187aeb13, 0xaaf5, 0x4c59, 0x87, 0x6d, 0xe0, 0x59, 0x8, 0x8c, 0xd, 0xf8); ++#endif ++ ++#if !defined(__cplusplus) || defined(CINTERFACE) ++/*** IUnknown methods ***/ ++#define IDirect3D9ExOverlayExtension_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) ++#define IDirect3D9ExOverlayExtension_AddRef(p) (p)->lpVtbl->AddRef(p) ++#define IDirect3D9ExOverlayExtension_Release(p) (p)->lpVtbl->Release(p) ++/*** IDirect3D9ExOverlayExtension ***/ ++#define IDirect3D9ExOverlayExtension_CheckDeviceOverlayType(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->CheckDeviceOverlayType(p,a,b,c,d,e,f,g,h) ++#else ++/*** IUnknown methods ***/ ++#define IDirect3D9ExOverlayExtension_QueryInterface(p,a,b) (p)->QueryInterface(a,b) ++#define IDirect3D9ExOverlayExtension_AddRef(p) (p)->AddRef() ++#define IDirect3D9ExOverlayExtension_Release(p) (p)->Release() ++/*** IDirect3D9ExOverlayExtension ***/ ++#define IDirect3D9ExOverlayExtension_CheckDeviceOverlayType(p,a,b,c,d,e,f,g,h) (p)->CheckDeviceOverlayType(a,b,c,d,e,f,g,h) ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif /* defined(__cplusplus) */ diff --git a/contrib/src/d3d9/d3d9caps.patch b/contrib/src/d3d9/d3d9caps.patch new file mode 100644 index 0000000..b32aabb --- /dev/null +++ b/contrib/src/d3d9/d3d9caps.patch @@ -0,0 +1,17 @@ +--- include/d3d9caps.h 2016-04-17 11:41:20.681535900 +0300 ++++ include/d3d9caps.h.old 2016-04-17 11:49:14.065736000 +0300 +@@ -399,6 +399,14 @@ typedef struct _D3DCAPS9 { + + } D3DCAPS9; + ++typedef struct _D3DOVERLAYCAPS { ++ UINT Caps; ++ UINT MaxOverlayDisplayWidth; ++ UINT MaxOverlayDisplayHeight; ++ ++} D3DOVERLAYCAPS; ++ ++ + #ifdef __i386__ + #include <poppack.h> + #endif diff --git a/contrib/src/d3d9/rules.mak b/contrib/src/d3d9/rules.mak new file mode 100644 index 0000000..9da2591 --- /dev/null +++ b/contrib/src/d3d9/rules.mak @@ -0,0 +1,42 @@ +# generate Direct3D9 temporary include + +ifdef HAVE_CROSS_COMPILE +IDL_INC_PATH = /usr/include/wine/windows/ +else +#ugly way to get the default location of standard idl files +IDL_INC_PATH = /`echo $(MSYSTEM) | tr A-Z a-z`/$(BUILD)/include +endif + +D3D9CAPS_COMMIT_ID := 477108e5706e73421634436c21cb76e1795b3609 +D3D9_H_ID := 477108e5706e73421634436c21cb76e1795b3609 +D3D9CAPS_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D9CAPS_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d9caps.h?format=raw +D3D9_H_URL := http://sourceforge.net/p/mingw-w64/mingw-w64/ci/$(D3D9CAPS_COMMIT_ID)/tree/mingw-w64-headers/direct-x/include/d3d9.h?format=raw +DST_D3D9CAPS_H = $(PREFIX)/include/d3d9caps.h +DST_D3D9_H = $(PREFIX)/include/d3d9.h + + +ifdef HAVE_WIN32 +PKGS += d3d9 +endif + +$(TARBALLS)/d3d9caps.h: + $(call download,$(D3D9CAPS_H_URL)) + +$(TARBALLS)/d3d9.h: + $(call download,$(D3D9_H_URL)) + +.sum-d3d9: $(TARBALLS)/d3d9caps.h $(TARBALLS)/d3d9.h + +$(DST_D3D9CAPS_H): $(TARBALLS)/d3d9caps.h + mkdir -p -- "$(PREFIX)/include/" + cp $(TARBALLS)/d3d9caps.h $@ && cd "$(PREFIX)/include/" && patch -fp1 < ../$(SRC)/d3d9/d3d9caps.patch + +$(DST_D3D9_H): $(TARBALLS)/d3d9.h + mkdir -p -- "$(PREFIX)/include/" + cp $(TARBALLS)/d3d9.h $@ && cd "$(PREFIX)/include/" && patch -fp1 < ../$(SRC)/d3d9/d3d9.patch + +.d3d9caps: $(DST_D3D9CAPS_H) + touch $@ + +.d3d9: $(DST_D3D9_H) $(DST_D3D9CAPS_H) + touch $@ _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
