Updated mailing-list-patches patchset

This commit is contained in:
Alistair Leslie-Hughes 2019-07-18 08:31:21 +10:00
parent c95aae1049
commit 460094e600
7 changed files with 312 additions and 17 deletions

View File

@ -0,0 +1,57 @@
From e2fd31757e447acc266b152cd46d3ea383b01861 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 27 Jun 2019 22:30:15 -0500
Subject: [PATCH] wine.inf: Remove registration for the winebus service.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
---
loader/wine.inf.in | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index 0918c890fb..e686bcf3c6 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -130,7 +130,6 @@ AddService=FontCache3.0.0.0,0,WPFFontCacheService
AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
-AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
[DefaultInstall.NT.Services]
@@ -146,7 +145,6 @@ AddService=FontCache3.0.0.0,0,WPFFontCacheService
AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
-AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
[DefaultInstall.ntamd64.Services]
@@ -162,7 +160,6 @@ AddService=FontCache3.0.0.0,0,WPFFontCacheService
AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
-AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
[Strings]
@@ -3465,15 +3462,6 @@ ServiceType=32
StartType=3
ErrorControl=1
-[WineBusService]
-Description="Wine Platform Bus Kernel"
-DisplayName="Platform Bus Kernel"
-ServiceBinary="%12%\winebus.sys"
-LoadOrderGroup="WinePlugPlay"
-ServiceType=1
-StartType=2
-ErrorControl=1
-
[SpoolerService]
AddReg=SpoolerServiceKeys
Description="Loads files to memory for later printing"
--
2.17.1

View File

@ -0,0 +1,30 @@
From 67c0427180e30d0a372d3bde563c31ec099c8e18 Mon Sep 17 00:00:00 2001
From: Conor McCarthy <cmccarthy@codeweavers.com>
Date: Tue, 16 Jul 2019 13:41:08 +1000
Subject: [PATCH] dbghelp: Return NULL instead of IMAGE_NO_MAP when PE file
mapping fails.
A NULL test is always applied to the return value from pe_map_full(), but
IMAGE_NO_MAP is not NULL, it is ((void*)-1).
Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
---
dlls/dbghelp/pe_module.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dbghelp/pe_module.c b/dlls/dbghelp/pe_module.c
index 58530e7343..4b7c7baaae 100644
--- a/dlls/dbghelp/pe_module.c
+++ b/dlls/dbghelp/pe_module.c
@@ -53,7 +53,7 @@ static void* pe_map_full(struct image_file_map* fmap, IMAGE_NT_HEADERS** nth)
fmap->u.pe.full_count++;
return fmap->u.pe.full_map;
}
- return IMAGE_NO_MAP;
+ return NULL;
}
static void pe_unmap_full(struct image_file_map* fmap)
--
2.17.1

View File

@ -0,0 +1,88 @@
From 8a4b21c7a54640e89d6069c04954d2dec3ad985c Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <zzhang@codeweavers.com>
Date: Tue, 16 Jul 2019 17:36:48 +0800
Subject: [PATCH] setupapi: Support full path enumerator in
SetupDiGetClassDevs.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Based on a patch by Michael Müller.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35345
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
---
dlls/setupapi/devinst.c | 17 +++++++++++++++--
dlls/setupapi/tests/devinst.c | 6 ------
2 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index a69e826052..f0d75f90b8 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -2392,8 +2392,21 @@ static void SETUPDI_EnumerateDevices(HDEVINFO DeviceInfoSet, const GUID *class,
&enumStrKey);
if (!l)
{
- SETUPDI_EnumerateMatchingDevices(DeviceInfoSet, enumstr,
- enumStrKey, class, flags);
+ WCHAR *bus, *device;
+
+ if (!wcschr(enumstr, '\\'))
+ {
+ SETUPDI_EnumerateMatchingDevices(DeviceInfoSet, enumstr, enumStrKey, class, flags);
+ }
+ else if ((bus = strdupW(enumstr)))
+ {
+ device = wcschr(bus, '\\');
+ *device++ = 0;
+
+ SETUPDI_EnumerateMatchingDeviceInstances(DeviceInfoSet, bus, device, enumStrKey, class, flags);
+ HeapFree(GetProcessHeap(), 0, bus);
+ }
+
RegCloseKey(enumStrKey);
}
}
diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c
index 430dede653..57adeeb27b 100644
--- a/dlls/setupapi/tests/devinst.c
+++ b/dlls/setupapi/tests/devinst.c
@@ -2823,11 +2823,9 @@ static void test_get_class_devs(void)
set = SetupDiGetClassDevsA(NULL, "ROOT\\LEGACY_BOGUS", NULL, DIGCF_ALLCLASSES);
ok(set != INVALID_HANDLE_VALUE, "Failed to create device list, error %#x.\n", GetLastError());
check_device_list(set, &GUID_NULL);
-todo_wine {
check_device_info(set, 0, &guid2, "ROOT\\LEGACY_BOGUS\\BAR");
check_device_info(set, 1, &guid, "ROOT\\LEGACY_BOGUS\\FOO");
check_device_info(set, 2, &guid, "ROOT\\LEGACY_BOGUS\\QUX");
-}
check_device_info(set, 3, NULL, NULL);
check_device_iface(set, NULL, &iface_guid, 0, 0, NULL);
ret = SetupDiDestroyDeviceInfoList(set);
@@ -2836,10 +2834,8 @@ todo_wine {
set = SetupDiGetClassDevsA(&guid, "ROOT\\LEGACY_BOGUS", NULL, 0);
ok(set != INVALID_HANDLE_VALUE, "Failed to create device list, error %#x.\n", GetLastError());
check_device_list(set, &guid);
-todo_wine {
check_device_info(set, 0, &guid, "ROOT\\LEGACY_BOGUS\\FOO");
check_device_info(set, 1, &guid, "ROOT\\LEGACY_BOGUS\\QUX");
-}
check_device_info(set, 2, NULL, NULL);
check_device_iface(set, NULL, &iface_guid, 0, 0, NULL);
ret = SetupDiDestroyDeviceInfoList(set);
@@ -2848,11 +2844,9 @@ todo_wine {
set = SetupDiGetClassDevsA(&guid, "ROOT\\LEGACY_BOGUS", NULL, DIGCF_ALLCLASSES);
ok(set != INVALID_HANDLE_VALUE, "Failed to create device list, error %#x.\n", GetLastError());
check_device_list(set, &GUID_NULL);
-todo_wine {
check_device_info(set, 0, &guid2, "ROOT\\LEGACY_BOGUS\\BAR");
check_device_info(set, 1, &guid, "ROOT\\LEGACY_BOGUS\\FOO");
check_device_info(set, 2, &guid, "ROOT\\LEGACY_BOGUS\\QUX");
-}
check_device_info(set, 3, NULL, NULL);
check_device_iface(set, NULL, &iface_guid, 0, 0, NULL);
ret = SetupDiDestroyDeviceInfoList(set);
--
2.17.1

View File

@ -0,0 +1,47 @@
From e25d2c907f30dba8dc58d1c2be6171c85dc8d880 Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <zzhang@codeweavers.com>
Date: Tue, 16 Jul 2019 17:37:14 +0800
Subject: [PATCH] winex11.drv: Add DriverDateData registry property to display
adapters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=35345.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
---
dlls/winex11.drv/display.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/dlls/winex11.drv/display.c b/dlls/winex11.drv/display.c
index 7ddaf1c10d..435c0b878c 100644
--- a/dlls/winex11.drv/display.c
+++ b/dlls/winex11.drv/display.c
@@ -45,6 +45,7 @@ DEFINE_DEVPROPKEY(WINE_DEVPROPKEY_MONITOR_RCMONITOR, 0x233a9ef3, 0xafc4, 0x4abd,
DEFINE_DEVPROPKEY(WINE_DEVPROPKEY_MONITOR_RCWORK, 0x233a9ef3, 0xafc4, 0x4abd, 0xb5, 0x64, 0xc3, 0x2f, 0x21, 0xf1, 0x53, 0x5b, 4);
DEFINE_DEVPROPKEY(WINE_DEVPROPKEY_MONITOR_ADAPTERNAME, 0x233a9ef3, 0xafc4, 0x4abd, 0xb5, 0x64, 0xc3, 0x2f, 0x21, 0xf1, 0x53, 0x5b, 5);
+static const WCHAR driver_date_dataW[] = {'D','r','i','v','e','r','D','a','t','e','D','a','t','a',0};
static const WCHAR driver_descW[] = {'D','r','i','v','e','r','D','e','s','c',0};
static const WCHAR displayW[] = {'D','I','S','P','L','A','Y',0};
static const WCHAR pciW[] = {'P','C','I',0};
@@ -126,6 +127,7 @@ static BOOL X11DRV_InitGpu(HDEVINFO devinfo, const struct x11drv_gpu *gpu, INT g
INT written;
DWORD size;
BOOL ret = FALSE;
+ FILETIME filetime;
sprintfW(instanceW, gpu_instance_fmtW, gpu->vendor_id, gpu->device_id, gpu->subsys_id, gpu->revision_id, gpu_index);
if (!SetupDiOpenDeviceInfoW(devinfo, instanceW, NULL, 0, &device_data))
@@ -155,6 +157,11 @@ static BOOL X11DRV_InitGpu(HDEVINFO devinfo, const struct x11drv_gpu *gpu, INT g
if (RegSetValueExW(hkey, driver_descW, 0, REG_SZ, (const BYTE *)gpu->name,
(strlenW(gpu->name) + 1) * sizeof(WCHAR)))
goto done;
+ /* Write DriverDateData value, using current time as driver date, needed by Evoland */
+ GetSystemTimeAsFileTime(&filetime);
+ if (RegSetValueExW(hkey, driver_date_dataW, 0, REG_BINARY, (BYTE *)&filetime, sizeof(filetime)))
+ goto done;
+
RegCloseKey(hkey);
/* Retrieve driver value for adapters */
--
2.17.1

View File

@ -0,0 +1,62 @@
From 93753d322910e4414f5429e7cbba730aaef21058 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
Date: Wed, 17 Jul 2019 17:59:59 +0200
Subject: [PATCH] dxgi: Obey image count limits for Vulkan swapchains.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Mesa drivers require at least 3 images (see Mesa commit
4689e98fe884d9412b72fd6293b6d6a69e3ef68e).
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
---
dlls/dxgi/swapchain.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index caf0863609..963ceee077 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -1663,9 +1663,9 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s
VkSwapchainCreateInfoKHR vk_swapchain_desc;
VkDevice vk_device = swapchain->vk_device;
VkFormat vk_format, vk_swapchain_format;
+ unsigned int width, height, image_count;
VkSurfaceCapabilitiesKHR surface_caps;
VkSwapchainKHR vk_swapchain;
- unsigned int width, height;
VkImageUsageFlags usage;
VkResult vr;
HRESULT hr;
@@ -1687,12 +1687,15 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s
return hresult_from_vk_result(vr);
}
- if (surface_caps.maxImageCount && (swapchain->desc.BufferCount > surface_caps.maxImageCount
- || swapchain->desc.BufferCount < surface_caps.minImageCount))
+ image_count = swapchain->desc.BufferCount;
+ image_count = max(image_count, surface_caps.minImageCount);
+ if (surface_caps.maxImageCount)
+ image_count = min(image_count, surface_caps.maxImageCount);
+
+ if (image_count != swapchain->desc.BufferCount)
{
WARN("Buffer count %u is not supported (%u-%u).\n", swapchain->desc.BufferCount,
surface_caps.minImageCount, surface_caps.maxImageCount);
- return DXGI_ERROR_UNSUPPORTED;
}
width = swapchain->desc.Width;
@@ -1728,7 +1731,7 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s
vk_swapchain_desc.pNext = NULL;
vk_swapchain_desc.flags = 0;
vk_swapchain_desc.surface = swapchain->vk_surface;
- vk_swapchain_desc.minImageCount = swapchain->desc.BufferCount;
+ vk_swapchain_desc.minImageCount = image_count;
vk_swapchain_desc.imageFormat = vk_swapchain_format;
vk_swapchain_desc.imageColorSpace = VK_COLOR_SPACE_SRGB_NONLINEAR_KHR;
vk_swapchain_desc.imageExtent.width = width;
--
2.17.1

View File

@ -2052,12 +2052,13 @@ fi
# | Modified files:
# | * configure, configure.ac, dlls/cryptext/Makefile.in, dlls/cryptext/cryptext.spec, dlls/cryptext/cryptext_main.c,
# | dlls/cryptext/tests/Makefile.in, dlls/cryptext/tests/cryptext.c, dlls/d3drm/tests/d3drm.c, dlls/d3drm/viewport.c,
# | dlls/dxgi/swapchain.c, dlls/dxgi/tests/dxgi.c, dlls/evr/Makefile.in, dlls/evr/evr.c, dlls/evr/main.c,
# | dlls/gdi32/freetype.c, dlls/mscoree/mscoree_main.c, dlls/mscorwks/Makefile.in, dlls/mscorwks/mscorwks.spec,
# | dlls/ntdll/directory.c, dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl_private.h, dlls/ntoskrnl.exe/pnp.c,
# | dlls/qedit/Makefile.in, dlls/shell32/Makefile.in, dlls/shell32/shell32.spec, dlls/shell32/shlfileop.c,
# | dlls/strmbase/strmbase_private.h, dlls/user32/rawinput.c, dlls/user32/tests/input.c, dlls/winebus.sys/bus.h,
# | dlls/winebus.sys/bus_iohid.c, dlls/winebus.sys/bus_sdl.c, dlls/winebus.sys/bus_udev.c, dlls/winebus.sys/main.c,
# | dlls/dbghelp/pe_module.c, dlls/dxgi/swapchain.c, dlls/dxgi/tests/dxgi.c, dlls/evr/Makefile.in, dlls/evr/evr.c,
# | dlls/evr/main.c, dlls/gdi32/freetype.c, dlls/mscoree/mscoree_main.c, dlls/mscorwks/Makefile.in,
# | dlls/mscorwks/mscorwks.spec, dlls/ntdll/directory.c, dlls/ntoskrnl.exe/ntoskrnl.c, dlls/ntoskrnl.exe/ntoskrnl_private.h,
# | dlls/ntoskrnl.exe/pnp.c, dlls/qedit/Makefile.in, dlls/setupapi/devinst.c, dlls/setupapi/tests/devinst.c,
# | dlls/shell32/Makefile.in, dlls/shell32/shell32.spec, dlls/shell32/shlfileop.c, dlls/strmbase/strmbase_private.h,
# | dlls/user32/rawinput.c, dlls/user32/tests/input.c, dlls/winebus.sys/bus.h, dlls/winebus.sys/bus_iohid.c,
# | dlls/winebus.sys/bus_sdl.c, dlls/winebus.sys/bus_udev.c, dlls/winebus.sys/main.c, dlls/winex11.drv/display.c,
# | include/Makefile.in, include/d3drm.h, include/d3drmobj.h, include/strongname.h, loader/Makefile.in, loader/wine.inf.in,
# | loader/winebus.inf.in, programs/wineboot/Makefile.in, programs/wineboot/wineboot.c, tools/make_specfiles
# |
@ -2089,6 +2090,11 @@ if test "$enable_mailing_list_patches" -eq 1; then
patch_apply mailing-list-patches/0025-mscoree-Fix-the-signature-for-StrongNameSignatureVer.patch
patch_apply mailing-list-patches/0026-mscoree-Fake-success-from-StrongNameSignatureVerific.patch
patch_apply mailing-list-patches/0027-shell32-On-macOS-don-t-link-against-CoreServices.patch
patch_apply mailing-list-patches/0028-wine.inf-Remove-registration-for-the-winebus-service.patch
patch_apply mailing-list-patches/0029-dbghelp-Return-NULL-instead-of-IMAGE_NO_MAP-when-PE-.patch
patch_apply mailing-list-patches/0030-setupapi-Support-full-path-enumerator-in-SetupDiGetC.patch
patch_apply mailing-list-patches/0031-winex11.drv-Add-DriverDateData-registry-property-to-.patch
patch_apply mailing-list-patches/0032-dxgi-Obey-image-count-limits-for-Vulkan-swapchains.patch
(
printf '%s\n' '+ { "Zebediah Figura", "winebus.inf: Add new INF file and copy it to the INF directory.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "winebus.sys: Implement AddDevice().", 1 },';
@ -2117,6 +2123,11 @@ if test "$enable_mailing_list_patches" -eq 1; then
printf '%s\n' '+ { "Zebediah Figura", "mscoree: Fix the signature for StrongNameSignatureVerification[Ex]().", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "mscoree: Fake success from StrongNameSignatureVerificationEx().", 1 },';
printf '%s\n' '+ { "Huw Davies", "shell32: On macOS don'\''t link against CoreServices.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "wine.inf: Remove registration for the winebus service.", 1 },';
printf '%s\n' '+ { "Conor McCarthy", "dbghelp: Return NULL instead of IMAGE_NO_MAP when PE file mapping fails.", 1 },';
printf '%s\n' '+ { "Zhiyi Zhang", "setupapi: Support full path enumerator in SetupDiGetClassDevs.", 1 },';
printf '%s\n' '+ { "Zhiyi Zhang", "winex11.drv: Add DriverDateData registry property to display adapters.", 1 },';
printf '%s\n' '+ { "Józef Kucia", "dxgi: Obey image count limits for Vulkan swapchains.", 1 },';
) >> "$patchlist"
fi

View File

@ -1,4 +1,4 @@
From 5613df7b70c1463cb5d115bf6d6bad077e27ca26 Mon Sep 17 00:00:00 2001
From 4e8d97cd79c7c7f9a29bcf23a267a0c3015fc817 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 11 Mar 2016 21:44:53 +0100
Subject: [PATCH] wuauserv: Add dummy service.
@ -13,10 +13,10 @@ Subject: [PATCH] wuauserv: Add dummy service.
create mode 100644 programs/wuauserv/main.c
diff --git a/configure.ac b/configure.ac
index acdd8d5577f..adf23e9a95f 100644
index 790729666a0..c0eb7520199 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4039,6 +4039,7 @@ WINE_CONFIG_MAKEFILE(programs/wordpad)
@@ -4042,6 +4042,7 @@ WINE_CONFIG_MAKEFILE(programs/wordpad)
WINE_CONFIG_MAKEFILE(programs/write)
WINE_CONFIG_MAKEFILE(programs/wscript)
WINE_CONFIG_MAKEFILE(programs/wscript/tests)
@ -25,34 +25,34 @@ index acdd8d5577f..adf23e9a95f 100644
WINE_CONFIG_MAKEFILE(programs/xcopy)
WINE_CONFIG_MAKEFILE(programs/xcopy/tests)
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index f77831f44a6..3e6a8e0a8cf 100644
index c89397223db..9789e5e53b1 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -132,6 +132,7 @@ AddService=FontCache,0,FontCacheService
@@ -135,6 +135,7 @@ AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
+AddService=wuauserv,0,wuauService
[DefaultInstall.NT.Services]
AddService=BITS,0,BITSService
@@ -148,6 +149,7 @@ AddService=FontCache,0,FontCacheService
@@ -150,6 +151,7 @@ AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
+AddService=wuauserv,0,wuauService
[DefaultInstall.ntamd64.Services]
AddService=BITS,0,BITSService
@@ -164,6 +166,7 @@ AddService=FontCache,0,FontCacheService
@@ -165,6 +167,7 @@ AddService=LanmanServer,0,LanmanServerService
AddService=FontCache,0,FontCacheService
AddService=Schedule,0,TaskSchedulerService
AddService=WineBus,0,WineBusService
AddService=Winmgmt,0,WinmgmtService
+AddService=wuauserv,0,wuauService
[Strings]
MciExtStr="Software\Microsoft\Windows NT\CurrentVersion\MCI Extensions"
@@ -3634,6 +3637,14 @@ ErrorControl=1
@@ -3833,6 +3836,14 @@ ErrorControl=1
HKR,Parameters,"ServiceDll",,"%11%\schedsvc.dll"
HKLM,%CurrentVersionNT%\SvcHost,"netsvcs",0x00010008,"Schedule"