diff --git a/patches/dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch b/patches/dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch index ab6f7740..bac0a5ff 100644 --- a/patches/dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch +++ b/patches/dxva2-Video_Decoder/0001-dxva2-Implement-semi-stub-for-Direct3DDeviceManager9.patch @@ -1,19 +1,19 @@ -From 65f573c73dbb07f534c66fa7a6738576872cf322 Mon Sep 17 00:00:00 2001 +From 52d613dcbeb8d00cf334c0cc46aed7d91eec355e Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 10 Feb 2015 16:34:05 +0100 Subject: dxva2: Implement semi-stub for Direct3DDeviceManager9 interface. --- - dlls/dxva2/Makefile.in | 4 +- + dlls/dxva2/Makefile.in | 2 + dlls/dxva2/devicemanager.c | 212 +++++++++++++++++++++++++++++++++++++++++++++ dlls/dxva2/dxva2_private.h | 21 +++++ dlls/dxva2/main.c | 7 +- - 4 files changed, 241 insertions(+), 3 deletions(-) + 4 files changed, 240 insertions(+), 2 deletions(-) create mode 100644 dlls/dxva2/devicemanager.c create mode 100644 dlls/dxva2/dxva2_private.h diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in -index 7b9ef6f..ffa7fe8 100644 +index 7b9ef6fe7c0..27c653d3f20 100644 --- a/dlls/dxva2/Makefile.in +++ b/dlls/dxva2/Makefile.in @@ -1,4 +1,6 @@ @@ -21,12 +21,11 @@ index 7b9ef6f..ffa7fe8 100644 +IMPORTS = ole32 C_SRCS = \ -- main.c -+ main.c \ -+ devicemanager.c ++ devicemanager.c \ + main.c diff --git a/dlls/dxva2/devicemanager.c b/dlls/dxva2/devicemanager.c new file mode 100644 -index 0000000..15d78aa +index 00000000000..15d78aa7ff0 --- /dev/null +++ b/dlls/dxva2/devicemanager.c @@ -0,0 +1,212 @@ @@ -244,7 +243,7 @@ index 0000000..15d78aa +} diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h new file mode 100644 -index 0000000..d6e59fc +index 00000000000..d6e59fc6da8 --- /dev/null +++ b/dlls/dxva2/dxva2_private.h @@ -0,0 +1,21 @@ @@ -270,7 +269,7 @@ index 0000000..d6e59fc + +extern HRESULT devicemanager_create( UINT *resetToken, void **ppv ) DECLSPEC_HIDDEN; diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c -index b4704f0..e9d43d3 100644 +index 782f0dfa3d4..df8f2030104 100644 --- a/dlls/dxva2/main.c +++ b/dlls/dxva2/main.c @@ -19,8 +19,11 @@ @@ -298,5 +297,5 @@ index b4704f0..e9d43d3 100644 HRESULT WINAPI DXVA2CreateVideoService( IDirect3DDevice9 *device, REFIID riid, void **ppv ) -- -2.1.0 +2.11.0 diff --git a/patches/dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch b/patches/dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch index 46231fda..f4c3e028 100644 --- a/patches/dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch +++ b/patches/dxva2-Video_Decoder/0002-dxva2-Implement-stubbed-interfaces-for-IDirectXVideo.patch @@ -1,30 +1,31 @@ -From 1b237c190789f62c00be35e5b3916b1bfb6283df Mon Sep 17 00:00:00 2001 +From e70e35f995515223d802e47e139089e964576b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Tue, 10 Feb 2015 16:54:21 +0100 Subject: dxva2: Implement stubbed interfaces for IDirectXVideo{Acceleration,Decoder,Processor}Service. --- - dlls/dxva2/Makefile.in | 1 + + dlls/dxva2/Makefile.in | 3 +- dlls/dxva2/devicemanager.c | 4 +- dlls/dxva2/dxva2_private.h | 1 + dlls/dxva2/main.c | 4 +- dlls/dxva2/videoservices.c | 467 +++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 473 insertions(+), 4 deletions(-) + 5 files changed, 474 insertions(+), 5 deletions(-) create mode 100644 dlls/dxva2/videoservices.c diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in -index ffa7fe8..02c9758 100644 +index 27c653d3f20..b517921190b 100644 --- a/dlls/dxva2/Makefile.in +++ b/dlls/dxva2/Makefile.in @@ -3,4 +3,5 @@ IMPORTS = ole32 C_SRCS = \ - main.c \ -+ videoservices.c \ - devicemanager.c + devicemanager.c \ +- main.c ++ main.c \ ++ videoservices.c diff --git a/dlls/dxva2/devicemanager.c b/dlls/dxva2/devicemanager.c -index 15d78aa..b9ed76c 100644 +index 15d78aa7ff0..b9ed76c865d 100644 --- a/dlls/dxva2/devicemanager.c +++ b/dlls/dxva2/devicemanager.c @@ -169,9 +169,9 @@ static HRESULT WINAPI Direct3DDeviceManager9_GetVideoService( IDirect3DDeviceMan @@ -40,7 +41,7 @@ index 15d78aa..b9ed76c 100644 static const IDirect3DDeviceManager9Vtbl Direct3DDeviceManager9_VTable = diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h -index d6e59fc..a88809c 100644 +index d6e59fc6da8..a88809cf7ec 100644 --- a/dlls/dxva2/dxva2_private.h +++ b/dlls/dxva2/dxva2_private.h @@ -18,4 +18,5 @@ @@ -50,7 +51,7 @@ index d6e59fc..a88809c 100644 +extern HRESULT videoservice_create( IDirect3DDevice9 *device, REFIID riid, void **ppv ) DECLSPEC_HIDDEN; extern HRESULT devicemanager_create( UINT *resetToken, void **ppv ) DECLSPEC_HIDDEN; diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c -index e9d43d3..355e11f 100644 +index df8f2030104..0382b5fb00a 100644 --- a/dlls/dxva2/main.c +++ b/dlls/dxva2/main.c @@ -49,9 +49,9 @@ HRESULT WINAPI DXVA2CreateDirect3DDeviceManager9( UINT *resetToken, IDirect3DDev @@ -67,7 +68,7 @@ index e9d43d3..355e11f 100644 BOOL WINAPI DegaussMonitor( HMONITOR monitor ) diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c new file mode 100644 -index 0000000..936aa37 +index 00000000000..936aa37b43c --- /dev/null +++ b/dlls/dxva2/videoservices.c @@ -0,0 +1,467 @@ @@ -539,5 +540,5 @@ index 0000000..936aa37 + return S_OK; +} -- -2.1.0 +2.11.0 diff --git a/patches/dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch b/patches/dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch index b015f1df..f0af24a5 100644 --- a/patches/dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch +++ b/patches/dxva2-Video_Decoder/0004-dxva2-Implement-stubbed-DirectX-Software-VideoProces.patch @@ -1,4 +1,4 @@ -From 7cc3c032cb2c18e5adf1f4cb6da3c2f731a092c2 Mon Sep 17 00:00:00 2001 +From 7c59478156e8e41714b825635740ec62b0f8bcb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 21 Feb 2015 15:06:03 +0100 Subject: dxva2: Implement stubbed DirectX Software VideoProcessor interface. @@ -13,18 +13,18 @@ Subject: dxva2: Implement stubbed DirectX Software VideoProcessor interface. create mode 100644 dlls/dxva2/softwareprocessor.c diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in -index 02c9758..4af9dc0 100644 +index b517921190b..d484cb14bf2 100644 --- a/dlls/dxva2/Makefile.in +++ b/dlls/dxva2/Makefile.in @@ -4,4 +4,5 @@ IMPORTS = ole32 C_SRCS = \ + devicemanager.c \ main.c \ - videoservices.c \ -- devicemanager.c -+ devicemanager.c \ +- videoservices.c ++ videoservices.c \ + softwareprocessor.c diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h -index a88809c..f0068b6 100644 +index a88809cf7ec..f0068b68891 100644 --- a/dlls/dxva2/dxva2_private.h +++ b/dlls/dxva2/dxva2_private.h @@ -20,3 +20,6 @@ @@ -36,7 +36,7 @@ index a88809c..f0068b6 100644 + UINT MaxNumSubStreams, IDirectXVideoProcessor **processor ) DECLSPEC_HIDDEN; diff --git a/dlls/dxva2/softwareprocessor.c b/dlls/dxva2/softwareprocessor.c new file mode 100644 -index 0000000..d396248 +index 00000000000..d3962484149 --- /dev/null +++ b/dlls/dxva2/softwareprocessor.c @@ -0,0 +1,209 @@ @@ -250,7 +250,7 @@ index 0000000..d396248 + return S_OK; +} diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c -index 936aa37..46e431a 100644 +index 936aa37b43c..46e431a7f29 100644 --- a/dlls/dxva2/videoservices.c +++ b/dlls/dxva2/videoservices.c @@ -341,10 +341,20 @@ static HRESULT WINAPI DirectXVideoProcessorService_GetVideoProcessorDeviceGuids( @@ -290,7 +290,7 @@ index 936aa37..46e431a 100644 } diff --git a/include/dxva2api.idl b/include/dxva2api.idl -index 7a29157..7388b37 100644 +index 7a291570368..7388b373097 100644 --- a/include/dxva2api.idl +++ b/include/dxva2api.idl @@ -86,6 +86,11 @@ cpp_quote("#define DXVA2_ModeVC1_VLD DXVA2_ModeVC1_D") @@ -306,5 +306,5 @@ index 7a29157..7388b37 100644 enum -- -2.1.0 +2.11.0 diff --git a/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch b/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch index 8eaca903..d4fc65ad 100644 --- a/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch +++ b/patches/dxva2-Video_Decoder/0007-dxva2-Initial-implementation-of-MPEG2-decoder-using-.patch @@ -1,11 +1,11 @@ -From e6ddf6fa378fc8e41535fb3d06daab9587fded2a Mon Sep 17 00:00:00 2001 +From 91d1ab12e88ed9013ca63589f50b635ba9ed46b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 22 Feb 2015 01:25:20 +0100 Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend. --- - configure.ac | 16 + - dlls/dxva2/Makefile.in | 14 +- + configure.ac | 18 +- + dlls/dxva2/Makefile.in | 12 +- dlls/dxva2/backend.idl | 96 ++++++ dlls/dxva2/dxva2_private.h | 115 ++++++- dlls/dxva2/genericdecoder.c | 432 +++++++++++++++++++++++++ @@ -21,10 +21,10 @@ Subject: dxva2: Initial implementation of MPEG2 decoder using vaapi backend. create mode 100644 dlls/dxva2/vaapi.c diff --git a/configure.ac b/configure.ac -index 3473566..ff3b189 100644 +index c94403b1a9b..52604e2bf35 100644 --- a/configure.ac +++ b/configure.ac -@@ -100,6 +100,8 @@ AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree vide +@@ -101,6 +101,8 @@ AC_ARG_WITH(xxf86vm, AS_HELP_STRING([--without-xxf86vm],[do not use XFree vide [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_xf86vmode_h=no; ac_cv_header_X11_extensions_xf86vmproto_h=no; fi]) AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib],[do not use Zlib (data compression)]), [if test "x$withval" = "xno"; then ac_cv_header_zlib_h=no; fi]) @@ -33,7 +33,7 @@ index 3473566..ff3b189 100644 AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR])) AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build])) -@@ -1261,6 +1263,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c +@@ -1157,6 +1159,20 @@ This probably prevents linking to OpenGL. Try deleting the file and restarting c WINE_WARNING_WITH(opengl,[test -n "$opengl_msg"],[$opengl_msg OpenGL and Direct3D won't be supported.]) @@ -54,8 +54,17 @@ index 3473566..ff3b189 100644 CPPFLAGS="$ac_save_CPPFLAGS" else X_CFLAGS="" +@@ -3012,7 +3028,7 @@ WINE_CONFIG_LIB(dxerr9) + WINE_CONFIG_DLL(dxgi,,[implib]) + WINE_CONFIG_TEST(dlls/dxgi/tests) + WINE_CONFIG_LIB(dxguid) +-WINE_CONFIG_DLL(dxva2) ++WINE_CONFIG_DLL(dxva2,,[clean]) + WINE_CONFIG_TEST(dlls/dxva2/tests) + WINE_CONFIG_DLL(esent) + WINE_CONFIG_DLL(evr) diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in -index 4af9dc0..afdefc3 100644 +index d484cb14bf2..68a7e3c8c0a 100644 --- a/dlls/dxva2/Makefile.in +++ b/dlls/dxva2/Makefile.in @@ -1,8 +1,14 @@ @@ -67,19 +76,18 @@ index 4af9dc0..afdefc3 100644 + backend.idl C_SRCS = \ -- main.c \ -- videoservices.c \ devicemanager.c \ -- softwareprocessor.c + genericdecoder.c \ -+ main.c \ + main.c \ +- videoservices.c \ +- softwareprocessor.c + softwareprocessor.c \ -+ vaapi.c \ + vaapi-mpeg2.c \ ++ vaapi.c \ + videoservices.c diff --git a/dlls/dxva2/backend.idl b/dlls/dxva2/backend.idl new file mode 100644 -index 0000000..8d48835 +index 00000000000..8d488351ff2 --- /dev/null +++ b/dlls/dxva2/backend.idl @@ -0,0 +1,96 @@ @@ -180,7 +188,7 @@ index 0000000..8d48835 + [out] IWineVideoDecoder **decoder); +} diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h -index f0068b6..f518637 100644 +index f0068b68891..f51863739b0 100644 --- a/dlls/dxva2/dxva2_private.h +++ b/dlls/dxva2/dxva2_private.h @@ -1,5 +1,5 @@ @@ -315,7 +323,7 @@ index f0068b6..f518637 100644 +#endif /* HAVE_VAAPI */ diff --git a/dlls/dxva2/genericdecoder.c b/dlls/dxva2/genericdecoder.c new file mode 100644 -index 0000000..3903d6b +index 00000000000..3903d6b0b46 --- /dev/null +++ b/dlls/dxva2/genericdecoder.c @@ -0,0 +1,432 @@ @@ -752,7 +760,7 @@ index 0000000..3903d6b + return S_OK; +} diff --git a/dlls/dxva2/main.c b/dlls/dxva2/main.c -index 355e11f..758c146 100644 +index 0382b5fb00a..3006f175b7f 100644 --- a/dlls/dxva2/main.c +++ b/dlls/dxva2/main.c @@ -32,6 +32,8 @@ @@ -764,7 +772,7 @@ index 355e11f..758c146 100644 BOOL WINAPI CapabilitiesRequestAndCapabilitiesReply( HMONITOR monitor, LPSTR buffer, DWORD length ) { FIXME("(%p, %p, %d): stub\n", monitor, buffer, length); -@@ -323,16 +325,76 @@ BOOL WINAPI SetVCPFeature( HMONITOR monitor, BYTE vcpCode, DWORD value ) +@@ -322,16 +324,76 @@ BOOL WINAPI SetVCPFeature( HMONITOR monitor, BYTE vcpCode, DWORD value ) return FALSE; } @@ -846,7 +854,7 @@ index 355e11f..758c146 100644 return TRUE; diff --git a/dlls/dxva2/tests/dxva2.c b/dlls/dxva2/tests/dxva2.c -index dcbb990..c28be4d 100644 +index dcbb990ee5c..c28be4d8e3c 100644 --- a/dlls/dxva2/tests/dxva2.c +++ b/dlls/dxva2/tests/dxva2.c @@ -1,7 +1,7 @@ @@ -927,7 +935,7 @@ index dcbb990..c28be4d 100644 IDirectXVideoDecoderService_Release(service); diff --git a/dlls/dxva2/vaapi-mpeg2.c b/dlls/dxva2/vaapi-mpeg2.c new file mode 100644 -index 0000000..7b7f61d +index 00000000000..7b7f61db755 --- /dev/null +++ b/dlls/dxva2/vaapi-mpeg2.c @@ -0,0 +1,753 @@ @@ -1686,7 +1694,7 @@ index 0000000..7b7f61d +#endif /* HAVE_VAAPI */ diff --git a/dlls/dxva2/vaapi.c b/dlls/dxva2/vaapi.c new file mode 100644 -index 0000000..80e63bf +index 00000000000..80e63bf38d9 --- /dev/null +++ b/dlls/dxva2/vaapi.c @@ -0,0 +1,767 @@ @@ -2458,7 +2466,7 @@ index 0000000..80e63bf + +#endif /* HAVE_VAAPI */ diff --git a/dlls/dxva2/videoservices.c b/dlls/dxva2/videoservices.c -index 46e431a..84222dc 100644 +index 46e431a7f29..84222dce558 100644 --- a/dlls/dxva2/videoservices.c +++ b/dlls/dxva2/videoservices.c @@ -1,5 +1,5 @@ @@ -2635,5 +2643,5 @@ index 46e431a..84222dc 100644 return E_NOINTERFACE; } -- -2.6.2 +2.11.0 diff --git a/patches/dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch b/patches/dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch index a3fa81c0..e74f4575 100644 --- a/patches/dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch +++ b/patches/dxva2-Video_Decoder/0008-dxva2-Implement-h264-decoder.patch @@ -1,4 +1,4 @@ -From 4ec62ff378a4051c25875bf620fa74170202256e Mon Sep 17 00:00:00 2001 +From 06a8b5c81273191dbbba4daf98784ecae7606334 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 22 Feb 2015 01:43:36 +0100 Subject: dxva2: Implement h264 decoder. @@ -12,18 +12,19 @@ Subject: dxva2: Implement h264 decoder. create mode 100644 dlls/dxva2/vaapi-h264.c diff --git a/dlls/dxva2/Makefile.in b/dlls/dxva2/Makefile.in -index afdefc3..e527e96 100644 +index 68a7e3c8c0a..35c42715b0f 100644 --- a/dlls/dxva2/Makefile.in +++ b/dlls/dxva2/Makefile.in -@@ -10,5 +10,6 @@ C_SRCS = \ +@@ -9,6 +9,7 @@ C_SRCS = \ + genericdecoder.c \ main.c \ softwareprocessor.c \ - vaapi.c \ + vaapi-h264.c \ vaapi-mpeg2.c \ + vaapi.c \ videoservices.c diff --git a/dlls/dxva2/dxva2_private.h b/dlls/dxva2/dxva2_private.h -index f518637..5df59bd 100644 +index f51863739b0..5df59bd3f03 100644 --- a/dlls/dxva2/dxva2_private.h +++ b/dlls/dxva2/dxva2_private.h @@ -134,5 +134,8 @@ extern BOOL vaapi_create_surfaces( VADisplay va_display, const struct vaapi_form @@ -37,7 +38,7 @@ index f518637..5df59bd 100644 #endif /* HAVE_VAAPI */ diff --git a/dlls/dxva2/vaapi-h264.c b/dlls/dxva2/vaapi-h264.c new file mode 100644 -index 0000000..08b6aed +index 00000000000..08b6aedcd67 --- /dev/null +++ b/dlls/dxva2/vaapi-h264.c @@ -0,0 +1,890 @@ @@ -932,7 +933,7 @@ index 0000000..08b6aed + +#endif /* HAVE_VAAPI */ diff --git a/dlls/dxva2/vaapi.c b/dlls/dxva2/vaapi.c -index 80e63bf..4c570f5 100644 +index 80e63bf38d9..4c570f5b945 100644 --- a/dlls/dxva2/vaapi.c +++ b/dlls/dxva2/vaapi.c @@ -655,6 +655,8 @@ static HRESULT WINAPI WineVideoService_CreateVideoDecoder( IWineVideoService *if @@ -945,5 +946,5 @@ index 80e63bf..4c570f5 100644 return E_FAIL; } -- -2.6.1 +2.11.0