From 0d616d719eab01900b91b820dc2e765af9f5f2fb Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 6 Dec 2016 21:52:20 +0100 Subject: [PATCH] Rebase against 705c52691a4e8c6224cda5080fb88f257de5fd77. --- ...del-usercontext-l1-1-0-Add-dll-and-a.patch | 8 +- ...-rtcore-ntuser-window-l1-1-0-Add-dll.patch | 14 +- ...in-rtcore-ntuser-draw-l1-1-0-Add-dll.patch | 14 +- ...dpnet-Avoid-redefinition-of-SOCKADDR.patch | 110 -------- ...y-noisy-FIXME-only-once-in-pf_printf.patch | 29 --- ...erent-formarts-in-ICGetDisplayFormat.patch | 17 +- ...-insensitive-compare-in-ICInfo-for-f.patch | 28 -- .../msvfw32-ICInfo_enum_handler/definition | 1 - patches/patchinstall.sh | 240 +----------------- ...reate-dummy-1d-textures-and-surfaces.patch | 26 +- ...-Implement-uploading-for-1d-textures.patch | 56 ++-- ...t-loading-from-system-memory-and-buf.patch | 12 +- ...t-converting-between-s-rgb-1d-textur.patch | 14 +- patches/wined3d-CSMT_Main/definition | 1 + ...mplement-the-initial-texture-data-up.patch | 50 ---- .../wined3d-Revert_Texture_Upload/definition | 2 - ...e-audio-devices-directly-to-programs.patch | 28 +- staging/VERSION | 2 +- 18 files changed, 113 insertions(+), 539 deletions(-) delete mode 100644 patches/include-Duplicate_Typedef/0001-dpnet-Avoid-redefinition-of-SOCKADDR.patch delete mode 100644 patches/msvcrt-Silence_FIXMEs/0001-msvcrt-Display-noisy-FIXME-only-once-in-pf_printf.patch delete mode 100644 patches/msvfw32-ICInfo_enum_handler/0001-msvfw32-Use-case-insensitive-compare-in-ICInfo-for-f.patch delete mode 100644 patches/msvfw32-ICInfo_enum_handler/definition delete mode 100644 patches/wined3d-Revert_Texture_Upload/0001-Revert-wined3d-Implement-the-initial-texture-data-up.patch delete mode 100644 patches/wined3d-Revert_Texture_Upload/definition diff --git a/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch b/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch index 07231c2e..7ae68d10 100644 --- a/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch +++ b/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch @@ -1,4 +1,4 @@ -From eef0f09e4274a5c6b748386a2b1a99615d495460 Mon Sep 17 00:00:00 2001 +From 08231829bbfa686e537a0c94f3aa4ede92a7817b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 17:12:45 +0100 Subject: ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for @@ -15,17 +15,17 @@ Subject: ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c diff --git a/configure.ac b/configure.ac -index 8e44524..18b1d96 100644 +index bdd390c..6264ede 100644 --- a/configure.ac +++ b/configure.ac -@@ -3009,6 +3009,7 @@ WINE_CONFIG_DLL(esent) +@@ -3020,6 +3020,7 @@ WINE_CONFIG_DLL(esent) WINE_CONFIG_DLL(evr) WINE_CONFIG_DLL(explorerframe,,[clean]) WINE_CONFIG_TEST(dlls/explorerframe/tests) +WINE_CONFIG_DLL(ext-ms-win-appmodel-usercontext-l1-1-0) + WINE_CONFIG_DLL(ext-ms-win-domainjoin-netjoin-l1-1-0) WINE_CONFIG_DLL(ext-ms-win-gdi-dc-create-l1-1-1) WINE_CONFIG_DLL(ext-ms-win-gdi-dc-l1-2-0) - WINE_CONFIG_DLL(ext-ms-win-gdi-devcaps-l1-1-0) diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in new file mode 100644 index 0000000..16eee75 diff --git a/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch b/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch index 07e63536..cd6ad284 100644 --- a/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch +++ b/patches/api-ms-win-Stub_DLLs/0017-api-ms-win-rtcore-ntuser-window-l1-1-0-Add-dll.patch @@ -1,4 +1,4 @@ -From 3a9f17ff8dce1e9005b63fea1e9577a44b1089e8 Mon Sep 17 00:00:00 2001 +From 3d0de5feeb0cf5863dd355e0e6f271de1665124c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 23 Jan 2016 21:05:14 +0100 Subject: api-ms-win-rtcore-ntuser-window-l1-1-0: Add dll @@ -13,12 +13,12 @@ Subject: api-ms-win-rtcore-ntuser-window-l1-1-0: Add dll create mode 100644 dlls/api-ms-win-rtcore-ntuser-window-l1-1-0/api-ms-win-rtcore-ntuser-window-l1-1-0.spec diff --git a/configure.ac b/configure.ac -index 0f011a8..8925496 100644 +index e1dc9f2..82b112b 100644 --- a/configure.ac +++ b/configure.ac -@@ -2791,6 +2791,7 @@ WINE_CONFIG_DLL(api-ms-win-eventing-provider-l1-1-0) - WINE_CONFIG_DLL(api-ms-win-eventlog-legacy-l1-1-0) - WINE_CONFIG_DLL(api-ms-win-ntuser-dc-access-l1-1-0) +@@ -2800,6 +2800,7 @@ WINE_CONFIG_DLL(api-ms-win-ntuser-dc-access-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-power-base-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-power-setting-l1-1-0) WINE_CONFIG_DLL(api-ms-win-rtcore-ntuser-private-l1-1-0) +WINE_CONFIG_DLL(api-ms-win-rtcore-ntuser-window-l1-1-0) WINE_CONFIG_DLL(api-ms-win-security-audit-l1-1-1) @@ -119,10 +119,10 @@ index 0000000..b7575c6 +@ stdcall WaitMessage() user32.WaitMessage +@ stdcall WindowFromPoint(int64) user32.WindowFromPoint diff --git a/tools/make_specfiles b/tools/make_specfiles -index 787cadb..48f5be8 100755 +index 0fd0420..89b311e 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles -@@ -285,6 +285,7 @@ my @dll_groups = +@@ -302,6 +302,7 @@ my @dll_groups = "api-ms-win-downlevel-user32-l1-1-0", "api-ms-win-ntuser-dc-access-l1-1-0", "api-ms-win-rtcore-ntuser-private-l1-1-0", diff --git a/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch b/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch index 14ffc5ab..e8fa4b21 100644 --- a/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch +++ b/patches/api-ms-win-Stub_DLLs/0019-api-ms-win-rtcore-ntuser-draw-l1-1-0-Add-dll.patch @@ -1,4 +1,4 @@ -From 27fa802e9493edee0395b5de81a2e2b53ee41df3 Mon Sep 17 00:00:00 2001 +From 3aa4751bd2cd9918733772e4a5a6c418bebfe560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 23 Jan 2016 21:08:48 +0100 Subject: api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll. @@ -13,13 +13,13 @@ Subject: api-ms-win-rtcore-ntuser-draw-l1-1-0: Add dll. create mode 100644 dlls/api-ms-win-rtcore-ntuser-draw-l1-1-0/api-ms-win-rtcore-ntuser-draw-l1-1-0.spec diff --git a/configure.ac b/configure.ac -index ebe0713..c703f0f 100644 +index 97dfa5e..cd145dd 100644 --- a/configure.ac +++ b/configure.ac -@@ -2790,6 +2790,7 @@ WINE_CONFIG_DLL(api-ms-win-eventing-controller-l1-1-0) - WINE_CONFIG_DLL(api-ms-win-eventing-provider-l1-1-0) - WINE_CONFIG_DLL(api-ms-win-eventlog-legacy-l1-1-0) +@@ -2799,6 +2799,7 @@ WINE_CONFIG_DLL(api-ms-win-eventlog-legacy-l1-1-0) WINE_CONFIG_DLL(api-ms-win-ntuser-dc-access-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-power-base-l1-1-0) + WINE_CONFIG_DLL(api-ms-win-power-setting-l1-1-0) +WINE_CONFIG_DLL(api-ms-win-rtcore-ntuser-draw-l1-1-0) WINE_CONFIG_DLL(api-ms-win-rtcore-ntuser-private-l1-1-0) WINE_CONFIG_DLL(api-ms-win-rtcore-ntuser-window-l1-1-0) @@ -39,10 +39,10 @@ index 0000000..59900a9 @@ -0,0 +1 @@ +@ stdcall RedrawWindow(long ptr long long) user32.RedrawWindow diff --git a/tools/make_specfiles b/tools/make_specfiles -index e2e5463..ab70e99 100755 +index a37666c..937a92f 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles -@@ -284,6 +284,7 @@ my @dll_groups = +@@ -301,6 +301,7 @@ my @dll_groups = "api-ms-win-core-string-l2-1-0", "api-ms-win-downlevel-user32-l1-1-0", "api-ms-win-ntuser-dc-access-l1-1-0", diff --git a/patches/include-Duplicate_Typedef/0001-dpnet-Avoid-redefinition-of-SOCKADDR.patch b/patches/include-Duplicate_Typedef/0001-dpnet-Avoid-redefinition-of-SOCKADDR.patch deleted file mode 100644 index 3b63902f..00000000 --- a/patches/include-Duplicate_Typedef/0001-dpnet-Avoid-redefinition-of-SOCKADDR.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 45971b05a455960603d6565181e90d2025f37492 Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Tue, 15 Nov 2016 06:59:13 +0000 -Subject: dpnet: Header files cleanup - -Also stops error of SOCKADDR being redefined on older compiliers - -Fixes: https://bugs.winehq.org/show_bug.cgi?id=41705 - -Signed-off-by: Alistair Leslie-Hughes ---- - dlls/dpnet/address.c | 1 - - dlls/dpnet/client.c | 1 - - dlls/dpnet/lobbiedapp.c | 2 -- - dlls/dpnet/peer.c | 1 - - dlls/dpnet/server.c | 1 - - dlls/dpnet/threadpool.c | 1 - - include/dpaddr.h | 2 ++ - 7 files changed, 2 insertions(+), 7 deletions(-) - -diff --git a/dlls/dpnet/address.c b/dlls/dpnet/address.c -index c5457eb..4d55caa 100644 ---- a/dlls/dpnet/address.c -+++ b/dlls/dpnet/address.c -@@ -33,7 +33,6 @@ - #include "wine/unicode.h" - #include "wine/debug.h" - --#include "dplay8.h" - #include "dpnet_private.h" - - WINE_DEFAULT_DEBUG_CHANNEL(dpnet); -diff --git a/dlls/dpnet/client.c b/dlls/dpnet/client.c -index 9692e38..1fa825f 100644 ---- a/dlls/dpnet/client.c -+++ b/dlls/dpnet/client.c -@@ -31,7 +31,6 @@ - #include "objbase.h" - #include "wine/debug.h" - --#include "dplay8.h" - #include "dpnet_private.h" - - WINE_DEFAULT_DEBUG_CHANNEL(dpnet); -diff --git a/dlls/dpnet/lobbiedapp.c b/dlls/dpnet/lobbiedapp.c -index 8ec9ad1..d041e63 100644 ---- a/dlls/dpnet/lobbiedapp.c -+++ b/dlls/dpnet/lobbiedapp.c -@@ -31,8 +31,6 @@ - #include "objbase.h" - #include "wine/debug.h" - --#include "dplay8.h" --#include "dplobby8.h" - #include "dpnet_private.h" - - WINE_DEFAULT_DEBUG_CHANNEL(dpnet); -diff --git a/dlls/dpnet/peer.c b/dlls/dpnet/peer.c -index fe62d59..d7144df 100644 ---- a/dlls/dpnet/peer.c -+++ b/dlls/dpnet/peer.c -@@ -33,7 +33,6 @@ - #include "objbase.h" - #include "wine/debug.h" - --#include "dplay8.h" - #include "dpnet_private.h" - - WINE_DEFAULT_DEBUG_CHANNEL(dpnet); -diff --git a/dlls/dpnet/server.c b/dlls/dpnet/server.c -index d91822e..46d5fe2 100644 ---- a/dlls/dpnet/server.c -+++ b/dlls/dpnet/server.c -@@ -32,7 +32,6 @@ - #include "ocidl.h" - #include "wine/debug.h" - --#include "dplay8.h" - #include "dpnet_private.h" - - typedef struct IDirectPlay8ServerImpl -diff --git a/dlls/dpnet/threadpool.c b/dlls/dpnet/threadpool.c -index 274789d..9e13ffb 100644 ---- a/dlls/dpnet/threadpool.c -+++ b/dlls/dpnet/threadpool.c -@@ -32,7 +32,6 @@ - #include "objbase.h" - #include "wine/debug.h" - --#include "dplay8.h" - #include "dpnet_private.h" - - WINE_DEFAULT_DEBUG_CHANNEL(dpnet); -diff --git a/include/dpaddr.h b/include/dpaddr.h -index 576caaf..d47dd26 100644 ---- a/include/dpaddr.h -+++ b/include/dpaddr.h -@@ -27,7 +27,9 @@ extern "C" { - #endif /* defined(__cplusplus) */ - - typedef REFIID DPNAREFIID; -+#ifndef _WINSOCK2API_ - typedef struct sockaddr SOCKADDR; -+#endif - - /***************************************************************************** - * DirectPlay8Addr defines --- -2.9.0 - diff --git a/patches/msvcrt-Silence_FIXMEs/0001-msvcrt-Display-noisy-FIXME-only-once-in-pf_printf.patch b/patches/msvcrt-Silence_FIXMEs/0001-msvcrt-Display-noisy-FIXME-only-once-in-pf_printf.patch deleted file mode 100644 index 13308f9b..00000000 --- a/patches/msvcrt-Silence_FIXMEs/0001-msvcrt-Display-noisy-FIXME-only-once-in-pf_printf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 68a94ad2c728c00cc9f81b961b4d47dbe3ccb2f3 Mon Sep 17 00:00:00 2001 -From: Christian Costa -Date: Tue, 6 Sep 2016 00:10:09 +0200 -Subject: msvcrt: Display noisy FIXME only once in pf_printf. - ---- - dlls/msvcrt/printf.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/dlls/msvcrt/printf.h b/dlls/msvcrt/printf.h -index 6c9eeeb..4e59f31 100644 ---- a/dlls/msvcrt/printf.h -+++ b/dlls/msvcrt/printf.h -@@ -495,8 +495,10 @@ int FUNC_NAME(pf_printf)(FUNC_NAME(puts_clbk) pf_puts, void *puts_ctx, const API - } else if(flags.Format == 'c' || flags.Format == 'C') { - int ch = pf_args(args_ctx, pos, VT_INT, valist).get_int; - -- if((ch&0xff) != ch) -- FIXME("multibyte characters printing not supported\n"); -+ if((ch&0xff) != ch) { -+ static int once; -+ if (!once++) FIXME("multibyte characters printing not supported\n"); -+ } - - i = FUNC_NAME(pf_handle_string)(pf_puts, puts_ctx, &ch, 1, &flags, locinfo, legacy_wide); - } else if(flags.Format == 'p') { --- -2.9.0 - diff --git a/patches/msvfw32-ICGetDisplayFormat/0001-msvfw32-Try-different-formarts-in-ICGetDisplayFormat.patch b/patches/msvfw32-ICGetDisplayFormat/0001-msvfw32-Try-different-formarts-in-ICGetDisplayFormat.patch index af744f40..8a1e3b6b 100644 --- a/patches/msvfw32-ICGetDisplayFormat/0001-msvfw32-Try-different-formarts-in-ICGetDisplayFormat.patch +++ b/patches/msvfw32-ICGetDisplayFormat/0001-msvfw32-Try-different-formarts-in-ICGetDisplayFormat.patch @@ -1,4 +1,4 @@ -From 595d96fdba45c66788ba83732fa7e5bfc8a5947b Mon Sep 17 00:00:00 2001 +From 9ae94214e0afa58f6b518ec34fd325a1ae57230a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 31 Mar 2016 00:58:04 +0200 Subject: msvfw32: Try different formarts in ICGetDisplayFormat. @@ -9,10 +9,10 @@ Subject: msvfw32: Try different formarts in ICGetDisplayFormat. 2 files changed, 308 insertions(+), 22 deletions(-) diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c -index 0ae33ed..a76828a 100644 +index cc5c85d..25b80ff 100644 --- a/dlls/msvfw32/msvideo_main.c +++ b/dlls/msvfw32/msvideo_main.c -@@ -719,25 +719,80 @@ HIC VFWAPI ICGetDisplayFormat( +@@ -718,25 +718,80 @@ HIC VFWAPI ICGetDisplayFormat( HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut, INT depth,INT dx,INT dy) { @@ -104,7 +104,7 @@ index 0ae33ed..a76828a 100644 FIXME("Ooch, how come decompressor outputs compressed data (%d)??\n", lpbiOut->biCompression); } -@@ -746,20 +801,11 @@ HIC VFWAPI ICGetDisplayFormat( +@@ -745,20 +800,11 @@ HIC VFWAPI ICGetDisplayFormat( lpbiOut->biSize); lpbiOut->biSize = sizeof(*lpbiOut); } @@ -128,10 +128,10 @@ index 0ae33ed..a76828a 100644 if (hic!=tmphic) ICClose(tmphic); diff --git a/dlls/msvfw32/tests/msvfw.c b/dlls/msvfw32/tests/msvfw.c -index 125cac5..7fd4c43 100644 +index 3fe6702..22b32ee 100644 --- a/dlls/msvfw32/tests/msvfw.c +++ b/dlls/msvfw32/tests/msvfw.c -@@ -285,9 +285,249 @@ static void test_ICSeqCompress(void) +@@ -285,6 +285,245 @@ static void test_ICSeqCompress(void) ok(err == ICERR_BADHANDLE, "Expected -8, got %d\n", err); } @@ -374,12 +374,15 @@ index 125cac5..7fd4c43 100644 + ICClose(ic); +} + - START_TEST(msvfw) + static void test_ICInfo(void) { + ICINFO info, info2; +@@ -324,5 +563,6 @@ START_TEST(msvfw) test_OpenCase(); test_Locate(); test_ICSeqCompress(); + test_ICGetDisplayFormat(); + test_ICInfo(); } -- 2.9.0 diff --git a/patches/msvfw32-ICInfo_enum_handler/0001-msvfw32-Use-case-insensitive-compare-in-ICInfo-for-f.patch b/patches/msvfw32-ICInfo_enum_handler/0001-msvfw32-Use-case-insensitive-compare-in-ICInfo-for-f.patch deleted file mode 100644 index 7db189eb..00000000 --- a/patches/msvfw32-ICInfo_enum_handler/0001-msvfw32-Use-case-insensitive-compare-in-ICInfo-for-f.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 43f660323b880ccda7da022b95f5bfed2a1c1fc3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Wed, 26 Oct 2016 03:43:16 +0200 -Subject: msvfw32: Use case insensitive compare in ICInfo for fourcc codes. - ---- - dlls/msvfw32/msvideo_main.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c -index 0ae33ed..1b4e9ca 100644 ---- a/dlls/msvfw32/msvideo_main.c -+++ b/dlls/msvfw32/msvideo_main.c -@@ -299,9 +299,8 @@ static BOOL ICInfo_enum_handler(const char *drv, unsigned int nr, void *param) - ICINFO *lpicinfo = param; - DWORD fccHandler = mmioStringToFOURCCA(drv + 5, 0); - -- /* exact match of fccHandler or nth driver found */ -- if ((lpicinfo->fccHandler != nr) && (lpicinfo->fccHandler != fccHandler)) -- return FALSE; -+ if (lpicinfo->fccHandler != nr && compare_fourcc(lpicinfo->fccHandler, fccHandler)) -+ return FALSE; - - lpicinfo->fccHandler = fccHandler; - lpicinfo->dwFlags = 0; --- -2.9.0 - diff --git a/patches/msvfw32-ICInfo_enum_handler/definition b/patches/msvfw32-ICInfo_enum_handler/definition deleted file mode 100644 index 2c2d8b50..00000000 --- a/patches/msvfw32-ICInfo_enum_handler/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [41602] Use case insensitive compare in ICInfo_enum_handler diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c5d8715a..0690561a 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,13 +52,13 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "02d723045ff15d2bda5475b8b6fe212ee3483cd8" + echo "705c52691a4e8c6224cda5080fb88f257de5fd77" } # Show version information version() { - echo "Wine Staging 1.9.23" + echo "Wine Staging 1.9.24 (unreleased)" echo "Copyright (C) 2014-2016 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" @@ -162,7 +162,6 @@ patch_enable_all () enable_imagehlp_Cleanup="$1" enable_imagehlp_ImageLoad="$1" enable_imm32_IMMDisableLegacyIME="$1" - enable_include_Duplicate_Typedef="$1" enable_inseng_Implementation="$1" enable_iphlpapi_System_Ping="$1" enable_iphlpapi_TCP_Table="$1" @@ -200,9 +199,7 @@ patch_enable_all () enable_msidb_Implementation="$1" enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" enable_msvcrt_Math_Precision="$1" - enable_msvcrt_Silence_FIXMEs="$1" enable_msvfw32_ICGetDisplayFormat="$1" - enable_msvfw32_ICInfo_enum_handler="$1" enable_msvideo_dll16_DrawDibProfileDisplay="$1" enable_ntdll_APC_Performance="$1" enable_ntdll_APC_Start_Process="$1" @@ -371,13 +368,11 @@ patch_enable_all () enable_wined3d_1DTextures="$1" enable_wined3d_Accounting="$1" enable_wined3d_CSMT_Helper="$1" - enable_wined3d_CSMT_Main="$1" enable_wined3d_DXTn="$1" enable_wined3d_GTX_560M="$1" enable_wined3d_Limit_Vram="$1" enable_wined3d_QUERY_Stubs="$1" enable_wined3d_Revert_Pixel_Center_Offset="$1" - enable_wined3d_Revert_Texture_Upload="$1" enable_wined3d_Silence_FIXMEs="$1" enable_wined3d_WINED3DFMT_R32G32_UINT="$1" enable_wined3d_check_format_support="$1" @@ -673,9 +668,6 @@ patch_enable () imm32-IMMDisableLegacyIME) enable_imm32_IMMDisableLegacyIME="$2" ;; - include-Duplicate_Typedef) - enable_include_Duplicate_Typedef="$2" - ;; inseng-Implementation) enable_inseng_Implementation="$2" ;; @@ -787,15 +779,9 @@ patch_enable () msvcrt-Math_Precision) enable_msvcrt_Math_Precision="$2" ;; - msvcrt-Silence_FIXMEs) - enable_msvcrt_Silence_FIXMEs="$2" - ;; msvfw32-ICGetDisplayFormat) enable_msvfw32_ICGetDisplayFormat="$2" ;; - msvfw32-ICInfo_enum_handler) - enable_msvfw32_ICInfo_enum_handler="$2" - ;; msvideo.dll16-DrawDibProfileDisplay) enable_msvideo_dll16_DrawDibProfileDisplay="$2" ;; @@ -1300,9 +1286,6 @@ patch_enable () wined3d-CSMT_Helper) enable_wined3d_CSMT_Helper="$2" ;; - wined3d-CSMT_Main) - enable_wined3d_CSMT_Main="$2" - ;; wined3d-DXTn) enable_wined3d_DXTn="$2" ;; @@ -1318,9 +1301,6 @@ patch_enable () wined3d-Revert_Pixel_Center_Offset) enable_wined3d_Revert_Pixel_Center_Offset="$2" ;; - wined3d-Revert_Texture_Upload) - enable_wined3d_Revert_Texture_Upload="$2" - ;; wined3d-Silence_FIXMEs) enable_wined3d_Silence_FIXMEs="$2" ;; @@ -2026,13 +2006,6 @@ if test "$enable_wpcap_Dynamic_Linking" -eq 1; then enable_wpcap_Several_Fixes=1 fi -if test "$enable_wined3d_CSMT_Main" -eq 1; then - if test "$enable_wined3d_CSMT_Helper" -gt 1; then - abort "Patchset wined3d-CSMT_Helper disabled, but wined3d-CSMT_Main depends on that." - fi - enable_wined3d_CSMT_Helper=1 -fi - if test "$enable_wined3d_CSMT_Helper" -eq 1; then if test "$enable_makedep_PARENTSPEC" -gt 1; then abort "Patchset makedep-PARENTSPEC disabled, but wined3d-CSMT_Helper depends on that." @@ -4065,19 +4038,6 @@ if test "$enable_imm32_IMMDisableLegacyIME" -eq 1; then ) >> "$patchlist" fi -# Patchset include-Duplicate_Typedef -# | -# | Modified files: -# | * dlls/dpnet/address.c, dlls/dpnet/client.c, dlls/dpnet/lobbiedapp.c, dlls/dpnet/peer.c, dlls/dpnet/server.c, -# | dlls/dpnet/threadpool.c, include/dpaddr.h -# | -if test "$enable_include_Duplicate_Typedef" -eq 1; then - patch_apply include-Duplicate_Typedef/0001-dpnet-Avoid-redefinition-of-SOCKADDR.patch - ( - echo '+ { "Alistair Leslie-Hughes", "dpnet: Header files cleanup.", 1 },'; - ) >> "$patchlist" -fi - # Patchset inseng-Implementation # | # | This patchset fixes the following Wine bugs: @@ -4766,18 +4726,6 @@ if test "$enable_msvcrt_Math_Precision" -eq 1; then ) >> "$patchlist" fi -# Patchset msvcrt-Silence_FIXMEs -# | -# | Modified files: -# | * dlls/msvcrt/printf.h -# | -if test "$enable_msvcrt_Silence_FIXMEs" -eq 1; then - patch_apply msvcrt-Silence_FIXMEs/0001-msvcrt-Display-noisy-FIXME-only-once-in-pf_printf.patch - ( - echo '+ { "Christian Costa", "msvcrt: Display noisy FIXME only once in pf_printf.", 1 },'; - ) >> "$patchlist" -fi - # Patchset msvfw32-ICGetDisplayFormat # | # | This patchset fixes the following Wine bugs: @@ -4807,21 +4755,6 @@ if test "$enable_msvfw32_ICGetDisplayFormat" -eq 1; then ) >> "$patchlist" fi -# Patchset msvfw32-ICInfo_enum_handler -# | -# | This patchset fixes the following Wine bugs: -# | * [#41602] Use case insensitive compare in ICInfo_enum_handler -# | -# | Modified files: -# | * dlls/msvfw32/msvideo_main.c -# | -if test "$enable_msvfw32_ICInfo_enum_handler" -eq 1; then - patch_apply msvfw32-ICInfo_enum_handler/0001-msvfw32-Use-case-insensitive-compare-in-ICInfo-for-f.patch - ( - echo '+ { "Michael Müller", "msvfw32: Use case insensitive compare in ICInfo for fourcc codes.", 1 },'; - ) >> "$patchlist" -fi - # Patchset msvideo.dll16-DrawDibProfileDisplay # | # | Modified files: @@ -7698,18 +7631,6 @@ if test "$enable_wined3d_Limit_Vram" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-Revert_Texture_Upload -# | -# | Modified files: -# | * dlls/wined3d/texture.c -# | -if test "$enable_wined3d_Revert_Texture_Upload" -eq 1; then - patch_apply wined3d-Revert_Texture_Upload/0001-Revert-wined3d-Implement-the-initial-texture-data-up.patch - ( - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Implement the initial texture data upload on top of wined3d_device_update_sub_resource().\".", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-WINED3DFMT_R32G32_UINT # | # | Modified files: @@ -7738,163 +7659,6 @@ if test "$enable_wined3d_check_format_support" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-CSMT_Main -# | -# | This patchset has the following (direct or indirect) dependencies: -# | * makedep-PARENTSPEC, ntdll-Attach_Process_DLLs, ntdll-DllOverrides_WOW64, ntdll-Loader_Machine_Type, ntdll-DllRedirects, -# | wined3d-1DTextures, wined3d-Accounting, wined3d-DXTn, wined3d-QUERY_Stubs, wined3d-Revert_Pixel_Center_Offset, wined3d- -# | Silence_FIXMEs, wined3d-CSMT_Helper -# | -# | This patchset fixes the following Wine bugs: -# | * [#11674] Support for CSMT (command stream) to increase graphic performance -# | -# | Modified files: -# | * dlls/wined3d/arb_program_shader.c, dlls/wined3d/buffer.c, dlls/wined3d/context.c, dlls/wined3d/cs.c, -# | dlls/wined3d/device.c, dlls/wined3d/drawprim.c, dlls/wined3d/glsl_shader.c, dlls/wined3d/query.c, -# | dlls/wined3d/resource.c, dlls/wined3d/sampler.c, dlls/wined3d/shader.c, dlls/wined3d/state.c, dlls/wined3d/stateblock.c, -# | dlls/wined3d/surface.c, dlls/wined3d/swapchain.c, dlls/wined3d/texture.c, dlls/wined3d/utils.c, dlls/wined3d/view.c, -# | dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h, include/wine/wined3d.h -# | -if test "$enable_wined3d_CSMT_Main" -eq 1; then - patch_apply wined3d-CSMT_Main/9999-IfDefined.patch - ( - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Return location from wined3d_buffer_get_memory().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Use unsynchronized buffer updates only if there has been at least one buffer map.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Avoid unsynchronized buffer update when reloading whole buffer.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Introduce wined3d_rendertarget_view_get_drawable_size() as replacement for surface_get_drawable_size().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Move surface_get_drawable_size() to view.c file.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Mark buffers as used in wined3d_buffer_copy().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Use wined3d_vec4 in fixup_transformed_pos().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Invalidate STATE_CONSTANT_BUFFER(*) device state in buffer_destroy_buffer_object() when needed.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Fix style issues in delete_gl_buffer().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Pass context to delete_gl_buffer().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Invalidate device state based on buffer bind flags when buffer is deleted.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Compute \"buffer_type_hint\" from buffer bind flags.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Use buffer_bind() in buffer_conversion_upload().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Fix index offset for immediate mode draws.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Introduce buffer_conversion_upload() helper function.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Replace wined3d_buffer_load_sysmem() calls with wined3d_buffer_load_location().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Prefer current locations to WINED3D_LOCATION_SYSMEM in wined3d_buffer_copy().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Introduce wined3d_buffer_get_memory().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Implement wined3d_buffer_prepare_location() for WINED3D_LOCATION_BUFFER.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Move buffer_get_memory() under wined3d_buffer_load_sysmem().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Do not assume that WINED3D_LOCATION_SYSMEM is always valid for double buffered buffers.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Introduce wined3d_buffer_load_location().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Introduce wined3d_buffer_prepapre_location().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Explicitly track locations for buffers.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Clean up buffer_internal_preload().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Let buffer_direct_upload() invalidate STATE_INDEXBUFFER if needed.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Sanitise resource map flags in wined3d_resource_map().\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Send resource unmaps through the command stream.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Send resource maps through the command stream.\".", 1 },'; - echo '+ { "Sebastian Lackner", "Revert \"wined3d: Send shader constant updates through the command stream.\".", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Make surface_load_location return nothing.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Call texture_load_location instead of surface_load_location.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Share surface and volume system memory loading code.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t call the public map function in surface_convert_format.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t call the public map function in surface_cpu_blt.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Move the framebuffer into wined3d_state.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Preload buffers if streamsrc is not dirty.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Hackily introduce a multithreaded command stream.", 1 },'; - echo '+ { "Henri Verbeet", "wined3d: Wait for resource updates to finish when using the multithreaded command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Wait for the cs before destroying objects.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Give the cs its own state.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send float constant updates through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Request a glFinish before modifying resources outside the cs.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Finish the cs before changing the texture lod.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t call glFinish after clears.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t call glFinish after draws.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Pass the depth stencil to swapchain->present.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Keep track of the onscreen depth stencil in the command stream instead of the device.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send base vertex index updates through the cs.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send primitive type updates through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send bool constant updates through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send int constant updates through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send light updates through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Prevent the command stream from running ahead too far.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Wait for the cs to finish before destroying the device.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Run the cs asynchronously.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send blits through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Hack to reject unsupported color fills.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Restore some wined3d_device_copy_sub_resource_region checks.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t force strict draw ordering for multithreaded CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send render target view clears through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send texture maps through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Get rid of the end_scene flush and finish.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Replace the linked lists with a ringbuffer.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t preload buffers on unmap.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t call glFinish before swapping.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Add query support to the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Check our CS state to find out if a query is done.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Poll queries automatically in the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Introduce a separate queue for priority commands.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t poll queries that failed to start.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Remove restated queries from the poll list.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Put this into the query poll patch.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t access device state in clears.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Avoid destroying views in color and depth fills.", 1 },'; - echo '+ { "Matteo Bruni", "wined3d: Avoid calling wined3d_surface_blt() from surface_upload_from_surface().", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send update_texture calls through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Get rid of the surface_upload_data glFinish.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t lock the src volume in device_update_volume.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Fence update_texture calls.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Dirtify resources on unmap.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Fence render targets and depth stencils.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Fence blit operations.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Fence color_fill operations.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Make resource maps and unmaps a priority command.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send update_sub_resource calls through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Dirtify changed textures through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Wrap GL BOs in a structure.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Separate resource map and draw buffers.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Implement DISCARD texture maps with PBOs.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Implement DISCARD resource maps with heap memory.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Unset some objects in state_init_default.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Use double-buffered buffers for multithreaded CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t synchronize NOOVERWRITE buffer maps.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Separate buffer map write and draw read memory pointers.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Accelerate DISCARD buffer maps.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Accelerate READONLY buffer maps.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Access the buffer dirty areas through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Ignore buffer->resource.map_count in the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Use glBufferSubData instead of glMapBufferRange.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Separate GL buffer discard control from ignoring MAP_DISCARD.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Create buffers before mapping them.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Remove another glFinish.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Create VBOs through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "Swapchain waits.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Unload resources through the CS in uninit_3d.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Unload resources through the CS in device_reset.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t glFinish after a depth buffer blit.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Use surface_blt_ugly in swapchain_gl_present.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Use an event to block the worker thread when it is idle.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Set map_heap_memory = NULL when allocating a PBO.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Wait only for the buffer to be idle.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Put GL_APPLE_flush_buffer_range syncing back in place.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t sync on redundant discard calls.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t discard new buffers.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Don'\''t try to sync VBOs manually on OSX with CSMT.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Only discard buffers that are in use.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Send getdc and releasedc through the command stream.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Ignore WINED3D_MAP_NO_DIRTY_UPDATE in resource_map.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Create dummy textures through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Create the initial context through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Recreate ctx and dummy textures through the CS after resets.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Call create_default_sampler from create_dummy_textures.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Delete GL contexts through the CS in reset.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Delete GL contexts through the CS in uninit_3d.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Update the swap interval through the CS in reset.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Do the sampler GL init through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Create initial DCs through the CS.", 1 },'; - echo '+ { "Stefan Dösinger", "wined3d: Assign a read buffer when discarding a new texture.", 1 },'; - echo '+ { "Sebastian Lackner", "wined3d: Do not query available GPU memory on main thread when CSMT is enabled.", 1 },'; - echo '+ { "Nils Kuhnhenn", "wined3d: Fix incorrect return value in wined3d_cs_exec_set_light.", 1 },'; - echo '+ { "Nils Kuhnhenn", "wined3d: Fix context_acquire not being called from the command thread in wined3d_texture_add_dirty_region.", 1 },'; - echo '+ { "Sebastian Lackner", "wined3d: Do not signal CS event when we manage to unset waiting_for_event quickly enough.", 1 },'; - echo '+ { "Sebastian Lackner", "wined3d: Enable CSMT by default, print a winediag message informing about this patchset.", 1 },'; - ) >> "$patchlist" -fi - # Patchset winedevice-Fix_Relocation # | # | This patchset fixes the following Wine bugs: diff --git a/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch b/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch index ee7daa5c..89d7e163 100644 --- a/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch +++ b/patches/wined3d-1DTextures/0004-wined3d-Create-dummy-1d-textures-and-surfaces.patch @@ -1,4 +1,4 @@ -From ff813bcf8c68aab5828a012d5242a72b8cdb6bc3 Mon Sep 17 00:00:00 2001 +From 80118da171e87348ce58c22599202053fe95d3b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 25 Aug 2016 19:24:47 +0200 Subject: wined3d: Create dummy 1d textures and surfaces. @@ -9,7 +9,7 @@ Subject: wined3d: Create dummy 1d textures and surfaces. 2 files changed, 175 insertions(+) diff --git a/dlls/wined3d/resource.c b/dlls/wined3d/resource.c -index 70474c6..4c6cc59 100644 +index 611c61f..64dce8f 100644 --- a/dlls/wined3d/resource.c +++ b/dlls/wined3d/resource.c @@ -94,6 +94,7 @@ HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device * @@ -21,11 +21,11 @@ index 70474c6..4c6cc59 100644 {WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_TEX_RECT}, {WINED3D_RTYPE_TEXTURE_2D, 0, WINED3D_GL_RES_TYPE_RB}, diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 7ab894b..e4ca54b 100644 +index 90bd4a0..4ecd4ce 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -1439,6 +1439,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s - context, data, row_pitch, slice_pitch); +@@ -1448,6 +1448,45 @@ void wined3d_texture_upload_data(struct wined3d_texture *texture, unsigned int s + context, box, data, row_pitch, slice_pitch); } + @@ -33,11 +33,11 @@ index 7ab894b..e4ca54b 100644 + * correct texture. */ +/* Context activation is done by the caller. */ +static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx, -+ const struct wined3d_context *context, const struct wined3d_const_bo_address *data, ++ const struct wined3d_context *context, const struct wined3d_box *box, const struct wined3d_const_bo_address *data, + unsigned int row_pitch, unsigned int slice_pitch) +{ -+ FIXME("texture %p, sub_resource_idx %u, context %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x: stub.\n", -+ texture, sub_resource_idx, context, data->buffer_object, data->addr, row_pitch, slice_pitch); ++ FIXME("texture %p, sub_resource_idx %u, context %p, box %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x: stub.\n", ++ texture, sub_resource_idx, context, box, data->buffer_object, data->addr, row_pitch, slice_pitch); +} + +/* Context activation is done by the caller. */ @@ -68,9 +68,9 @@ index 7ab894b..e4ca54b 100644 +}; + static void texture2d_upload_data(struct wined3d_texture *texture, unsigned int sub_resource_idx, - const struct wined3d_context *context, const struct wined3d_const_bo_address *data, - unsigned int row_pitch, unsigned int slice_pitch) -@@ -1862,6 +1901,137 @@ static const struct wined3d_resource_ops texture_resource_ops = + const struct wined3d_context *context, const struct wined3d_box *box, + const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch) +@@ -1882,6 +1921,137 @@ static const struct wined3d_resource_ops texture_resource_ops = texture_resource_sub_resource_unmap, }; @@ -208,7 +208,7 @@ index 7ab894b..e4ca54b 100644 static HRESULT texture_init(struct wined3d_texture *texture, const struct wined3d_resource_desc *desc, unsigned int layer_count, unsigned int level_count, DWORD flags, struct wined3d_device *device, void *parent, const struct wined3d_parent_ops *parent_ops) -@@ -2789,6 +2959,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct +@@ -2828,6 +2998,10 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct switch (desc->resource_type) { @@ -220,5 +220,5 @@ index 7ab894b..e4ca54b 100644 hr = texture_init(object, desc, layer_count, level_count, flags, device, parent, parent_ops); break; -- -2.8.1 +2.9.0 diff --git a/patches/wined3d-1DTextures/0006-wined3d-Implement-uploading-for-1d-textures.patch b/patches/wined3d-1DTextures/0006-wined3d-Implement-uploading-for-1d-textures.patch index d6d289d9..f4156982 100644 --- a/patches/wined3d-1DTextures/0006-wined3d-Implement-uploading-for-1d-textures.patch +++ b/patches/wined3d-1DTextures/0006-wined3d-Implement-uploading-for-1d-textures.patch @@ -1,34 +1,60 @@ -From c80bcc9a789842075b2f68178a00525ac0cabcf7 Mon Sep 17 00:00:00 2001 +From 736b314e18e7e4d3c7dc7732e2e38c6b8de7ddfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 27 Aug 2016 22:25:20 +0200 Subject: wined3d: Implement uploading for 1d textures. --- - dlls/wined3d/texture.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 56 insertions(+), 1 deletion(-) + dlls/wined3d/device.c | 3 ++- + dlls/wined3d/texture.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++- + 2 files changed, 69 insertions(+), 2 deletions(-) +diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c +index 150f18f..c87b325 100644 +--- a/dlls/wined3d/device.c ++++ b/dlls/wined3d/device.c +@@ -4140,7 +4140,8 @@ void CDECL wined3d_device_update_sub_resource(struct wined3d_device *device, str + return; + } + +- if (resource->type != WINED3D_RTYPE_TEXTURE_2D && resource->type != WINED3D_RTYPE_TEXTURE_3D) ++ if (resource->type != WINED3D_RTYPE_TEXTURE_1D && ++ resource->type != WINED3D_RTYPE_TEXTURE_2D && resource->type != WINED3D_RTYPE_TEXTURE_3D) + { + FIXME("Not implemented for %s resources.\n", debug_d3dresourcetype(resource->type)); + return; diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 942337b..442ec27 100644 +index 2b66b68..614b4cf 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -1447,8 +1447,63 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int - const struct wined3d_context *context, const struct wined3d_const_bo_address *data, +@@ -1456,8 +1456,74 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int + const struct wined3d_context *context, const struct wined3d_box *box, const struct wined3d_const_bo_address *data, unsigned int row_pitch, unsigned int slice_pitch) { -- FIXME("texture %p, sub_resource_idx %u, context %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x: stub.\n", +- FIXME("texture %p, sub_resource_idx %u, context %p, box %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x: stub.\n", + struct wined3d_surface *surface = texture->sub_resources[sub_resource_idx].u.surface; + const struct wined3d_format *format = texture->resource.format; + unsigned int level = sub_resource_idx % texture->level_count; + const struct wined3d_gl_info *gl_info = context->gl_info; + const void *mem = data->addr; + void *converted_mem = NULL; -+ unsigned int width; ++ unsigned int width, x, update_w; + -+ TRACE("texture %p, sub_resource_idx %u, context %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x.\n", - texture, sub_resource_idx, context, data->buffer_object, data->addr, row_pitch, slice_pitch); ++ TRACE("texture %p, sub_resource_idx %u, context %p, box %p, data {%#x:%p}, row_pitch %#x, slice_pitch %#x.\n", + texture, sub_resource_idx, context, box, data->buffer_object, data->addr, row_pitch, slice_pitch); + + width = wined3d_texture_get_level_width(texture, level); + ++ if (!box) ++ { ++ x = 0; ++ update_w = width; ++ } ++ else ++ { ++ x = box->left; ++ update_w = box->right - box->left; ++ } ++ + if (format->convert) + { + unsigned int dst_row_pitch; @@ -38,10 +64,10 @@ index 942337b..442ec27 100644 + if (texture->resource.format_flags & WINED3DFMT_FLAG_BLOCKS) + ERR("Converting a block-based format.\n"); + -+ dst_row_pitch = width * format->conv_byte_count; ++ dst_row_pitch = update_w * format->conv_byte_count; + + converted_mem = HeapAlloc(GetProcessHeap(), 0, dst_row_pitch); -+ format->convert(data->addr, converted_mem, row_pitch, slice_pitch, dst_row_pitch, dst_row_pitch, width, 1, 1); ++ format->convert(data->addr, converted_mem, row_pitch, slice_pitch, dst_row_pitch, dst_row_pitch, update_w, 1, 1); + mem = converted_mem; + } + @@ -55,14 +81,14 @@ index 942337b..442ec27 100644 + { + gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_ROW_LENGTH, row_pitch / format->byte_count); + -+ gl_info->gl_ops.gl.p_glTexSubImage2D(surface->texture_target, level, 0, surface->texture_layer, width, 1, format->glFormat, format->glType, mem); ++ gl_info->gl_ops.gl.p_glTexSubImage2D(surface->texture_target, level, x, surface->texture_layer, update_w, 1, format->glFormat, format->glType, mem); + checkGLcall("glTexSubImage2D"); + + gl_info->gl_ops.gl.p_glPixelStorei(GL_UNPACK_ROW_LENGTH, 0); + } + else + { -+ gl_info->gl_ops.gl.p_glTexSubImage1D(surface->texture_target, level, 0, width, format->glFormat, format->glType, mem); ++ gl_info->gl_ops.gl.p_glTexSubImage1D(surface->texture_target, level, x, update_w, format->glFormat, format->glType, mem); + checkGLcall("glTexSubImage1D"); + } + @@ -77,5 +103,5 @@ index 942337b..442ec27 100644 /* Context activation is done by the caller. */ -- -2.8.1 +2.9.0 diff --git a/patches/wined3d-1DTextures/0007-wined3d-Implement-loading-from-system-memory-and-buf.patch b/patches/wined3d-1DTextures/0007-wined3d-Implement-loading-from-system-memory-and-buf.patch index f01c03e4..1e4f989c 100644 --- a/patches/wined3d-1DTextures/0007-wined3d-Implement-loading-from-system-memory-and-buf.patch +++ b/patches/wined3d-1DTextures/0007-wined3d-Implement-loading-from-system-memory-and-buf.patch @@ -1,4 +1,4 @@ -From e73e778d3e02e0f4ce14f2f28811e14955d6fe9d Mon Sep 17 00:00:00 2001 +From d0b2b377e3be8800332a32b7feb9e3c734a5b25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 27 Aug 2016 22:38:47 +0200 Subject: wined3d: Implement loading from system memory and buffers to (s)rgb @@ -9,10 +9,10 @@ Subject: wined3d: Implement loading from system memory and buffers to (s)rgb 1 file changed, 67 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 442ec27..72e2baf 100644 +index 614b4cf..2accfe7 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -1510,10 +1510,75 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int +@@ -1530,10 +1530,75 @@ static void texture1d_upload_data(struct wined3d_texture *texture, unsigned int static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, DWORD location) { @@ -61,14 +61,14 @@ index 442ec27..72e2baf 100644 + data.addr += sub_resource->offset; + wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); + wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); -+ texture1d_upload_data(texture, sub_resource_idx, context, &data, row_pitch, slice_pitch); ++ texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); + } + else if (sub_resource->locations & WINED3D_LOCATION_BUFFER) + { + struct wined3d_const_bo_address data = {sub_resource->buffer_object, NULL}; + wined3d_texture_bind_and_dirtify(texture, context, location == WINED3D_LOCATION_TEXTURE_SRGB); + wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); -+ texture1d_upload_data(texture, sub_resource_idx, context, &data, row_pitch, slice_pitch); ++ texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); + } + else + { @@ -91,5 +91,5 @@ index 442ec27..72e2baf 100644 static void texture1d_prepare_texture(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb) -- -2.8.1 +2.9.0 diff --git a/patches/wined3d-1DTextures/0009-wined3d-Implement-converting-between-s-rgb-1d-textur.patch b/patches/wined3d-1DTextures/0009-wined3d-Implement-converting-between-s-rgb-1d-textur.patch index 8b5904a7..5aa3cbab 100644 --- a/patches/wined3d-1DTextures/0009-wined3d-Implement-converting-between-s-rgb-1d-textur.patch +++ b/patches/wined3d-1DTextures/0009-wined3d-Implement-converting-between-s-rgb-1d-textur.patch @@ -1,4 +1,4 @@ -From 20fbaad604f6b979154d7b8d5b1e43a7f10f1d8d Mon Sep 17 00:00:00 2001 +From b791c5d95a0526a52a4e9abef7e2809eaf6e6b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 27 Aug 2016 22:44:14 +0200 Subject: wined3d: Implement converting between (s)rgb 1d textures. @@ -8,10 +8,10 @@ Subject: wined3d: Implement converting between (s)rgb 1d textures. 1 file changed, 31 insertions(+) diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index 48f3cde..9c17b45 100644 +index 0b7c53d..74de20c 100644 --- a/dlls/wined3d/texture.c +++ b/dlls/wined3d/texture.c -@@ -1577,6 +1577,29 @@ static void texture1d_download_data(struct wined3d_texture *texture, unsigned in +@@ -1597,6 +1597,29 @@ static void texture1d_download_data(struct wined3d_texture *texture, unsigned in } /* Context activation is done by the caller. */ @@ -31,7 +31,7 @@ index 48f3cde..9c17b45 100644 + wined3d_texture_bind_and_dirtify(texture, context, !dest_is_srgb); + texture1d_download_data(texture, sub_resource_idx, context, &data); + wined3d_texture_bind_and_dirtify(texture, context, dest_is_srgb); -+ texture1d_upload_data(texture, sub_resource_idx, context, ++ texture1d_upload_data(texture, sub_resource_idx, context, NULL, + wined3d_const_bo_address(&data), row_pitch, slice_pitch); + + HeapFree(GetProcessHeap(), 0, data.addr); @@ -41,9 +41,9 @@ index 48f3cde..9c17b45 100644 static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, DWORD location) { -@@ -1632,6 +1655,14 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in +@@ -1652,6 +1675,14 @@ static BOOL texture1d_load_location(struct wined3d_texture *texture, unsigned in wined3d_texture_get_pitch(texture, sub_resource_idx, &row_pitch, &slice_pitch); - texture1d_upload_data(texture, sub_resource_idx, context, &data, row_pitch, slice_pitch); + texture1d_upload_data(texture, sub_resource_idx, context, NULL, &data, row_pitch, slice_pitch); } + else if (sub_resource->locations & WINED3D_LOCATION_TEXTURE_RGB) + { @@ -57,5 +57,5 @@ index 48f3cde..9c17b45 100644 { FIXME("Implement 1d texture loading from %s.\n", wined3d_debug_location(sub_resource->locations)); -- -2.8.1 +2.9.0 diff --git a/patches/wined3d-CSMT_Main/definition b/patches/wined3d-CSMT_Main/definition index b3acc9dd..dcae18bb 100644 --- a/patches/wined3d-CSMT_Main/definition +++ b/patches/wined3d-CSMT_Main/definition @@ -5,6 +5,7 @@ Fixes: [11674] Support for CSMT (command stream) to increase graphic performance Apply-After: dlls/wined3d/* Depends: wined3d-CSMT_Helper IfDefined: STAGING_CSMT +Disabled: true # Known issues: # https://bugs.wine-staging.com/buglist.cgi?component=Bugs&keywords=csmt%2C%20&keywords_type=allwords&list_id=3690&query_format=advanced&resolution=--- diff --git a/patches/wined3d-Revert_Texture_Upload/0001-Revert-wined3d-Implement-the-initial-texture-data-up.patch b/patches/wined3d-Revert_Texture_Upload/0001-Revert-wined3d-Implement-the-initial-texture-data-up.patch deleted file mode 100644 index 9ac168ef..00000000 --- a/patches/wined3d-Revert_Texture_Upload/0001-Revert-wined3d-Implement-the-initial-texture-data-up.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 364b6bf5c142544b442c6d69911839edca9e994b Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Wed, 21 Sep 2016 01:18:41 +0200 -Subject: Revert "wined3d: Implement the initial texture data upload on top of - wined3d_device_update_sub_resource()." - -This reverts commit e58689a3981fae5b312b12e9f6801adf289d04c0. ---- - dlls/wined3d/texture.c | 15 +++++++++++++-- - 1 file changed, 13 insertions(+), 2 deletions(-) - -diff --git a/dlls/wined3d/texture.c b/dlls/wined3d/texture.c -index c82016e5..dddd2fa 100644 ---- a/dlls/wined3d/texture.c -+++ b/dlls/wined3d/texture.c -@@ -2828,6 +2828,7 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct - if (data) - { - unsigned int sub_count = level_count * layer_count; -+ struct wined3d_context *context; - unsigned int i; - - for (i = 0; i < sub_count; ++i) -@@ -2841,11 +2842,21 @@ HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct - } - } - -+ context = context_acquire(device, NULL); -+ -+ wined3d_texture_prepare_texture(object, context, FALSE); -+ wined3d_texture_bind_and_dirtify(object, context, FALSE); -+ - for (i = 0; i < sub_count; ++i) - { -- wined3d_device_update_sub_resource(device, &object->resource, -- i, NULL, data[i].data, data[i].row_pitch, data[i].slice_pitch); -+ const struct wined3d_const_bo_address addr = {0, data[i].data}; -+ -+ wined3d_texture_upload_data(object, i, context, &addr, data[i].row_pitch, data[i].slice_pitch); -+ wined3d_texture_validate_location(object, i, WINED3D_LOCATION_TEXTURE_RGB); -+ wined3d_texture_invalidate_location(object, i, ~WINED3D_LOCATION_TEXTURE_RGB); - } -+ -+ context_release(context); - } - - TRACE("Created texture %p.\n", object); --- -2.9.0 - diff --git a/patches/wined3d-Revert_Texture_Upload/definition b/patches/wined3d-Revert_Texture_Upload/definition deleted file mode 100644 index 55083e4b..00000000 --- a/patches/wined3d-Revert_Texture_Upload/definition +++ /dev/null @@ -1,2 +0,0 @@ -Fixes: Fix initial texture upload for 1D/3D textures -# FIXME: Needs support in wined3d_device_update_sub_resource. diff --git a/patches/winepulse-PulseAudio_Support/0002-winepulse-expose-audio-devices-directly-to-programs.patch b/patches/winepulse-PulseAudio_Support/0002-winepulse-expose-audio-devices-directly-to-programs.patch index 83f703cf..36176a49 100644 --- a/patches/winepulse-PulseAudio_Support/0002-winepulse-expose-audio-devices-directly-to-programs.patch +++ b/patches/winepulse-PulseAudio_Support/0002-winepulse-expose-audio-devices-directly-to-programs.patch @@ -1,4 +1,4 @@ -From 08980bf07929d455b5891941388f4291319924bb Mon Sep 17 00:00:00 2001 +From 50f78e94f4cf277297ee04479d050526b100e319 Mon Sep 17 00:00:00 2001 From: Mark Harmstone Date: Mon, 3 Nov 2014 02:06:40 +0000 Subject: winepulse: expose audio devices directly to programs @@ -20,7 +20,7 @@ Changes by Sebastian Lackner : 1 file changed, 230 insertions(+), 30 deletions(-) diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c -index 36822a4..9342762 100644 +index c23656e..d57e528 100644 --- a/dlls/winepulse.drv/mmdevdrv.c +++ b/dlls/winepulse.drv/mmdevdrv.c @@ -79,12 +79,25 @@ static pthread_mutex_t pulse_lock; @@ -71,7 +71,7 @@ index 36822a4..9342762 100644 LONG ref; EDataFlow dataflow; -@@ -186,8 +207,6 @@ struct ACImpl { +@@ -190,8 +211,6 @@ struct ACImpl { struct list packet_filled_head; }; @@ -80,7 +80,7 @@ index 36822a4..9342762 100644 static const IAudioClientVtbl AudioClient_Vtbl; static const IAudioRenderClientVtbl AudioRenderClient_Vtbl; static const IAudioCaptureClientVtbl AudioCaptureClient_Vtbl; -@@ -504,12 +523,92 @@ fail: +@@ -514,12 +533,92 @@ fail: return E_FAIL; } @@ -176,7 +176,7 @@ index 36822a4..9342762 100644 } /* some poorly-behaved applications call audio functions during DllMain, so we -@@ -525,6 +624,10 @@ static HRESULT pulse_test_connect(void) +@@ -535,6 +634,10 @@ static HRESULT pulse_test_connect(void) pa_mainloop *ml; pa_context *ctx; @@ -187,7 +187,7 @@ index 36822a4..9342762 100644 ml = pa_mainloop_new(); pa_mainloop_set_poll_func(ml, pulse_poll_func, NULL); -@@ -572,6 +675,9 @@ static HRESULT pulse_test_connect(void) +@@ -585,6 +688,9 @@ static HRESULT pulse_test_connect(void) pulse_probe_settings(ml, ctx, 0, &pulse_fmt[1]); g_phys_speakers_mask = 0; @@ -197,7 +197,7 @@ index 36822a4..9342762 100644 o = pa_context_get_sink_info_list(ctx, &pulse_phys_speakers_cb, NULL); if (o) { while (pa_mainloop_iterate(ml, 1, &ret) >= 0 && -@@ -580,6 +686,14 @@ static HRESULT pulse_test_connect(void) +@@ -593,6 +699,14 @@ static HRESULT pulse_test_connect(void) pa_operation_unref(o); } @@ -212,7 +212,7 @@ index 36822a4..9342762 100644 pa_context_unref(ctx); pa_mainloop_free(ml); return S_OK; -@@ -775,6 +889,9 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { +@@ -852,6 +966,9 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { char buffer[64]; static LONG number; pa_buffer_attr attr; @@ -222,7 +222,7 @@ index 36822a4..9342762 100644 if (This->stream) { pa_stream_disconnect(This->stream); while (pa_stream_get_state(This->stream) == PA_STREAM_READY) -@@ -799,12 +916,21 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { +@@ -876,12 +993,21 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { attr.maxlength = attr.tlength = This->bufsize_bytes; attr.prebuf = pa_frame_size(&This->ss); dump_attr(&attr); @@ -248,7 +248,7 @@ index 36822a4..9342762 100644 if (ret < 0) { WARN("Returns %i\n", ret); return AUDCLNT_E_ENDPOINT_CREATE_FAILED; -@@ -823,39 +949,53 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { +@@ -900,39 +1026,53 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { return S_OK; } @@ -321,7 +321,7 @@ index 36822a4..9342762 100644 } int WINAPI AUDDRV_GetPriority(void) -@@ -867,20 +1007,79 @@ int WINAPI AUDDRV_GetPriority(void) +@@ -944,20 +1084,79 @@ int WINAPI AUDDRV_GetPriority(void) return SUCCEEDED(hr) ? Priority_Preferred : Priority_Unavailable; } @@ -403,14 +403,14 @@ index 36822a4..9342762 100644 *out = NULL; -@@ -898,6 +1097,7 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, IAudioClient +@@ -975,6 +1174,7 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, IAudioClient This->parent = dev; for (i = 0; i < PA_CHANNELS_MAX; ++i) This->vol[i] = 1.f; + strcpy(This->device, pulse_name); - hr = CoCreateFreeThreadedMarshaler((IUnknown*)This, &This->marshal); + hr = CoCreateFreeThreadedMarshaler((IUnknown*)&This->IAudioClient_iface, &This->marshal); if (hr) { -- -2.6.2 +2.9.0 diff --git a/staging/VERSION b/staging/VERSION index 751995b7..1f98619a 100644 --- a/staging/VERSION +++ b/staging/VERSION @@ -1 +1 @@ -Wine Staging 1.9.23 +Wine Staging 1.9.24 (unreleased)