From 11233f0810251da8ca98077ace018d375dc430f5 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Fri, 13 Apr 2018 18:45:57 -0500 Subject: [PATCH] Rebase against 3f281a3baad9f5f8f875da902718a1d5d3dc0d9f --- ...dd-SetProcessAffinityUpdateMode-stub.patch | 100 ++++++++++++++++++ .../definition | 1 + patches/patchinstall.sh | 39 ++++++- ...d-semi-stub-for-GetAutoRotationState.patch | 28 ++--- ...ommit-b747d6f6ccdf1699a9242a570d681f.patch | 26 +++++ patches/xaudio2_CommitChanges/definition | 1 + 6 files changed, 180 insertions(+), 15 deletions(-) create mode 100644 patches/kernel32-SetProcessAffinityUpdateMode/0001-kernel32-add-SetProcessAffinityUpdateMode-stub.patch create mode 100644 patches/kernel32-SetProcessAffinityUpdateMode/definition create mode 100644 patches/xaudio2_CommitChanges/0001-xaudio2-revert-commit-b747d6f6ccdf1699a9242a570d681f.patch create mode 100644 patches/xaudio2_CommitChanges/definition diff --git a/patches/kernel32-SetProcessAffinityUpdateMode/0001-kernel32-add-SetProcessAffinityUpdateMode-stub.patch b/patches/kernel32-SetProcessAffinityUpdateMode/0001-kernel32-add-SetProcessAffinityUpdateMode-stub.patch new file mode 100644 index 00000000..958c9a77 --- /dev/null +++ b/patches/kernel32-SetProcessAffinityUpdateMode/0001-kernel32-add-SetProcessAffinityUpdateMode-stub.patch @@ -0,0 +1,100 @@ +From 98c0534337d1057e68369b939769dfed30f065ed Mon Sep 17 00:00:00 2001 +From: Thomas Crider +Date: Fri, 13 Apr 2018 18:04:09 -0400 +Subject: kernel32: add SetProcessAffinityUpdateMode stub + +--- + .../api-ms-win-core-processthreads-l1-1-0.spec | 2 +- + .../api-ms-win-core-processthreads-l1-1-1.spec | 2 +- + .../api-ms-win-core-processthreads-l1-1-2.spec | 2 +- + dlls/kernel32/kernel32.spec | 2 +- + dlls/kernel32/process.c | 7 +++++++ + dlls/kernelbase/kernelbase.spec | 2 +- + 6 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec b/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec +index ff13d48..154c875 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec +@@ -32,7 +32,7 @@ + @ stdcall QueueUserAPC(ptr long long) kernel32.QueueUserAPC + @ stdcall ResumeThread(long) kernel32.ResumeThread + @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass +-@ stub SetProcessAffinityUpdateMode ++@ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode + @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters + @ stdcall SetThreadPriority(long long) kernel32.SetThreadPriority + @ stdcall SetThreadPriorityBoost(long long) kernel32.SetThreadPriorityBoost +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec +index 381db8a..ebbe55f 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec +@@ -43,7 +43,7 @@ + @ stdcall QueueUserAPC(ptr long long) kernel32.QueueUserAPC + @ stdcall ResumeThread(long) kernel32.ResumeThread + @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass +-@ stub SetProcessAffinityUpdateMode ++@ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode + @ stub SetProcessMitigationPolicy + @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters + @ stdcall SetThreadContext(long ptr) kernel32.SetThreadContext +diff --git a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec +index fc2feec..db94c2e 100644 +--- a/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec ++++ b/dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win-core-processthreads-l1-1-2.spec +@@ -48,7 +48,7 @@ + @ stdcall QueueUserAPC(ptr long long) kernel32.QueueUserAPC + @ stdcall ResumeThread(long) kernel32.ResumeThread + @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass +-@ stub SetProcessAffinityUpdateMode ++@ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode + @ stub SetProcessMitigationPolicy + @ stdcall SetProcessPriorityBoost(long long) kernel32.SetProcessPriorityBoost + @ stdcall SetProcessShutdownParameters(long long) kernel32.SetProcessShutdownParameters +diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec +index 7470d2b..8b8fa3a 100644 +--- a/dlls/kernel32/kernel32.spec ++++ b/dlls/kernel32/kernel32.spec +@@ -1425,7 +1425,7 @@ + @ stdcall SetNamedPipeHandleState(long ptr ptr ptr) + @ stdcall SetPriorityClass(long long) + @ stdcall SetProcessAffinityMask(long long) +-# @ stub SetProcessAffinityUpdateMode ++@ stdcall SetProcessAffinityUpdateMode(long long) + @ stdcall SetProcessDEPPolicy(long) + # @ stub SetProcessPreferredUILanguages + @ stdcall SetProcessPriorityBoost(long long) +diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c +index 47f1cfb..613b30b 100644 +--- a/dlls/kernel32/process.c ++++ b/dlls/kernel32/process.c +@@ -3647,6 +3647,13 @@ cleanup: + return !status; + } + ++BOOL WINAPI SetProcessAffinityUpdateMode(HANDLE hProcess, DWORD flags) ++{ ++ FIXME("(%p,0x%08x): stub\n", hProcess, flags); ++ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); ++ return FALSE; ++} ++ + /*********************************************************************** + * K32GetProcessImageFileNameA (KERNEL32.@) + */ +diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec +index be1e5b5..768eadf 100644 +--- a/dlls/kernelbase/kernelbase.spec ++++ b/dlls/kernelbase/kernelbase.spec +@@ -1452,7 +1452,7 @@ + @ stdcall SetPriorityClass(long long) kernel32.SetPriorityClass + @ stdcall SetPrivateObjectSecurity(long ptr ptr ptr long) advapi32.SetPrivateObjectSecurity + @ stub SetPrivateObjectSecurityEx +-@ stub SetProcessAffinityUpdateMode ++@ stdcall SetProcessAffinityUpdateMode(long long) kernel32.SetProcessAffinityUpdateMode + # @ stub SetProcessDefaultCpuSets + # @ stub SetProcessGroupAffinity + # @ stub SetProcessInformation +-- +2.7.4 + diff --git a/patches/kernel32-SetProcessAffinityUpdateMode/definition b/patches/kernel32-SetProcessAffinityUpdateMode/definition new file mode 100644 index 00000000..8ce986b8 --- /dev/null +++ b/patches/kernel32-SetProcessAffinityUpdateMode/definition @@ -0,0 +1 @@ +Fixes: Crash in Dead Rising 4 \ No newline at end of file diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 8ccb9310..dc72cbe5 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "a7b33a6a428c9920d8130819373b1554bbd206c4" + echo "3f281a3baad9f5f8f875da902718a1d5d3dc0d9f" } # Show version information @@ -184,6 +184,7 @@ patch_enable_all () enable_kernel32_Profile="$1" enable_kernel32_SCSI_Sysfs="$1" enable_kernel32_SetFileCompletionNotificationModes="$1" + enable_kernel32_SetProcessAffinityUpdateMode="$1" enable_kernel32_TimezoneInformation_Registry="$1" enable_kernelbase_PathCchCombineEx="$1" enable_krnl386_exe16_GDT_LDT_Emulation="$1" @@ -434,6 +435,7 @@ patch_enable_all () enable_wuauserv_Dummy_Service="$1" enable_wusa_MSU_Package_Installer="$1" enable_xaudio2_7_OnVoiceProcessingPassStart="$1" + enable_xaudio2_CommitChanges="$1" } # Enable or disable a specific patchset @@ -743,6 +745,9 @@ patch_enable () kernel32-SetFileCompletionNotificationModes) enable_kernel32_SetFileCompletionNotificationModes="$2" ;; + kernel32-SetProcessAffinityUpdateMode) + enable_kernel32_SetProcessAffinityUpdateMode="$2" + ;; kernel32-TimezoneInformation_Registry) enable_kernel32_TimezoneInformation_Registry="$2" ;; @@ -1493,6 +1498,9 @@ patch_enable () xaudio2_7-OnVoiceProcessingPassStart) enable_xaudio2_7_OnVoiceProcessingPassStart="$2" ;; + xaudio2_CommitChanges) + enable_xaudio2_CommitChanges="$2" + ;; *) return 1 ;; @@ -4420,6 +4428,20 @@ if test "$enable_kernel32_SetFileCompletionNotificationModes" -eq 1; then ) >> "$patchlist" fi +# Patchset kernel32-SetProcessAffinityUpdateMode +# | +# | Modified files: +# | * dlls/api-ms-win-core-processthreads-l1-1-0/api-ms-win-core-processthreads-l1-1-0.spec, dlls/api-ms-win-core- +# | processthreads-l1-1-1/api-ms-win-core-processthreads-l1-1-1.spec, dlls/api-ms-win-core-processthreads-l1-1-2/api-ms-win- +# | core-processthreads-l1-1-2.spec, dlls/kernel32/kernel32.spec, dlls/kernel32/process.c, dlls/kernelbase/kernelbase.spec +# | +if test "$enable_kernel32_SetProcessAffinityUpdateMode" -eq 1; then + patch_apply kernel32-SetProcessAffinityUpdateMode/0001-kernel32-add-SetProcessAffinityUpdateMode-stub.patch + ( + printf '%s\n' '+ { "Thomas Crider", "kernel32: Add SetProcessAffinityUpdateMode stub.", 1 },'; + ) >> "$patchlist" +fi + # Patchset kernel32-TimezoneInformation_Registry # | # | Modified files: @@ -8714,6 +8736,21 @@ if test "$enable_xaudio2_7_OnVoiceProcessingPassStart" -eq 1; then ) >> "$patchlist" fi +# Patchset xaudio2_CommitChanges +# | +# | This patchset fixes the following Wine bugs: +# | * [#44883] Return S_OK from IXAudio2Impl_CommitChanges() +# | +# | Modified files: +# | * dlls/xaudio2_7/xaudio_dll.c +# | +if test "$enable_xaudio2_CommitChanges" -eq 1; then + patch_apply xaudio2_CommitChanges/0001-xaudio2-revert-commit-b747d6f6ccdf1699a9242a570d681f.patch + ( + printf '%s\n' '+ { "Thomas Crider", "xaudio2: Revert commit b747d6f6ccdf1699a9242a570d681fa246de592e, fixes #44883.", 1 },'; + ) >> "$patchlist" +fi + if test "$enable_patchlist" -eq 1; then diff --git a/patches/user32-GetAutoRotationState/0001-user32-Add-semi-stub-for-GetAutoRotationState.patch b/patches/user32-GetAutoRotationState/0001-user32-Add-semi-stub-for-GetAutoRotationState.patch index c977b558..9623613d 100644 --- a/patches/user32-GetAutoRotationState/0001-user32-Add-semi-stub-for-GetAutoRotationState.patch +++ b/patches/user32-GetAutoRotationState/0001-user32-Add-semi-stub-for-GetAutoRotationState.patch @@ -1,4 +1,4 @@ -From 519f8f585bc53f6de0174e5c3b73833fb81a7499 Mon Sep 17 00:00:00 2001 +From d0df39ea652f6bd3470eda92e046882f7510be67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 8 Jan 2017 18:22:30 +0100 Subject: [PATCH] user32: Add semi-stub for GetAutoRotationState. @@ -9,10 +9,10 @@ Subject: [PATCH] user32: Add semi-stub for GetAutoRotationState. 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c -index 95a883d..c64047a 100644 +index 425acae..53155ae 100644 --- a/dlls/user32/sysparams.c +++ b/dlls/user32/sysparams.c -@@ -3124,8 +3124,15 @@ DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT +@@ -3342,8 +3342,15 @@ DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT */ BOOL WINAPI GetAutoRotationState( AR_STATE *state ) { @@ -31,18 +31,18 @@ index 95a883d..c64047a 100644 } diff --git a/dlls/user32/tests/sysparams.c b/dlls/user32/tests/sysparams.c -index 5b185b9..e71aa3a 100644 +index e662517..1efbb15 100644 --- a/dlls/user32/tests/sysparams.c +++ b/dlls/user32/tests/sysparams.c -@@ -50,6 +50,7 @@ static DPI_AWARENESS_CONTEXT (WINAPI *pSetThreadDpiAwarenessContext)(DPI_AWARENE - static DPI_AWARENESS_CONTEXT (WINAPI *pGetWindowDpiAwarenessContext)(HWND); - static DPI_AWARENESS (WINAPI *pGetAwarenessFromDpiAwarenessContext)(DPI_AWARENESS_CONTEXT); +@@ -52,6 +52,7 @@ static DPI_AWARENESS (WINAPI *pGetAwarenessFromDpiAwarenessContext)(DPI_AWARENES static BOOL (WINAPI *pIsValidDpiAwarenessContext)(DPI_AWARENESS_CONTEXT); + static INT (WINAPI *pGetSystemMetricsForDpi)(INT,UINT); + static BOOL (WINAPI *pSystemParametersInfoForDpi)(UINT,UINT,void*,UINT,UINT); +static LONG (WINAPI *pGetAutoRotationState)(PAR_STATE); static BOOL strict; static int dpi, real_dpi; -@@ -3254,6 +3255,28 @@ static void test_window_dpi(void) +@@ -3432,6 +3433,28 @@ static void test_window_dpi(void) pSetThreadDpiAwarenessContext( orig ); } @@ -71,16 +71,16 @@ index 5b185b9..e71aa3a 100644 START_TEST(sysparams) { int argc; -@@ -3277,6 +3300,7 @@ START_TEST(sysparams) - pGetWindowDpiAwarenessContext = (void*)GetProcAddress(hdll, "GetWindowDpiAwarenessContext"); - pGetAwarenessFromDpiAwarenessContext = (void*)GetProcAddress(hdll, "GetAwarenessFromDpiAwarenessContext"); +@@ -3458,6 +3481,7 @@ START_TEST(sysparams) pIsValidDpiAwarenessContext = (void*)GetProcAddress(hdll, "IsValidDpiAwarenessContext"); + pGetSystemMetricsForDpi = (void*)GetProcAddress(hdll, "GetSystemMetricsForDpi"); + pSystemParametersInfoForDpi = (void*)GetProcAddress(hdll, "SystemParametersInfoForDpi"); + pGetAutoRotationState = (void*)GetProcAddress(hdll, "GetAutoRotationState"); hInstance = GetModuleHandleA( NULL ); hdc = GetDC(0); -@@ -3298,6 +3322,7 @@ START_TEST(sysparams) - trace("testing EnumDisplaySettings vs GetDeviceCaps\n"); +@@ -3479,6 +3503,7 @@ START_TEST(sysparams) + test_metrics_for_dpi( 192 ); test_EnumDisplaySettings( ); test_GetSysColorBrush( ); + test_GetAutoRotationState( ); @@ -88,5 +88,5 @@ index 5b185b9..e71aa3a 100644 change_counter = 0; change_last_param = 0; -- -1.9.1 +2.7.4 diff --git a/patches/xaudio2_CommitChanges/0001-xaudio2-revert-commit-b747d6f6ccdf1699a9242a570d681f.patch b/patches/xaudio2_CommitChanges/0001-xaudio2-revert-commit-b747d6f6ccdf1699a9242a570d681f.patch new file mode 100644 index 00000000..0c639105 --- /dev/null +++ b/patches/xaudio2_CommitChanges/0001-xaudio2-revert-commit-b747d6f6ccdf1699a9242a570d681f.patch @@ -0,0 +1,26 @@ +From f9e60ebf4fab57207c3a836110575c938c9bcd24 Mon Sep 17 00:00:00 2001 +From: Thomas Crider +Date: Fri, 13 Apr 2018 18:09:21 -0400 +Subject: [PATCH] xaudio2: revert commit + b747d6f6ccdf1699a9242a570d681fa246de592e, fixes #44883 + +--- + dlls/xaudio2_7/xaudio_dll.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c +index 28cf98565b..647d2fdab3 100644 +--- a/dlls/xaudio2_7/xaudio_dll.c ++++ b/dlls/xaudio2_7/xaudio_dll.c +@@ -1895,7 +1895,7 @@ static HRESULT WINAPI IXAudio2Impl_CommitChanges(IXAudio2 *iface, + + TRACE("(%p)->(0x%x): stub!\n", This, operationSet); + +- return E_NOTIMPL; ++ return S_OK; + } + + static void WINAPI IXAudio2Impl_GetPerformanceData(IXAudio2 *iface, +-- +2.17.0 + diff --git a/patches/xaudio2_CommitChanges/definition b/patches/xaudio2_CommitChanges/definition new file mode 100644 index 00000000..62b0af86 --- /dev/null +++ b/patches/xaudio2_CommitChanges/definition @@ -0,0 +1 @@ +Fixes: [44883] Return S_OK from IXAudio2Impl_CommitChanges() \ No newline at end of file