From f3e2363b5247bf5188be84d5916d18e0d2b4a011 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Tue, 14 May 2019 08:18:42 +1000 Subject: [PATCH] Rebase against 40fef0fb71b079c1bf9667d80384cc43ec7f11fd --- ...meration-of-joysticks-with-DirectX-3.patch | 103 ------------------ patches/dinput-joy-directX3/definition | 3 - ...riteTextFormat-with-nonexistent-font.patch | 18 +-- ...ement-some-processor-group-functions.patch | 26 ++--- patches/patchinstall.sh | 23 +--- 5 files changed, 23 insertions(+), 150 deletions(-) delete mode 100644 patches/dinput-joy-directX3/0001-dinput-Allow-Enumeration-of-joysticks-with-DirectX-3.patch delete mode 100644 patches/dinput-joy-directX3/definition diff --git a/patches/dinput-joy-directX3/0001-dinput-Allow-Enumeration-of-joysticks-with-DirectX-3.patch b/patches/dinput-joy-directX3/0001-dinput-Allow-Enumeration-of-joysticks-with-DirectX-3.patch deleted file mode 100644 index 99173568..00000000 --- a/patches/dinput-joy-directX3/0001-dinput-Allow-Enumeration-of-joysticks-with-DirectX-3.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 4ec91bab963a508a30bc1a77b785a5014d6bf264 Mon Sep 17 00:00:00 2001 -From: Alistair Leslie-Hughes -Date: Wed, 1 May 2019 12:22:14 +1000 -Subject: [PATCH 1/7] dinput: Allow Enumeration of joysticks with DirectX 3. - -Star Wars: Rogue 3D requests a DirectX 3.0 version -0108:trace:dinput:DirectInputCreateEx (0x400000,0300,{9a4cb684-236d-11d3-8e9d-00c04f6844ae},0x7acfa0,(nil)) -and then tries to interate over all Joysticks. - -The current tests show that this is the correct behaviour, -However, - On windows (Steam version of above) uses a shim to allow joystick support. - -Signed-off-by: Alistair Leslie-Hughes ---- - dlls/dinput/joystick_linux.c | 4 ++-- - dlls/dinput/joystick_linuxinput.c | 4 ++-- - dlls/dinput/joystick_osx.c | 4 ++-- - dlls/dinput/tests/joystick.c | 2 +- - 4 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/dlls/dinput/joystick_linux.c b/dlls/dinput/joystick_linux.c -index d661a14..22f7d3b 100644 ---- a/dlls/dinput/joystick_linux.c -+++ b/dlls/dinput/joystick_linux.c -@@ -377,7 +377,7 @@ static HRESULT joydev_enum_deviceA(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - } - - if ((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800))) { - /* check whether we have a joystick */ - if ((fd = open(joystick_devices[id].device, O_RDONLY)) == -1) -@@ -406,7 +406,7 @@ static HRESULT joydev_enum_deviceW(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - } - - if ((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800))) { - /* check whether we have a joystick */ - if ((fd = open(joystick_devices[id].device, O_RDONLY)) == -1) -diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c -index 3580505..fb6b305 100644 ---- a/dlls/dinput/joystick_linuxinput.c -+++ b/dlls/dinput/joystick_linuxinput.c -@@ -412,7 +412,7 @@ static HRESULT joydev_enum_deviceA(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - } - - if (!((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800)))) - return S_FALSE; - -@@ -437,7 +437,7 @@ static HRESULT joydev_enum_deviceW(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - } - - if (!((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800)))) - return S_FALSE; - -diff --git a/dlls/dinput/joystick_osx.c b/dlls/dinput/joystick_osx.c -index 4259d1a..3b7a7f0 100644 ---- a/dlls/dinput/joystick_osx.c -+++ b/dlls/dinput/joystick_osx.c -@@ -955,7 +955,7 @@ static HRESULT joydev_enum_deviceA(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - device = get_device_ref(id); - - if ((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800))) - { - if (dwFlags & DIEDFL_FORCEFEEDBACK) { -@@ -1002,7 +1002,7 @@ static HRESULT joydev_enum_deviceW(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINS - device = get_device_ref(id); - - if ((dwDevType == 0) || -- ((dwDevType == DIDEVTYPE_JOYSTICK) && (version > 0x0300 && version < 0x0800)) || -+ ((dwDevType == DIDEVTYPE_JOYSTICK) && (version >= 0x0300 && version < 0x0800)) || - (((dwDevType == DI8DEVCLASS_GAMECTRL) || (dwDevType == DI8DEVTYPE_JOYSTICK)) && (version >= 0x0800))) { - - if (dwFlags & DIEDFL_FORCEFEEDBACK) { -diff --git a/dlls/dinput/tests/joystick.c b/dlls/dinput/tests/joystick.c -index 631ea57..c07e821 100644 ---- a/dlls/dinput/tests/joystick.c -+++ b/dlls/dinput/tests/joystick.c -@@ -321,7 +321,7 @@ static BOOL CALLBACK EnumJoysticks(const DIDEVICEINSTANCEA *lpddi, void *pvRef) - DIPROPDWORD dip_gain_set, dip_gain_get; - struct effect_enum effect_data; - -- ok(data->version > 0x0300, "Joysticks not supported in version 0x%04x\n", data->version); -+ ok(data->version >= 0x0300, "Joysticks not supported in version 0x%04x\n", data->version); - - hr = IDirectInput_CreateDevice(data->pDI, &lpddi->guidInstance, NULL, NULL); - ok(hr==E_POINTER,"IDirectInput_CreateDevice() should have returned " --- -1.9.1 - diff --git a/patches/dinput-joy-directX3/definition b/patches/dinput-joy-directX3/definition deleted file mode 100644 index 0c333e72..00000000 --- a/patches/dinput-joy-directX3/definition +++ /dev/null @@ -1,3 +0,0 @@ -Fixes: [36764] dinput: Allow DirectX version 3 to enumerate joysticks. -Fixes: [47123] dinput: Use heuristics to guess if a device is a gamepad or a joystick. - diff --git a/patches/dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch b/patches/dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch index c12ae5d0..a3d3f205 100644 --- a/patches/dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch +++ b/patches/dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch @@ -1,15 +1,15 @@ -From e2978c13fca913a14991e286c463ede69f61831d Mon Sep 17 00:00:00 2001 +From 947b2e9978e50d159f8bc368aa1d5e967c1ad593 Mon Sep 17 00:00:00 2001 From: Lucian Poston Date: Sun, 20 May 2018 21:40:39 -0700 -Subject: [PATCH 1/6] dwrite: Test IDWriteTextFormat with nonexistent font +Subject: [PATCH] dwrite: Test IDWriteTextFormat with nonexistent font Signed-off-by: Lucian Poston --- - dlls/dwrite/tests/layout.c | 46 ++++++++++++++++++++++++++++++++++++++ + dlls/dwrite/tests/layout.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c -index 652f6b78ac..4198b8a1b1 100644 +index 8337ce7..03da3c0 100644 --- a/dlls/dwrite/tests/layout.c +++ b/dlls/dwrite/tests/layout.c @@ -30,6 +30,7 @@ @@ -20,11 +20,10 @@ index 652f6b78ac..4198b8a1b1 100644 static const WCHAR enusW[] = {'e','n','-','u','s',0}; struct testanalysissink -@@ -3292,6 +3293,51 @@ todo_wine - ok(metrics.lineCount == 1, "got %u\n", metrics.lineCount); +@@ -3311,6 +3312,51 @@ todo_wine IDWriteTextLayout_Release(layout); -+ IDWriteTextFormat_Release(format); + IDWriteTextFormat_Release(format); + + /* nonexistent font */ + hr = IDWriteFactory_CreateTextFormat(factory, nonExistentFontW, NULL, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL, @@ -69,9 +68,10 @@ index 652f6b78ac..4198b8a1b1 100644 + + IDWriteTextLayout_Release(layout); + - IDWriteTextFormat_Release(format); ++ IDWriteTextFormat_Release(format); IDWriteFactory_Release(factory); } + -- -2.18.0 +1.9.1 diff --git a/patches/kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch b/patches/kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch index 03c77de1..afec6350 100644 --- a/patches/kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch +++ b/patches/kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch @@ -1,4 +1,4 @@ -From 985632c94e0175972f8a780f4d363bbfe7e284bf Mon Sep 17 00:00:00 2001 +From e6eb1b2542caec9481f9ec0ad87d17dd568a3106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 4 Feb 2017 16:20:37 +0100 Subject: [PATCH] kernel32: Implement some processor group functions. @@ -26,7 +26,7 @@ index e653ac6..b6af37a 100644 @ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId @ stdcall GetShortPathNameA(str ptr long) kernel32.GetShortPathNameA diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec -index 5531d2d..997b80a 100644 +index 946e3de..fca40f1 100644 --- a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec +++ b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec @@ -26,7 +26,7 @@ @@ -37,12 +37,12 @@ index 5531d2d..997b80a 100644 +@ stdcall GetMaximumProcessorGroupCount() kernel32.GetMaximumProcessorGroupCount @ stdcall GetNamedPipeClientProcessId(long ptr) kernel32.GetNamedPipeClientProcessId @ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId - @ stub GetNumaAvailableMemoryNodeEx + @ stdcall GetNumaAvailableMemoryNodeEx(long ptr) diff --git a/dlls/kernel32/cpu.c b/dlls/kernel32/cpu.c -index 84385c7..c06db1d 100644 +index 6e198ba..8d0afde 100644 --- a/dlls/kernel32/cpu.c +++ b/dlls/kernel32/cpu.c -@@ -312,7 +312,9 @@ SIZE_T WINAPI GetLargePageMinimum(void) +@@ -284,7 +284,9 @@ SIZE_T WINAPI GetLargePageMinimum(void) */ WORD WINAPI GetActiveProcessorGroupCount(void) { @@ -53,7 +53,7 @@ index 84385c7..c06db1d 100644 return 1; } -@@ -321,14 +323,26 @@ WORD WINAPI GetActiveProcessorGroupCount(void) +@@ -293,14 +295,26 @@ WORD WINAPI GetActiveProcessorGroupCount(void) */ DWORD WINAPI GetActiveProcessorCount(WORD group) { @@ -87,10 +87,10 @@ index 84385c7..c06db1d 100644 /*********************************************************************** diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec -index 85fce37..12a550b 100644 +index 8346575..1928382 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec -@@ -716,7 +716,7 @@ +@@ -717,7 +717,7 @@ @ stdcall GetLongPathNameW (wstr long long) @ stdcall GetMailslotInfo(long ptr ptr ptr ptr) @ stdcall GetMaximumProcessorCount(long) @@ -100,7 +100,7 @@ index 85fce37..12a550b 100644 @ stdcall GetModuleFileNameW(long ptr long) @ stdcall GetModuleHandleA(str) diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c -index fe68d28..dc26549 100644 +index 0892d84..71d141d 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c @@ -91,6 +91,7 @@ static SIZE_T (WINAPI *pGetLargePageMinimum)(void); @@ -119,7 +119,7 @@ index fe68d28..dc26549 100644 return TRUE; } -@@ -3784,6 +3786,26 @@ static void test_ProcThreadAttributeList(void) +@@ -3880,6 +3882,26 @@ static void test_ProcThreadAttributeList(void) pDeleteProcThreadAttributeList(&list); } @@ -146,7 +146,7 @@ index fe68d28..dc26549 100644 START_TEST(process) { HANDLE job; -@@ -3868,6 +3890,7 @@ START_TEST(process) +@@ -3964,6 +3986,7 @@ START_TEST(process) test_GetNumaProcessorNode(); test_session_info(); test_GetLogicalProcessorInformationEx(); @@ -155,10 +155,10 @@ index fe68d28..dc26549 100644 test_ProcThreadAttributeList(); test_SuspendProcessState(); diff --git a/include/winnt.h b/include/winnt.h -index 742b47b..520b642 100644 +index 6f651c8..e0ac7d5 100644 --- a/include/winnt.h +++ b/include/winnt.h -@@ -6096,6 +6096,8 @@ typedef struct _GROUP_AFFINITY +@@ -6355,6 +6355,8 @@ typedef struct _GROUP_AFFINITY WORD Reserved[3]; } GROUP_AFFINITY, *PGROUP_AFFINITY; diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c7cc485d..f7bfb82f 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "aaf9c833ee1b9dca8cffcb2a60c96093fdd36405" + echo "40fef0fb71b079c1bf9667d80384cc43ec7f11fd" } # Show version information @@ -130,7 +130,6 @@ patch_enable_all () enable_ddraw_Write_Vtable="$1" enable_ddraw_version_check="$1" enable_dinput_axis_recalc="$1" - enable_dinput_joy_directX3="$1" enable_dinput_joy_mappings="$1" enable_dinput_reconnect_joystick="$1" enable_dinput_remap_joystick="$1" @@ -521,9 +520,6 @@ patch_enable () dinput-axis-recalc) enable_dinput_axis_recalc="$2" ;; - dinput-joy-directX3) - enable_dinput_joy_directX3="$2" - ;; dinput-joy-mappings) enable_dinput_joy_mappings="$2" ;; @@ -3087,23 +3083,6 @@ if test "$enable_dinput_axis_recalc" -eq 1; then ) >> "$patchlist" fi -# Patchset dinput-joy-directX3 -# | -# | This patchset fixes the following Wine bugs: -# | * [#36764] dinput: Allow DirectX version 3 to enumerate joysticks. -# | * [#47123] dinput: Use heuristics to guess if a device is a gamepad or a joystick. -# | -# | Modified files: -# | * dlls/dinput/joystick_linux.c, dlls/dinput/joystick_linuxinput.c, dlls/dinput/joystick_osx.c, -# | dlls/dinput/tests/joystick.c -# | -if test "$enable_dinput_joy_directX3" -eq 1; then - patch_apply dinput-joy-directX3/0001-dinput-Allow-Enumeration-of-joysticks-with-DirectX-3.patch - ( - printf '%s\n' '+ { "Alistair Leslie-Hughes", "dinput: Allow Enumeration of joysticks with DirectX 3.", 1 },'; - ) >> "$patchlist" -fi - # Patchset dinput-joy-mappings # | # | This patchset fixes the following Wine bugs: