Rebase against fdf8d7176f59043999b34ff4facdcbee14a7d6aa

This commit is contained in:
Alistair Leslie-Hughes 2019-08-01 08:46:58 +10:00
parent 276ed085b7
commit 2394b08005
23 changed files with 46 additions and 1442 deletions

View File

@ -1,48 +0,0 @@
From d8c945b3d420e284fd4a8eda4879202ace7e712e Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <zzhang@codeweavers.com>
Date: Mon, 8 Jul 2019 22:15:59 +0800
Subject: [PATCH] dxgi/tests: Test output after using Alt+Enter to switch
fullscreen.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
---
dlls/dxgi/tests/dxgi.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index d8176bb1c0..38aeba17bd 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -5306,6 +5306,7 @@ static void test_window_association(void)
LONG_PTR original_wndproc, wndproc;
IDXGIFactory *factory, *factory2;
IDXGISwapChain *swapchain;
+ IDXGIOutput *output;
IDXGIAdapter *adapter;
IDXGIDevice *device;
HWND hwnd, hwnd2;
@@ -5449,14 +5450,18 @@ static void test_window_association(void)
PostMessageA(swapchain_desc.OutputWindow, WM_SYSKEYDOWN, VK_RETURN,
(MapVirtualKeyA(VK_RETURN, MAPVK_VK_TO_VSC) << 16) | 0x20000001);
flush_events();
- hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, NULL);
+ output = NULL;
+ hr = IDXGISwapChain_GetFullscreenState(swapchain, &fullscreen, &output);
ok(hr == S_OK, "Test %u: Got unexpected hr %#x.\n", i, hr);
ok(fullscreen == tests[i].expect_fullscreen
|| broken(tests[i].broken_d3d10 && fullscreen),
"Test %u: Got unexpected fullscreen %#x.\n", i, fullscreen);
+ todo_wine_if(fullscreen) ok(fullscreen ? !!output : !output, "Test %u: Got wrong output.\n", i);
+ if (output)
+ IDXGIOutput_Release(output);
wndproc = GetWindowLongPtrW(swapchain_desc.OutputWindow, GWLP_WNDPROC);
- ok(wndproc == original_wndproc, "Text %u: Got unexpected wndproc %#lx, expected %#lx.\n",
+ ok(wndproc == original_wndproc, "Test %u: Got unexpected wndproc %#lx, expected %#lx.\n",
i, wndproc, original_wndproc);
}
}
--
2.17.1

View File

@ -1,76 +0,0 @@
From a26681c535b622ef02ae588fa58b86e95b2a581c Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <zzhang@codeweavers.com>
Date: Mon, 8 Jul 2019 22:16:41 +0800
Subject: [PATCH] dxgi: Fix possible null output from
d3d11_swapchain_GetFullscreenState.
When swapchain is created in windowed mode, and then enter fullscreen
via Alt+Enter. Calling d3d11_swapchain_GetFullscreenState will return
a null output because swapchain->target wasn't initialized.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
---
dlls/dxgi/swapchain.c | 20 ++++++++++++++++----
dlls/dxgi/tests/dxgi.c | 2 +-
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c
index 8dbbfab805..caf0863609 100644
--- a/dlls/dxgi/swapchain.c
+++ b/dlls/dxgi/swapchain.c
@@ -407,22 +407,34 @@ static HRESULT STDMETHODCALLTYPE d3d11_swapchain_GetFullscreenState(IDXGISwapCha
{
struct d3d11_swapchain *swapchain = d3d11_swapchain_from_IDXGISwapChain1(iface);
struct wined3d_swapchain_desc swapchain_desc;
+ HRESULT hr;
TRACE("iface %p, fullscreen %p, target %p.\n", iface, fullscreen, target);
- if (fullscreen)
+ if (fullscreen || target)
{
wined3d_mutex_lock();
wined3d_swapchain_get_desc(swapchain->wined3d_swapchain, &swapchain_desc);
wined3d_mutex_unlock();
- *fullscreen = !swapchain_desc.windowed;
}
+ if (fullscreen)
+ *fullscreen = !swapchain_desc.windowed;
+
if (target)
{
- *target = swapchain->target;
- if (*target)
+ if (!swapchain_desc.windowed)
+ {
+ if (!swapchain->target && FAILED(hr = IDXGISwapChain1_GetContainingOutput(iface, &swapchain->target)))
+ return hr;
+
+ *target = swapchain->target;
IDXGIOutput_AddRef(*target);
+ }
+ else
+ {
+ *target = NULL;
+ }
}
return S_OK;
diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c
index 38aeba17bd..ab33caf2e2 100644
--- a/dlls/dxgi/tests/dxgi.c
+++ b/dlls/dxgi/tests/dxgi.c
@@ -5456,7 +5456,7 @@ static void test_window_association(void)
ok(fullscreen == tests[i].expect_fullscreen
|| broken(tests[i].broken_d3d10 && fullscreen),
"Test %u: Got unexpected fullscreen %#x.\n", i, fullscreen);
- todo_wine_if(fullscreen) ok(fullscreen ? !!output : !output, "Test %u: Got wrong output.\n", i);
+ ok(fullscreen ? !!output : !output, "Test %u: Got wrong output.\n", i);
if (output)
IDXGIOutput_Release(output);
--
2.17.1

View File

@ -1,61 +0,0 @@
From 0dd59c5e94d27a1d16a85807c03ff6f54bb55fbc Mon Sep 17 00:00:00 2001
From: Jeff Smith <whydoubt@gmail.com>
Date: Mon, 8 Jul 2019 10:19:43 -0500
Subject: [PATCH] d3drm: Check for NULL pointer in d3drm_viewport2_GetDevice().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
---
dlls/d3drm/tests/d3drm.c | 4 ++++
dlls/d3drm/viewport.c | 6 ++++++
2 files changed, 10 insertions(+)
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 86678193ba..67696d5583 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2153,6 +2153,8 @@ static void test_Viewport(void)
hr = IDirect3DRMViewport_Init(viewport, device1, frame, rc.left, rc.top, rc.right, rc.bottom);
ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+ hr = IDirect3DRMViewport_GetDevice(viewport, NULL);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport_Release(viewport);
ref4 = get_refcount((IUnknown *)d3drm1);
@@ -2241,6 +2243,8 @@ static void test_Viewport(void)
hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, rc.left, rc.top, rc.right, rc.bottom);
ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
+ hr = IDirect3DRMViewport2_GetDevice(viewport2, NULL);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport2_Release(viewport2);
ref4 = get_refcount((IUnknown *)d3drm1);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index 51174cd59e..d049f37213 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -683,6 +683,9 @@ static HRESULT WINAPI d3drm_viewport2_GetDevice(IDirect3DRMViewport2 *iface, IDi
TRACE("iface %p, device %p.\n", iface, device);
+ if (!device)
+ return D3DRMERR_BADVALUE;
+
if (!viewport->device)
return D3DRMERR_BADOBJECT;
@@ -698,6 +701,9 @@ static HRESULT WINAPI d3drm_viewport1_GetDevice(IDirect3DRMViewport *iface, IDir
TRACE("iface %p, device %p.\n\n", iface, device);
+ if (!device)
+ return D3DRMERR_BADVALUE;
+
if (!viewport->device)
return D3DRMERR_BADOBJECT;
--
2.17.1

View File

@ -1,52 +0,0 @@
From 7ba4285719eb9592437ff0b4481f89238b035064 Mon Sep 17 00:00:00 2001
From: Jeff Smith <whydoubt@gmail.com>
Date: Mon, 8 Jul 2019 10:19:44 -0500
Subject: [PATCH] d3drm: Check for NULL pointer in
d3drm_viewport2_GetDirect3DViewport().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
---
dlls/d3drm/tests/d3drm.c | 4 ++++
dlls/d3drm/viewport.c | 3 +++
2 files changed, 7 insertions(+)
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 67696d5583..88f3db819d 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2155,6 +2155,8 @@ static void test_Viewport(void)
ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
hr = IDirect3DRMViewport_GetDevice(viewport, NULL);
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport_GetDirect3DViewport(viewport, NULL);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport_Release(viewport);
ref4 = get_refcount((IUnknown *)d3drm1);
@@ -2245,6 +2247,8 @@ static void test_Viewport(void)
ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
hr = IDirect3DRMViewport2_GetDevice(viewport2, NULL);
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport2_GetDirect3DViewport(viewport2, NULL);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport2_Release(viewport2);
ref4 = get_refcount((IUnknown *)d3drm1);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index d049f37213..430c9d470b 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -896,6 +896,9 @@ static HRESULT WINAPI d3drm_viewport2_GetDirect3DViewport(IDirect3DRMViewport2 *
TRACE("iface %p, viewport %p.\n", iface, viewport);
+ if (!viewport)
+ return D3DRMERR_BADVALUE;
+
if (!viewport_object->d3d_viewport)
return D3DRMERR_BADOBJECT;
--
2.17.1

View File

@ -1,56 +0,0 @@
From e12b2ca2f2ff5fdcc93a310c5391210f71c90e5a Mon Sep 17 00:00:00 2001
From: Jeff Smith <whydoubt@gmail.com>
Date: Mon, 8 Jul 2019 10:19:45 -0500
Subject: [PATCH] d3drm: Return error if setting viewport field-of-view to zero
or negative value.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
---
dlls/d3drm/tests/d3drm.c | 8 ++++++++
dlls/d3drm/viewport.c | 3 +++
2 files changed, 11 insertions(+)
diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 88f3db819d..dbba859215 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2157,6 +2157,10 @@ static void test_Viewport(void)
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
hr = IDirect3DRMViewport_GetDirect3DViewport(viewport, NULL);
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport_SetField(viewport, 0.0f);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport_SetField(viewport, -1.0f);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport_Release(viewport);
ref4 = get_refcount((IUnknown *)d3drm1);
@@ -2249,6 +2253,10 @@ static void test_Viewport(void)
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
hr = IDirect3DRMViewport2_GetDirect3DViewport(viewport2, NULL);
ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport2_SetField(viewport2, 0.0f);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+ hr = IDirect3DRMViewport2_SetField(viewport2, -1.0f);
+ ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
IDirect3DRMViewport2_Release(viewport2);
ref4 = get_refcount((IUnknown *)d3drm1);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index 430c9d470b..c2fa189742 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -523,6 +523,9 @@ static HRESULT WINAPI d3drm_viewport2_SetField(IDirect3DRMViewport2 *iface, D3DV
TRACE("iface %p, field %.8e.\n", iface, field);
+ if (field <= 0.0f)
+ return D3DRMERR_BADVALUE;
+
viewport->field = field;
return D3DRM_OK;
--
2.17.1

View File

@ -1,72 +0,0 @@
From 79c6b2c90c4935a648db1320fb0c354ca3adc138 Mon Sep 17 00:00:00 2001
From: Jeff Smith <whydoubt@gmail.com>
Date: Mon, 8 Jul 2019 14:40:23 -0500
Subject: [PATCH] d3drm: Correct paramater count of several interface defines.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
---
include/d3drm.h | 16 ++++++++--------
include/d3drmobj.h | 6 +++---
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/include/d3drm.h b/include/d3drm.h
index 126695cea1..c10b9ed18c 100644
--- a/include/d3drm.h
+++ b/include/d3drm.h
@@ -322,7 +322,7 @@ DECLARE_INTERFACE_(IDirect3DRM2,IUnknown)
#define IDirect3DRM2_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
#define IDirect3DRM2_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
#define IDirect3DRM2_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
+#define IDirect3DRM2_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(a)
#endif
/*****************************************************************************
@@ -434,7 +434,7 @@ DECLARE_INTERFACE_(IDirect3DRM3,IUnknown)
#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->lpVtbl->CreateProgressiveMesh(p,a)
#define IDirect3DRM3_RegisterClient(p,a,b) (p)->lpVtbl->RegisterClient(p,a,b)
#define IDirect3DRM3_UnregisterClient(p,a) (p)->lpVtbl->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->lpVtbl->CreateClippedVisual(p,a,b)
+#define IDirect3DRM3_CreateClippedVisual(p,a,b) (p)->lpVtbl->CreateClippedVisual(p,a,b)
#define IDirect3DRM3_SetOptions(p,a) (p)->lpVtbl->SetOptions(p,a)
#define IDirect3DRM3_GetOptions(p,a) (p)->lpVtbl->GetOptions(p,a)
#else
@@ -475,12 +475,12 @@ DECLARE_INTERFACE_(IDirect3DRM3,IUnknown)
#define IDirect3DRM3_EnumerateObjects(p,a,b) (p)->EnumerateObjects(a,b)
#define IDirect3DRM3_Load(p,a,b,c,d,e,f,g,h,i,j) (p)->Load(a,b,c,d,e,f,g,h,i,j)
#define IDirect3DRM3_Tick(p,a) (p)->Tick(a)
-#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(p,a)
-#define IDirect3DRM3_RegisterClient(p,a,b) (p)->RegisterClient(p,a,b)
-#define IDirect3DRM3_UnregisterClient(p,a) (p)->UnregisterClient(p,a)
-#define IDirect3DRM3_CreateClippedVisual(p,ab) (p)->CreateClippedVisual(p,a,b)
-#define IDirect3DRM3_SetOptions(p,a) (p)->SetOptions(p,a)
-#define IDirect3DRM3_GetOptions(p,a) (p)->GetOptions(p,a)
+#define IDirect3DRM3_CreateProgressiveMesh(p,a) (p)->CreateProgressiveMesh(a)
+#define IDirect3DRM3_RegisterClient(p,a,b) (p)->RegisterClient(a,b)
+#define IDirect3DRM3_UnregisterClient(p,a) (p)->UnregisterClient(a)
+#define IDirect3DRM3_CreateClippedVisual(p,a,b) (p)->CreateClippedVisual(a,b)
+#define IDirect3DRM3_SetOptions(p,a) (p)->SetOptions(a)
+#define IDirect3DRM3_GetOptions(p,a) (p)->GetOptions(a)
#endif
#define D3DRM_OK DD_OK
diff --git a/include/d3drmobj.h b/include/d3drmobj.h
index 5ff33fea01..7e48d9891d 100644
--- a/include/d3drmobj.h
+++ b/include/d3drmobj.h
@@ -3616,9 +3616,9 @@ DECLARE_INTERFACE_(IDirect3DRMWrap, IDirect3DRMObject)
#define IDirect3DRMWrap_GetName(p,a,b) (p)->GetName(a,b)
#define IDirect3DRMWrap_GetClassName(p,a,b) (p)->GetClassName(a,b)
/*** IDirect3DRMWrap methods ***/
-#define IDirect3DRMWrap_Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
-#define IDirect3DRMWrap_Apply(p,a) (p)->Apply(p,a)
-#define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->ApplyRelative(p,a,b)
+#define IDirect3DRMWrap_Init(p,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (p)->Init(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o)
+#define IDirect3DRMWrap_Apply(p,a) (p)->Apply(a)
+#define IDirect3DRMWrap_ApplyRelative(p,a,b) (p)->ApplyRelative(a,b)
#endif
/*****************************************************************************
--
2.17.1

View File

@ -1,48 +0,0 @@
From 79d72547489b6420aba533c4fb6a513e8854fcd4 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Tue, 9 Jul 2019 01:07:21 -0500
Subject: [PATCH] shell32: add SHMultiFileProperties stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47411
Signed-off-by: Austin English <austinenglish@gmail.com>
---
dlls/shell32/shell32.spec | 1 +
dlls/shell32/shlfileop.c | 10 ++++++++++
2 files changed, 11 insertions(+)
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 7ed7bb531d..5331ffff94 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -409,6 +409,7 @@
@ stdcall SHIsFileAvailableOffline(wstr ptr)
@ stdcall SHLoadInProc(ptr)
@ stdcall SHLoadNonloadedIconOverlayIdentifiers()
+@ stdcall SHMultiFileProperties(ptr long)
@ stdcall SHOpenFolderAndSelectItems(ptr long ptr long)
@ stdcall SHOpenWithDialog(long ptr)
@ stdcall SHParseDisplayName(wstr ptr ptr long ptr)
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 1515ad3891..22e1b523e0 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -1727,6 +1727,16 @@ int WINAPI RealDriveType(int drive, BOOL bQueryNet)
return GetDriveTypeA(root);
}
+/*************************************************************************
+ * SHMultiFileProperties [SHELL32.@]
+ */
+
+HRESULT WINAPI SHMultiFileProperties(IDataObject *pdtobj, DWORD flags)
+{
+ FIXME("stub: %p %u\n", pdtobj, flags);
+ return E_NOTIMPL;
+}
+
/***********************************************************************
* SHPathPrepareForWriteA (SHELL32.@)
*/
--
2.17.1

View File

@ -1,34 +0,0 @@
From e5074e5038ec7f41752133a35c0f36ef9c25d719 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
Date: Tue, 9 Jul 2019 14:19:01 +0300
Subject: [PATCH] Define AT_NO_AUTOMOUNT if needed.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Old kernel headers don't define this flag, so we do it ourselves in that case.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47445
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
---
dlls/ntdll/directory.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c
index b50d41bb80..e3f805a48f 100644
--- a/dlls/ntdll/directory.c
+++ b/dlls/ntdll/directory.c
@@ -142,6 +142,10 @@ typedef struct
# define O_DIRECTORY 0200000 /* must be directory */
#endif
+#ifndef AT_NO_AUTOMOUNT
+#define AT_NO_AUTOMOUNT 0x800
+#endif
+
#endif /* linux */
#define IS_OPTION_TRUE(ch) ((ch) == 'y' || (ch) == 'Y' || (ch) == 't' || (ch) == 'T' || (ch) == '1')
--
2.17.1

View File

@ -1,29 +0,0 @@
From 6d875bc78fbd10ff70a51d8c1a937711d0b32f25 Mon Sep 17 00:00:00 2001
From: Huw Davies <huw@codeweavers.com>
Date: Wed, 10 Jul 2019 09:50:17 +0100
Subject: [PATCH] gdi32: Use the correct type for the final parameter of
FSOpenResourceFile().
This is SInt16 for 32-bit, but int for 64-bit.
Signed-off-by: Huw Davies <huw@codeweavers.com>
---
dlls/gdi32/freetype.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index 1162ea790d..e3cff25b76 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -818,7 +818,7 @@ static char *find_cache_dir(void)
static char **expand_mac_font(const char *path)
{
FSRef ref;
- SInt16 res_ref;
+ ResFileRefNum res_ref;
OSStatus s;
unsigned int idx;
const char *out_dir;
--
2.17.1

View File

@ -1,213 +0,0 @@
From 093aa67fd84f2709e8f358d32e3c5c2348836225 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Thu, 11 Jul 2019 14:23:43 -0500
Subject: [PATCH 1/4] mscorwks: New DLL.
Game Maker Studio 2 Desktop needs this to launch.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
---
configure | 2 +
configure.ac | 1 +
dlls/mscorwks/Makefile.in | 1 +
dlls/mscorwks/mscorwks.spec | 110 ++++++++++++++++++++++++++++++++++++
loader/wine.inf.in | 2 +
tools/make_specfiles | 4 ++
6 files changed, 120 insertions(+)
create mode 100644 dlls/mscorwks/Makefile.in
create mode 100644 dlls/mscorwks/mscorwks.spec
diff --git a/configure b/configure
index ed79a35e0e..76d4869332 100755
--- a/configure
+++ b/configure
@@ -1404,6 +1404,7 @@ enable_msasn1
enable_mscat32
enable_mscms
enable_mscoree
+enable_mscorwks
enable_msctf
enable_msctfp
enable_msdaps
@@ -20406,6 +20407,7 @@ wine_fn_config_makefile dlls/mscms enable_mscms
wine_fn_config_makefile dlls/mscms/tests enable_tests
wine_fn_config_makefile dlls/mscoree enable_mscoree
wine_fn_config_makefile dlls/mscoree/tests enable_tests
+wine_fn_config_makefile dlls/mscorwks enable_mscorwks
wine_fn_config_makefile dlls/msctf enable_msctf
wine_fn_config_makefile dlls/msctf/tests enable_tests
wine_fn_config_makefile dlls/msctfp enable_msctfp
diff --git a/configure.ac b/configure.ac
index e801c35c46..4b825a9b8b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3392,6 +3392,7 @@ WINE_CONFIG_MAKEFILE(dlls/mscms)
WINE_CONFIG_MAKEFILE(dlls/mscms/tests)
WINE_CONFIG_MAKEFILE(dlls/mscoree)
WINE_CONFIG_MAKEFILE(dlls/mscoree/tests)
+WINE_CONFIG_MAKEFILE(dlls/mscorwks)
WINE_CONFIG_MAKEFILE(dlls/msctf)
WINE_CONFIG_MAKEFILE(dlls/msctf/tests)
WINE_CONFIG_MAKEFILE(dlls/msctfp)
diff --git a/dlls/mscorwks/Makefile.in b/dlls/mscorwks/Makefile.in
new file mode 100644
index 0000000000..4527266171
--- /dev/null
+++ b/dlls/mscorwks/Makefile.in
@@ -0,0 +1 @@
+MODULE = mscorwks.dll
diff --git a/dlls/mscorwks/mscorwks.spec b/dlls/mscorwks/mscorwks.spec
new file mode 100644
index 0000000000..617cde3173
--- /dev/null
+++ b/dlls/mscorwks/mscorwks.spec
@@ -0,0 +1,110 @@
+@ stdcall LoadStringRC(long ptr long long) mscoree.LoadStringRC
+@ stub ReOpenMetaDataWithMemory
+@ stub CorDllMainForThunk
+@ stub CreateActContextInternal
+@ stub CreateCMSFromXmlInternal
+@ stub GetAddrOfContractShutoffFlag
+@ stub GetCLRFunction
+@ stub GetUserStateManagerInternal
+@ stub GetUserStoreInternal
+@ stub ParseManifestInternal
+@ stub _AxlGetIssuerPublicKeyHash
+@ stub _AxlPublicKeyBlobToPublicKeyToken
+@ stub _AxlRSAKeyValueToPublicKeyToken
+@ stub CertCreateAuthenticodeLicense
+@ stub CertFreeAuthenticodeSignerInfo
+@ stub CertFreeAuthenticodeTimestamperInfo
+@ stub CertTimestampAuthenticodeLicense
+@ stub CertVerifyAuthenticodeLicense
+@ stub ClearDownloadCache
+@ stdcall ClrCreateManagedInstance(wstr ptr ptr) mscoree.ClrCreateManagedInstance
+@ stdcall CoEEShutDownCOM() mscoree.CoEEShutDownCOM
+@ stdcall CoInitializeCor(long) mscoree.CoInitializeCor
+@ stub CoInitializeEE
+@ stub CoUninitializeCor
+@ stub CoUninitializeEE
+@ stub CompareAssemblyIdentity
+@ stub CopyPDBs
+@ stdcall CorExitProcess(long) mscoree.CorExitProcess
+@ stub CorLaunchApplication
+@ stub CorMarkThreadInThreadPool
+@ stub CreateActContext
+@ stub CreateApplicationContext
+@ stub CreateAssemblyCache
+@ stub CreateAssemblyEnum
+@ stub CreateAssemblyNameObject
+@ stub CreateCMSFromXml
+@ stub CreateHistoryReader
+@ stub CreateInstallReferenceEnum
+@ stub DeleteShadowCache
+@ stub DllCanUnloadNowInternal
+@ stub DllGetClassObjectInternal
+@ stub DllRegisterServerInternal
+@ stub DllUnregisterServerInternal
+@ stub EEDllRegisterServer
+@ stub EEDllUnregisterServer
+@ stub GetAppIdAuthority
+@ stub GetAssemblyIdentityFromFile
+@ stdcall GetAssemblyMDImport(wstr ptr ptr) mscoree.GetAssemblyMDImport
+@ stub GetCLRIdentityManager
+@ stub GetCachePath
+@ stub GetHashFromAssemblyFile
+@ stub GetHashFromAssemblyFileW
+@ stub GetHashFromBlob
+@ stub GetHashFromFile
+@ stub GetHashFromFileW
+@ stub GetHashFromHandle
+@ stub GetHistoryFileDirectory
+@ stub GetIdentityAuthority
+@ stub GetMetaDataInternalInterface
+@ stub GetMetaDataInternalInterfaceFromPublic
+@ stub GetMetaDataPublicInterfaceFromInternal
+@ stub GetPermissionRequests
+@ stub GetPrivateContextsPerfCounters
+@ stub GetUserStateManager
+@ stub GetUserStore
+@ stub IEE
+@ stub InitializeFusion
+@ stub InstallCustomAssembly
+@ stub InstallCustomModule
+@ stub LegacyNGenCompile
+@ stub LegacyNGenCreateZapper
+@ stub LegacyNGenFreeZapper
+@ stub LegacyNGenTryEnumerateFusionCache
+@ stdcall LoadStringRCEx(long long ptr long long ptr) mscoree.LoadStringRCEx
+@ stub LogHelp_LogAssert
+@ stub LogHelp_NoGuiOnAssert
+@ stub LogHelp_TerminateOnAssert
+@ stub LookupHistoryAssembly
+@ stub MetaDataGetDispenser
+@ stub NGenCreateNGenWorker
+@ stub NukeDownloadedCache
+@ stub ParseManifest
+@ stub PostErrorVA
+@ stub PreBindAssembly
+@ stub PreBindAssemblyEx
+@ stub ReOpenMetaDataWithMemoryEx
+@ stub StrongNameCompareAssemblies
+@ stub StrongNameErrorInfo
+@ stub StrongNameFreeBuffer
+@ stub StrongNameGetBlob
+@ stub StrongNameGetBlobFromImage
+@ stub StrongNameGetPublicKey
+@ stub StrongNameHashSize
+@ stub StrongNameKeyDelete
+@ stub StrongNameKeyGen
+@ stub StrongNameKeyGenEx
+@ stub StrongNameKeyInstall
+@ stub StrongNameSignatureGeneration
+@ stub StrongNameSignatureGenerationEx
+@ stub StrongNameSignatureSize
+@ stdcall StrongNameSignatureVerification(wstr long ptr) mscoree.StrongNameSignatureVerification
+@ stdcall StrongNameSignatureVerificationEx(wstr long ptr) mscoree.StrongNameSignatureVerificationEx
+@ stub StrongNameSignatureVerificationFromImage
+@ stub StrongNameTokenFromAssembly
+@ stub StrongNameTokenFromAssemblyEx
+@ stub StrongNameTokenFromPublicKey
+@ stub TranslateSecurityAttributes
+@ stdcall _CorDllMain(long long ptr) mscoree._CorDllMain
+@ stdcall _CorExeMain2(ptr long ptr ptr ptr) mscoree._CorExeMain2
+@ stdcall _CorExeMain() mscoree._CorExeMain
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index c3d3b770b5..2ac524afdb 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -2554,6 +2554,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,aspnet_regiis.exe,-
11,,ngen.exe,-
11,,fusion.dll,-
+11,,mscorwks.dll,-
11,,regsvcs.exe,-
11,,regasm.exe,-
11,,servicemodelreg.exe,-
@@ -2603,6 +2604,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,aspnet_regiis.exe,-
11,,ngen.exe,-
11,,fusion.dll,-
+11,,mscorwks.dll,-
11,,regsvcs.exe,-
11,,regasm.exe,-
11,,servicemodelreg.exe,-
diff --git a/tools/make_specfiles b/tools/make_specfiles
index 64c25d1259..5c30ce5003 100755
--- a/tools/make_specfiles
+++ b/tools/make_specfiles
@@ -483,6 +483,10 @@ my @dll_groups =
"ntoskrnl.exe",
"hal",
],
+ [
+ "mscoree",
+ "mscorwks",
+ ],
);
my $update_flags = 0;
--
2.17.1

View File

@ -1,73 +0,0 @@
From fbbee6b2920811ce7e0cbffeb1c5d1e81e7edffb Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Thu, 11 Jul 2019 14:23:44 -0500
Subject: [PATCH] include: Add strongname.h.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
---
include/Makefile.in | 1 +
include/strongname.h | 39 +++++++++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+)
create mode 100644 include/strongname.h
diff --git a/include/Makefile.in b/include/Makefile.in
index 69135879a9..7ca25e27ce 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -612,6 +612,7 @@ SOURCES = \
sti.h \
storage.h \
strmif.idl \
+ strongname.h \
strsafe.h \
structuredquerycondition.idl \
svrapi.h \
diff --git a/include/strongname.h b/include/strongname.h
new file mode 100644
index 0000000000..f05861ad28
--- /dev/null
+++ b/include/strongname.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2019 Zebediah Figura for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __STRONG_NAME_H
+#define __STRONG_NAME_H
+
+#include <windows.h>
+#include <wincrypt.h>
+#include <ole2.h>
+#include <corerror.h>
+
+#define SN_INFLAG_FORCE_VER 0x00000001
+#define SN_INFLAG_INSTALL 0x00000002
+#define SN_INFLAG_ADMIN_ACCESS 0x00000004
+#define SN_INFLAG_USER_ACCESS 0x00000008
+#define SN_INFLAG_ALL_ACCESS 0x00000010
+#define SN_INFLAG_RUNTIME 0x80000000
+
+#define SN_OUTFLAG_WAS_VERIFIED 0x00000001
+
+BOOLEAN __stdcall StrongNameSignatureVerification(const WCHAR *path, DWORD flags, DWORD *ret_flags);
+BOOLEAN __stdcall StrongNameSignatureVerificationEx(const WCHAR *path, BOOLEAN force, BOOLEAN *verified);
+
+#endif
--
2.17.1

View File

@ -1,43 +0,0 @@
From 27158684d1c82dc156fb3a72d18a845a31f9e693 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Thu, 11 Jul 2019 14:23:45 -0500
Subject: [PATCH 3/4] mscoree: Fix the signature for
StrongNameSignatureVerification[Ex]().
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
---
dlls/mscoree/mscoree_main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index 15bbc23520..6afeafe8f0 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -30,6 +30,7 @@
#include "ole2.h"
#include "ocidl.h"
#include "shellapi.h"
+#include "strongname.h"
#include "initguid.h"
#include "msxml2.h"
@@ -548,13 +549,13 @@ STDAPI ClrCreateManagedInstance(LPCWSTR pTypeName, REFIID riid, void **ppObject)
return ret;
}
-BOOL WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags, DWORD* pOutFlags)
+BOOLEAN WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags, DWORD *pOutFlags)
{
FIXME("(%s, 0x%X, %p): stub\n", debugstr_w(filename), inFlags, pOutFlags);
return FALSE;
}
-BOOL WINAPI StrongNameSignatureVerificationEx(LPCWSTR filename, BOOL forceVerification, BOOL* pVerified)
+BOOLEAN WINAPI StrongNameSignatureVerificationEx(LPCWSTR filename, BOOLEAN forceVerification, BOOLEAN *pVerified)
{
FIXME("(%s, %u, %p): stub\n", debugstr_w(filename), forceVerification, pVerified);
return FALSE;
--
2.17.1

View File

@ -1,31 +0,0 @@
From e00b7bc899009c839947e30444c2a9a12b83c033 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Thu, 11 Jul 2019 14:23:46 -0500
Subject: [PATCH 4/4] mscoree: Fake success from
StrongNameSignatureVerificationEx().
Game Maker Studio 2 Desktop needs this to launch.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
---
dlls/mscoree/mscoree_main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index 6afeafe8f0..af0321a760 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -558,7 +558,8 @@ BOOLEAN WINAPI StrongNameSignatureVerification(LPCWSTR filename, DWORD inFlags,
BOOLEAN WINAPI StrongNameSignatureVerificationEx(LPCWSTR filename, BOOLEAN forceVerification, BOOLEAN *pVerified)
{
FIXME("(%s, %u, %p): stub\n", debugstr_w(filename), forceVerification, pVerified);
- return FALSE;
+ *pVerified = TRUE;
+ return TRUE;
}
HRESULT WINAPI CreateDebuggingInterfaceFromVersion(int nDebugVersion, LPCWSTR version, IUnknown **ppv)
--
2.17.1

View File

@ -1,88 +0,0 @@
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

@ -1,47 +0,0 @@
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

@ -1,62 +0,0 @@
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

@ -1,26 +0,0 @@
From 008f23dc9713a42a47b68cad54ce3574ef398afb Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 18 Jul 2019 18:29:38 -0500
Subject: [PATCH 2/2] services: Fix the arguments to is_root_pnp_service().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
---
programs/services/services.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/programs/services/services.c b/programs/services/services.c
index 67cd4fa855..ec2a8eb05c 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -424,7 +424,7 @@ static BOOL schedule_delayed_autostart(struct service_entry **services, unsigned
return TRUE;
}
-static BOOL is_root_pnp_service(const struct service_entry *service, HDEVINFO set)
+static BOOL is_root_pnp_service(HDEVINFO set, const struct service_entry *service)
{
SP_DEVINFO_DATA device = {sizeof(device)};
WCHAR name[MAX_SERVICE_NAME];
--
2.17.1

View File

@ -1,196 +0,0 @@
From 1314e270775e87af88a0e8a08f66877321fe1a4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Kristj=C3=A1n=20Gerhardsson?= <kristjang@ccpgames.com>
Date: Thu, 18 Jul 2019 18:04:24 +0000
Subject: [PATCH 1/3] Add a list of mac relevant graphics cards.
Signed-off-by: Kristjan Gerhardsson <kristjang at ccpgames.com>
---
dlls/wined3d/adapter_gl.c | 2 +-
dlls/wined3d/directx.c | 15 ++++++++++++++-
dlls/wined3d/wined3d_private.h | 15 ++++++++++++++-
3 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index 142e975cbe8..f74a8a79b6f 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -1642,7 +1642,7 @@ cards_intel[] =
/* Haswell */
{"Iris Pro 5200", CARD_INTEL_IP5200_1},
{"Iris 5100", CARD_INTEL_I5100_1},
- {"HD Graphics 5000", CARD_INTEL_HD5000}, /* MacOS */
+ {"HD Graphics 5000", CARD_INTEL_HD5000_1}, /* MacOS */
{"Haswell Mobile", CARD_INTEL_HWM},
{"Iris OpenGL Engine", CARD_INTEL_HWM}, /* MacOS */
/* Ivybridge */
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index a8ba9b4f412..ae24de6906f 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -278,6 +278,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT610, "NVIDIA GeForce GT 610", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT630, "NVIDIA GeForce GT 630", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT630M, "NVIDIA GeForce GT 630M", DRIVER_NVIDIA_GEFORCE8, 1024},
+ {HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT640, "NVIDIA GeForce GT 640", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT640M, "NVIDIA GeForce GT 640M", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT650M, "NVIDIA GeForce GT 650M", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX650, "NVIDIA GeForce GTX 650", DRIVER_NVIDIA_GEFORCE8, 1024},
@@ -288,6 +289,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX670, "NVIDIA GeForce GTX 670", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX670MX, "NVIDIA GeForce GTX 670MX", DRIVER_NVIDIA_GEFORCE8, 3072},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX675MX, "NVIDIA GeForce GTX 675MX", DRIVER_NVIDIA_GEFORCE8, 4096},
+ {HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX675MX_MAC, "NVIDIA GeForce GTX 675MX", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX680, "NVIDIA GeForce GTX 680", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX690, "NVIDIA GeForce GTX 690", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT720, "NVIDIA GeForce GT 720", DRIVER_NVIDIA_GEFORCE8, 2048},
@@ -295,6 +297,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT730M, "NVIDIA GeForce GT 730M", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT740M, "NVIDIA GeForce GT 740M", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT750M, "NVIDIA GeForce GT 750M", DRIVER_NVIDIA_GEFORCE8, 1024},
+ {HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GT755M, "NVIDIA GeForce GT 755M", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX750, "NVIDIA GeForce GTX 750", DRIVER_NVIDIA_GEFORCE8, 1024},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX750TI, "NVIDIA GeForce GTX 750 Ti", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX760, "NVIDIA GeForce GTX 760", DRIVER_NVIDIA_GEFORCE8, 2048},
@@ -302,7 +305,9 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX765M, "NVIDIA GeForce GTX 765M", DRIVER_NVIDIA_GEFORCE8, 2048},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX770M, "NVIDIA GeForce GTX 770M", DRIVER_NVIDIA_GEFORCE8, 3072},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX770, "NVIDIA GeForce GTX 770", DRIVER_NVIDIA_GEFORCE8, 2048},
+ {HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX775M, "NVIDIA GeForce GTX 775M", DRIVER_NVIDIA_GEFORCE8, 3072},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX780, "NVIDIA GeForce GTX 780", DRIVER_NVIDIA_GEFORCE8, 3072},
+ {HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX780M, "NVIDIA GeForce GTX 780M", DRIVER_NVIDIA_GEFORCE8, 4096},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTX780TI, "NVIDIA GeForce GTX 780 Ti", DRIVER_NVIDIA_GEFORCE8, 3072},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTXTITAN, "NVIDIA GeForce GTX TITAN", DRIVER_NVIDIA_GEFORCE8, 6144},
{HW_VENDOR_NVIDIA, CARD_NVIDIA_GEFORCE_GTXTITANB, "NVIDIA GeForce GTX TITAN Black", DRIVER_NVIDIA_GEFORCE8, 6144},
@@ -365,6 +370,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6400, "AMD Radeon HD 6400 Series", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6410D, "AMD Radeon HD 6410D", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6480G, "AMD Radeon HD 6480G", DRIVER_AMD_R600, 512 },
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_HD6490M, "AMD Radeon HD 6490M", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6550D, "AMD Radeon HD 6550D", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6600, "AMD Radeon HD 6600 Series", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD6600M, "AMD Radeon HD 6600M Series", DRIVER_AMD_R600, 512 },
@@ -374,6 +380,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD7660D, "AMD Radeon HD 7660D", DRIVER_AMD_R600, 2048},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD7700, "AMD Radeon HD 7700 Series", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD7800, "AMD Radeon HD 7800 Series", DRIVER_AMD_R600, 2048},
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_HD7870, "AMD Radeon HD 7870 Series", DRIVER_AMD_R600, 2048},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD7900, "AMD Radeon HD 7900 Series", DRIVER_AMD_R600, 2048},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD8600M, "AMD Radeon HD 8600M Series", DRIVER_AMD_R600, 1024},
{HW_VENDOR_AMD, CARD_AMD_RADEON_HD8670, "AMD Radeon HD 8670", DRIVER_AMD_R600, 2048},
@@ -382,7 +389,11 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_AMD, CARD_AMD_RADEON_R7, "AMD Radeon(TM) R7 Graphics", DRIVER_AMD_R600, 2048},
{HW_VENDOR_AMD, CARD_AMD_RADEON_R9_285, "AMD Radeon R9 285", DRIVER_AMD_RX, 2048},
{HW_VENDOR_AMD, CARD_AMD_RADEON_R9_290, "AMD Radeon R9 290", DRIVER_AMD_RX, 4096},
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_R9_290X, "AMD Radeon R9 290X", DRIVER_AMD_RX, 4096},
{HW_VENDOR_AMD, CARD_AMD_RADEON_R9_FURY, "AMD Radeon (TM) R9 Fury Series", DRIVER_AMD_RX, 4096},
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_R9_M370X, "AMD Radeon R9 M370X", DRIVER_AMD_RX, 2048},
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_R9_M380, "AMD Radeon R9 M380", DRIVER_AMD_RX, 2048},
+ {HW_VENDOR_AMD, CARD_AMD_RADEON_R9_M395X, "AMD Radeon R9 M395X", DRIVER_AMD_RX, 4096},
{HW_VENDOR_AMD, CARD_AMD_RADEON_RX_460, "Radeon(TM) RX 460 Graphics", DRIVER_AMD_RX, 4096},
{HW_VENDOR_AMD, CARD_AMD_RADEON_RX_480, "Radeon (TM) RX 480 Graphics", DRIVER_AMD_RX, 4096},
{HW_VENDOR_AMD, CARD_AMD_RADEON_RX_VEGA, "Radeon RX Vega", DRIVER_AMD_RX, 8192},
@@ -430,7 +441,8 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_INTEL, CARD_INTEL_IVBS, "Intel(R) HD Graphics Family", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_HWD, "Intel(R) HD Graphics 4600", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_HWM, "Intel(R) HD Graphics 4600", DRIVER_INTEL_HD4000, 1536},
- {HW_VENDOR_INTEL, CARD_INTEL_HD5000, "Intel(R) HD Graphics 5000", DRIVER_INTEL_HD4000, 1536},
+ {HW_VENDOR_INTEL, CARD_INTEL_HD5000_1, "Intel(R) HD Graphics 5000", DRIVER_INTEL_HD4000, 1536},
+ {HW_VENDOR_INTEL, CARD_INTEL_HD5000_2, "Intel(R) HD Graphics 5000", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_I5100_1, "Intel(R) Iris(TM) Graphics 5100", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_I5100_2, "Intel(R) Iris(TM) Graphics 5100", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_I5100_3, "Intel(R) Iris(TM) Graphics 5100", DRIVER_INTEL_HD4000, 1536},
@@ -440,6 +452,7 @@ static const struct wined3d_gpu_description gpu_description_table[] =
{HW_VENDOR_INTEL, CARD_INTEL_IP5200_3, "Intel(R) Iris(TM) Pro Graphics 5200", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_IP5200_4, "Intel(R) Iris(TM) Pro Graphics 5200", DRIVER_INTEL_HD4000, 1536},
{HW_VENDOR_INTEL, CARD_INTEL_IP5200_5, "Intel(R) Iris(TM) Pro Graphics 5200", DRIVER_INTEL_HD4000, 1536},
+ {HW_VENDOR_INTEL, CARD_INTEL_IP5200_6, "Intel(R) Iris(TM) Pro Graphics 5200", DRIVER_INTEL_HD4000, 2048},
{HW_VENDOR_INTEL, CARD_INTEL_HD5300, "Intel(R) HD Graphics 5300", DRIVER_INTEL_HD4000, 2048},
{HW_VENDOR_INTEL, CARD_INTEL_HD5500, "Intel(R) HD Graphics 5500", DRIVER_INTEL_HD4000, 2048},
{HW_VENDOR_INTEL, CARD_INTEL_HD5600, "Intel(R) HD Graphics 5600", DRIVER_INTEL_HD4000, 2048},
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 0acdbf20179..5ea0aa00ede 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2359,6 +2359,7 @@ enum wined3d_pci_device
CARD_AMD_RADEON_HD5900 = 0x689c,
CARD_AMD_RADEON_HD6300 = 0x9803,
CARD_AMD_RADEON_HD6400 = 0x6770,
+ CARD_AMD_RADEON_HD6490M = 0x6760,
CARD_AMD_RADEON_HD6410D = 0x9644,
CARD_AMD_RADEON_HD6480G = 0x9648,
CARD_AMD_RADEON_HD6550D = 0x9640,
@@ -2370,6 +2371,7 @@ enum wined3d_pci_device
CARD_AMD_RADEON_HD7660D = 0x9901,
CARD_AMD_RADEON_HD7700 = 0x683d,
CARD_AMD_RADEON_HD7800 = 0x6819,
+ CARD_AMD_RADEON_HD7870 = 0x6818,
CARD_AMD_RADEON_HD7900 = 0x679a,
CARD_AMD_RADEON_HD8600M = 0x6660,
CARD_AMD_RADEON_HD8670 = 0x6610,
@@ -2378,7 +2380,11 @@ enum wined3d_pci_device
CARD_AMD_RADEON_R7 = 0x130f,
CARD_AMD_RADEON_R9_285 = 0x6939,
CARD_AMD_RADEON_R9_290 = 0x67b1,
+ CARD_AMD_RADEON_R9_290X = 0x67b0,
CARD_AMD_RADEON_R9_FURY = 0x7300,
+ CARD_AMD_RADEON_R9_M370X = 0x6821,
+ CARD_AMD_RADEON_R9_M380 = 0x6647,
+ CARD_AMD_RADEON_R9_M395X = 0x6920,
CARD_AMD_RADEON_RX_460 = 0x67ef,
CARD_AMD_RADEON_RX_480 = 0x67df,
CARD_AMD_RADEON_RX_VEGA = 0x687f,
@@ -2455,6 +2461,7 @@ enum wined3d_pci_device
CARD_NVIDIA_GEFORCE_GT610 = 0x104a,
CARD_NVIDIA_GEFORCE_GT630 = 0x0f00,
CARD_NVIDIA_GEFORCE_GT630M = 0x0de9,
+ CARD_NVIDIA_GEFORCE_GT640 = 0x0fc1,
CARD_NVIDIA_GEFORCE_GT640M = 0x0fd2,
CARD_NVIDIA_GEFORCE_GT650M = 0x0fd1,
CARD_NVIDIA_GEFORCE_GTX650 = 0x0fc6,
@@ -2465,6 +2472,7 @@ enum wined3d_pci_device
CARD_NVIDIA_GEFORCE_GTX670 = 0x1189,
CARD_NVIDIA_GEFORCE_GTX670MX = 0x11a1,
CARD_NVIDIA_GEFORCE_GTX675MX = 0x11a7,
+ CARD_NVIDIA_GEFORCE_GTX675MX_MAC = 0x11a2,
CARD_NVIDIA_GEFORCE_GTX680 = 0x1180,
CARD_NVIDIA_GEFORCE_GTX690 = 0x1188,
CARD_NVIDIA_GEFORCE_GT720 = 0x128b,
@@ -2472,6 +2480,7 @@ enum wined3d_pci_device
CARD_NVIDIA_GEFORCE_GT730M = 0x0fe1,
CARD_NVIDIA_GEFORCE_GT740M = 0x1292,
CARD_NVIDIA_GEFORCE_GT750M = 0x0fe9,
+ CARD_NVIDIA_GEFORCE_GT755M = 0x0fcd,
CARD_NVIDIA_GEFORCE_GTX750 = 0x1381,
CARD_NVIDIA_GEFORCE_GTX750TI = 0x1380,
CARD_NVIDIA_GEFORCE_GTX760 = 0x1187,
@@ -2479,7 +2488,9 @@ enum wined3d_pci_device
CARD_NVIDIA_GEFORCE_GTX765M = 0x11e2,
CARD_NVIDIA_GEFORCE_GTX770M = 0x11e0,
CARD_NVIDIA_GEFORCE_GTX770 = 0x1184,
+ CARD_NVIDIA_GEFORCE_GTX775M = 0x119d,
CARD_NVIDIA_GEFORCE_GTX780 = 0x1004,
+ CARD_NVIDIA_GEFORCE_GTX780M = 0x119e,
CARD_NVIDIA_GEFORCE_GTX780TI = 0x100a,
CARD_NVIDIA_GEFORCE_GTXTITAN = 0x1005,
CARD_NVIDIA_GEFORCE_GTXTITANB = 0x100c,
@@ -2555,7 +2566,8 @@ enum wined3d_pci_device
CARD_INTEL_IVBS = 0x015a,
CARD_INTEL_HWD = 0x0412,
CARD_INTEL_HWM = 0x0416,
- CARD_INTEL_HD5000 = 0x0a26,
+ CARD_INTEL_HD5000_1 = 0x0a26,
+ CARD_INTEL_HD5000_2 = 0x0422,
CARD_INTEL_I5100_1 = 0x0a22,
CARD_INTEL_I5100_2 = 0x0a2a,
CARD_INTEL_I5100_3 = 0x0a2b,
@@ -2565,6 +2577,7 @@ enum wined3d_pci_device
CARD_INTEL_IP5200_3 = 0x0d2a,
CARD_INTEL_IP5200_4 = 0x0d2b,
CARD_INTEL_IP5200_5 = 0x0d2e,
+ CARD_INTEL_IP5200_6 = 0x0c22,
CARD_INTEL_HD5300 = 0x161e,
CARD_INTEL_HD5500 = 0x1616,
CARD_INTEL_HD5600 = 0x1612,
--
2.17.1

View File

@ -1,4 +1,4 @@
From dec04ef411b2ae2fa1eed07e447e0a1090191cee Mon Sep 17 00:00:00 2001
From 48b2daa4ddeb8c3a88611bc494a0e1405fad37af Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 12 Jul 2019 09:50:00 +1000
Subject: [PATCH] msctf: Added ITfActiveLanguageProfileNotifySink support in
@ -7,26 +7,26 @@ Subject: [PATCH] msctf: Added ITfActiveLanguageProfileNotifySink support in
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=44502
---
dlls/msctf/msctf_internal.h | 1 +
dlls/msctf/threadmgr.c | 13 +++++++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
dlls/msctf/threadmgr.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/dlls/msctf/msctf_internal.h b/dlls/msctf/msctf_internal.h
index 9d37548361..35843eecf9 100644
index 584bb1044ed..9d60e18e6f3 100644
--- a/dlls/msctf/msctf_internal.h
+++ b/dlls/msctf/msctf_internal.h
@@ -32,6 +32,7 @@
#define COOKIE_MAGIC_DMSINK 0x0070
#define COOKIE_MAGIC_THREADFOCUSSINK 0x0080
@@ -34,6 +34,7 @@
#define COOKIE_MAGIC_KEYTRACESINK 0x0090
+#define COOKIE_MAGIC_ACTIVELANGSINK 0x0100
#define COOKIE_MAGIC_UIELEMENTSINK 0x00a0
#define COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK 0x00b0
+#define COOKIE_MAGIC_ACTIVELANGSINK 0x00c0
extern DWORD tlsIndex DECLSPEC_HIDDEN;
extern TfClientId processId DECLSPEC_HIDDEN;
diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c
index a9fcb5cd15..fac11e7a35 100644
index 2c208fbc04f..16e261539ac 100644
--- a/dlls/msctf/threadmgr.c
+++ b/dlls/msctf/threadmgr.c
@@ -617,6 +617,13 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface,
@@ -621,6 +621,13 @@ static HRESULT WINAPI ThreadMgrSource_AdviseSink(ITfSource *iface,
return advise_sink(&This->ThreadFocusSink, &IID_ITfThreadFocusSink, COOKIE_MAGIC_THREADFOCUSSINK, punk, pdwCookie);
}
@ -40,16 +40,13 @@ index a9fcb5cd15..fac11e7a35 100644
if (IsEqualIID(riid, &IID_ITfKeyTraceEventSink))
{
WARN("semi-stub for ITfKeyTraceEventSink: sink won't be used.\n");
@@ -636,8 +643,10 @@ static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCo
TRACE("(%p) %x\n",This,pdwCookie);
@@ -656,7 +663,8 @@ static HRESULT WINAPI ThreadMgrSource_UnadviseSink(ITfSource *iface, DWORD pdwCo
magic = get_Cookie_magic(pdwCookie);
- if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
- && magic != COOKIE_MAGIC_KEYTRACESINK)
+ if (magic != COOKIE_MAGIC_TMSINK &&
+ magic != COOKIE_MAGIC_THREADFOCUSSINK &&
+ magic != COOKIE_MAGIC_ACTIVELANGSINK &&
+ magic != COOKIE_MAGIC_KEYTRACESINK)
if (magic != COOKIE_MAGIC_TMSINK && magic != COOKIE_MAGIC_THREADFOCUSSINK
&& magic != COOKIE_MAGIC_KEYTRACESINK && magic != COOKIE_MAGIC_UIELEMENTSINK
- && magic != COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK)
+ && magic != COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK
+ && magic != COOKIE_MAGIC_KEYTRACESINK)
return E_INVALIDARG;
return unadvise_sink(pdwCookie);

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "82543e7858758025b50bb5556cbedc43f4d628c4"
echo "fdf8d7176f59043999b34ff4facdcbee14a7d6aa"
}
# Show version information
@ -336,7 +336,6 @@ patch_enable_all ()
enable_wined3d_WINED3D_RS_COLORWRITEENABLE="$1"
enable_wined3d_WINED3D_TEXF_ANISOTROPIC="$1"
enable_wined3d_mesa_texture_download="$1"
enable_wined3d_swapchain_buffers="$1"
enable_wined3d_unset_flip_gdi="$1"
enable_wined3d_wined3d_guess_gl_vendor="$1"
enable_winedbg_Process_Arguments="$1"
@ -1141,9 +1140,6 @@ patch_enable ()
wined3d-mesa_texture_download)
enable_wined3d_mesa_texture_download="$2"
;;
wined3d-swapchain-buffers)
enable_wined3d_swapchain_buffers="$2"
;;
wined3d-unset-flip-gdi)
enable_wined3d_unset_flip_gdi="$2"
;;
@ -2055,18 +2051,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/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/cryptext/tests/Makefile.in, dlls/cryptext/tests/cryptext.c, dlls/dbghelp/pe_module.c, dlls/evr/Makefile.in,
# | dlls/evr/evr.c, dlls/evr/main.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/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/wined3d/adapter_gl.c,
# | dlls/wined3d/directx.c, dlls/wined3d/wined3d_private.h, dlls/winex11.drv/display.c, dlls/winex11.drv/mouse.c,
# | include/Makefile.in, include/d3drm.h, include/d3drmobj.h, include/msvcrt/limits.h, include/strongname.h,
# | loader/Makefile.in, loader/wine.inf.in, loader/winebus.inf.in, programs/services/services.c,
# | programs/wineboot/Makefile.in, programs/wineboot/wineboot.c, tools/make_specfiles
# | dlls/winebus.sys/bus_sdl.c, dlls/winebus.sys/bus_udev.c, dlls/winebus.sys/main.c, dlls/winex11.drv/mouse.c,
# | include/msvcrt/limits.h, loader/Makefile.in, loader/wine.inf.in, loader/winebus.inf.in, programs/wineboot/Makefile.in,
# | programs/wineboot/wineboot.c
# |
if test "$enable_mailing_list_patches" -eq 1; then
patch_apply mailing-list-patches/0001-winebus.inf-Add-new-INF-file-and-copy-it-to-the-INF-.patch
@ -2075,36 +2066,18 @@ if test "$enable_mailing_list_patches" -eq 1; then
patch_apply mailing-list-patches/0004-winebus.sys-Initialize-and-teardown-the-HID-backends.patch
patch_apply mailing-list-patches/0005-ntoskrnl.exe-IoInvalidateDeviceRelations-receives-th.patch
patch_apply mailing-list-patches/0006-cryptext-Implement-CryptExtOpenCER.patch
patch_apply mailing-list-patches/0007-dxgi-tests-Test-output-after-using-Alt-Enter-to-swit.patch
patch_apply mailing-list-patches/0008-dxgi-Fix-possible-null-output-from-d3d11_swapchain_G.patch
patch_apply mailing-list-patches/0009-d3drm-Check-for-NULL-pointer-in-d3drm_viewport2_GetD.patch
patch_apply mailing-list-patches/0010-d3drm-Check-for-NULL-pointer-in-d3drm_viewport2_GetD.patch
patch_apply mailing-list-patches/0011-d3drm-Return-error-if-setting-viewport-field-of-view.patch
patch_apply mailing-list-patches/0012-strmbase-Remove-unused-wine-unicode.h-import.patch
patch_apply mailing-list-patches/0013-qedit-Build-with-msvcrt.patch
patch_apply mailing-list-patches/0014-qedit-Share-source-with-strmbase.patch
patch_apply mailing-list-patches/0015-evr-Build-with-msvcrt.patch
patch_apply mailing-list-patches/0016-evr-Share-source-with-strmbase.patch
patch_apply mailing-list-patches/0017-user32-Also-scan-for-mouse-devices-in-GetRawInputDev.patch
patch_apply mailing-list-patches/0018-d3drm-Correct-paramater-count-of-several-interface-d.patch
patch_apply mailing-list-patches/0019-shell32-add-SHMultiFileProperties-stub.patch
patch_apply mailing-list-patches/0020-winebus.sys-Report-the-native-product-string-for-som.patch
patch_apply mailing-list-patches/0021-Define-AT_NO_AUTOMOUNT-if-needed.patch
patch_apply mailing-list-patches/0022-gdi32-Use-the-correct-type-for-the-final-parameter-o.patch
patch_apply mailing-list-patches/0023-mscorwks-New-DLL.patch
patch_apply mailing-list-patches/0024-include-Add-strongname.h.patch
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
patch_apply mailing-list-patches/0033-services-Fix-the-arguments-to-is_root_pnp_service.patch
patch_apply mailing-list-patches/0034-msvcrt-Do-not-use-casting-in-min-max-macros.patch
patch_apply mailing-list-patches/0035-winex11.drv-Ignore-XGrabPointer-induced-warp-events-.patch
patch_apply mailing-list-patches/0036-Add-a-list-of-mac-relevant-graphics-cards.patch
patch_apply mailing-list-patches/0037-ntoskrnl-Update-the-interface-if-it-is-already-in-th.patch
patch_apply mailing-list-patches/0038-winebus-Use-the-SDL-joystick-index-as-device-id-inst.patch
(
@ -2114,36 +2087,18 @@ if test "$enable_mailing_list_patches" -eq 1; then
printf '%s\n' '+ { "Zebediah Figura", "winebus.sys: Initialize and teardown the HID backends while the bus FDO is still extant.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "ntoskrnl.exe: IoInvalidateDeviceRelations() receives the parent PDO.", 1 },';
printf '%s\n' '+ { "Dmitry Timoshkov", "cryptext: Implement CryptExtOpenCER.", 1 },';
printf '%s\n' '+ { "Zhiyi Zhang", "dxgi/tests: Test output after using Alt+Enter to switch fullscreen.", 1 },';
printf '%s\n' '+ { "Zhiyi Zhang", "dxgi: Fix possible null output from d3d11_swapchain_GetFullscreenState.", 1 },';
printf '%s\n' '+ { "Jeff Smith", "d3drm: Check for NULL pointer in d3drm_viewport2_GetDevice().", 1 },';
printf '%s\n' '+ { "Jeff Smith", "d3drm: Check for NULL pointer in d3drm_viewport2_GetDirect3DViewport().", 1 },';
printf '%s\n' '+ { "Jeff Smith", "d3drm: Return error if setting viewport field-of-view to zero or negative value.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "strmbase: Remove unused wine/unicode.h import.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "qedit: Build with msvcrt.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "qedit: Share source with strmbase.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "evr: Build with msvcrt.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "evr: Share source with strmbase.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "user32: Also scan for mouse devices in GetRawInputDeviceList().", 1 },';
printf '%s\n' '+ { "Jeff Smith", "d3drm: Correct paramater count of several interface defines.", 1 },';
printf '%s\n' '+ { "Austin English", "shell32: Add SHMultiFileProperties stub.", 1 },';
printf '%s\n' '+ { "Rémi Bernon", "winebus.sys: Report the native product string for some Xbox gamepads.", 1 },';
printf '%s\n' '+ { "Gabriel Ivăncescu", "Define AT_NO_AUTOMOUNT if needed.", 1 },';
printf '%s\n' '+ { "Huw Davies", "gdi32: Use the correct type for the final parameter of FSOpenResourceFile().", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "mscorwks: New DLL.", 1 },';
printf '%s\n' '+ { "Zebediah Figura", "include: Add strongname.h.", 1 },';
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 },';
printf '%s\n' '+ { "Zebediah Figura", "services: Fix the arguments to is_root_pnp_service().", 1 },';
printf '%s\n' '+ { "Peter Dons Tychsen", "msvcrt: Do not use casting in min/max macros.", 1 },';
printf '%s\n' '+ { "Rémi Bernon", "winex11.drv: Ignore XGrabPointer-induced warp events as well.", 1 },';
printf '%s\n' '+ { "Kristján Gerhardsson", "Add a list of mac relevant graphics cards.", 1 },';
printf '%s\n' '+ { "Rémi Bernon", "ntoskrnl: Update the interface if it is already in the device_interfaces tree.", 1 },';
printf '%s\n' '+ { "Rémi Bernon", "winebus: Use the SDL joystick index as device id instead of instance id.", 1 },';
) >> "$patchlist"
@ -6983,21 +6938,6 @@ if test "$enable_wined3d_mesa_texture_download" -eq 1; then
) >> "$patchlist"
fi
# Patchset wined3d-swapchain-buffers
# |
# | This patchset fixes the following Wine bugs:
# | * [#47479] wined3d: Correctly switch swapchain buffer.
# |
# | Modified files:
# | * dlls/wined3d/surface.c, dlls/wined3d/swapchain.c
# |
if test "$enable_wined3d_swapchain_buffers" -eq 1; then
patch_apply wined3d-swapchain-buffers/0001-wined3d-Correctly-switch-swapchain-buffer.patch
(
printf '%s\n' '+ { "Henri Verbeet", "wined3d: Correctly switch swapchain buffer.", 1 },';
) >> "$patchlist"
fi
# Patchset wined3d-unset-flip-gdi
# |
# | This patchset fixes the following Wine bugs:

View File

@ -1,17 +1,17 @@
From 3c2e5967acbc177bf43c2cb6012bdc22c7a59fb2 Mon Sep 17 00:00:00 2001
From 4120d27b52861617c27c668c73d334ed4d32c302 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 27 Feb 2015 01:04:33 +0100
Subject: shell32: Implement file operation progress dialog.
Subject: [PATCH] shell32: Implement file operation progress dialog.
Based on a patch by Huw Campbell.
---
dlls/shell32/shell32.rc | 7 ++
dlls/shell32/shlfileop.c | 277 +++++++++++++++++++++++++++++++++++++++++++++--
dlls/shell32/shell32.rc | 7 +
dlls/shell32/shlfileop.c | 277 ++++++++++++++++++++++++++++++++++++++-
dlls/shell32/shresdef.h | 8 ++
3 files changed, 285 insertions(+), 7 deletions(-)
diff --git a/dlls/shell32/shell32.rc b/dlls/shell32/shell32.rc
index bfba962..277b23a 100644
index 46f0b6f12dd..8739718f715 100644
--- a/dlls/shell32/shell32.rc
+++ b/dlls/shell32/shell32.rc
@@ -184,6 +184,13 @@ If the files in the destination folder have the same names as files in the\n\
@ -29,7 +29,7 @@ index bfba962..277b23a 100644
IDS_RESTART_TITLE "Restart"
IDS_RESTART_PROMPT "Do you want to simulate a Windows reboot?"
diff --git a/dlls/shell32/shlfileop.c b/dlls/shell32/shlfileop.c
index 5f0189b..5ad241c 100644
index 23c1f41f907..1f29c484458 100644
--- a/dlls/shell32/shlfileop.c
+++ b/dlls/shell32/shlfileop.c
@@ -65,6 +65,10 @@ typedef struct
@ -56,7 +56,7 @@ index 5f0189b..5ad241c 100644
/* Confirm dialogs with an optional "Yes To All" as used in file operations confirmations
*/
static const WCHAR CONFIRM_MSG_PROP[] = {'W','I','N','E','_','C','O','N','F','I','R','M',0};
@@ -395,6 +405,13 @@ static DWORD SHELL_DeleteDirectoryW(FILE_OPERATION *op, LPCWSTR pszDir, BOOL bSh
@@ -391,6 +401,13 @@ static DWORD SHELL_DeleteDirectoryW(FILE_OPERATION *op, LPCWSTR pszDir, BOOL bSh
ret = SHELL_DeleteDirectoryW(op, szTemp, FALSE);
else
ret = SHNotifyDeleteFileW(op, szTemp);
@ -70,7 +70,7 @@ index 5f0189b..5ad241c 100644
} while (!ret && FindNextFileW(hFind, &wfd));
}
FindClose(hFind);
@@ -548,10 +565,22 @@ static DWORD SHNotifyDeleteFileA(FILE_OPERATION *op, LPCSTR path)
@@ -544,10 +561,22 @@ static DWORD SHNotifyDeleteFileA(FILE_OPERATION *op, LPCSTR path)
static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
{
BOOL ret;
@ -94,7 +94,7 @@ index 5f0189b..5ad241c 100644
ret = DeleteFileW(path);
if (!ret)
@@ -564,6 +593,14 @@ static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
@@ -560,6 +589,14 @@ static DWORD SHNotifyDeleteFileW(FILE_OPERATION *op, LPCWSTR path)
}
if (ret)
{
@ -109,7 +109,7 @@ index 5f0189b..5ad241c 100644
SHChangeNotify(SHCNE_DELETE, SHCNF_PATHW, path, NULL);
return ERROR_SUCCESS;
}
@@ -598,9 +635,10 @@ static DWORD SHNotifyMoveFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest)
@@ -594,9 +631,10 @@ static DWORD SHNotifyMoveFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest)
TRACE("(%s %s)\n", debugstr_w(src), debugstr_w(dest));
@ -122,7 +122,7 @@ index 5f0189b..5ad241c 100644
/* MOVEFILE_REPLACE_EXISTING fails with dirs, so try MoveFile */
if (!ret)
@@ -650,14 +688,15 @@ static DWORD SHNotifyCopyFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest, BO
@@ -646,14 +684,15 @@ static DWORD SHNotifyCopyFileW(FILE_OPERATION *op, LPCWSTR src, LPCWSTR dest, BO
TRACE("(%s %s %s)\n", debugstr_w(src), debugstr_w(dest), bFailIfExists ? "failIfExists" : "");
@ -140,7 +140,7 @@ index 5f0189b..5ad241c 100644
if (ret)
{
SHChangeNotify(SHCNE_CREATE, SHCNF_PATHW, dest, NULL);
@@ -1292,6 +1331,8 @@ static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
@@ -1295,6 +1334,8 @@ static int copy_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
}
/* Vista return code. XP would return e.g. ERROR_FILE_NOT_FOUND, ERROR_ALREADY_EXISTS */
@ -149,7 +149,7 @@ index 5f0189b..5ad241c 100644
if (op->bCancelled)
return ERROR_CANCELLED;
}
@@ -1374,13 +1415,17 @@ static int delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
@@ -1377,13 +1418,17 @@ static int delete_files(FILE_OPERATION *op, const FILE_LIST *flFrom)
/* delete the file or directory */
if (IsAttribFile(fileEntry->attributes))
@ -169,7 +169,7 @@ index 5f0189b..5ad241c 100644
}
return ERROR_SUCCESS;
@@ -1455,6 +1500,11 @@ static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
@@ -1458,6 +1503,11 @@ static int move_files(FILE_OPERATION *op, BOOL multidest, const FILE_LIST *flFro
move_to_dir(op, entryToMove, fileDest);
else
SHNotifyMoveFileW(op, entryToMove->szFullPath, fileDest->szFullPath);
@ -181,7 +181,7 @@ index 5f0189b..5ad241c 100644
}
if (mismatched > 0)
@@ -1514,6 +1564,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1517,6 +1567,7 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
{
FILE_OPERATION op;
FILE_LIST flFrom, flTo;
@ -189,7 +189,7 @@ index 5f0189b..5ad241c 100644
int ret = 0;
if (!lpFileOp)
@@ -1532,9 +1583,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1535,9 +1586,31 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
ZeroMemory(&op, sizeof(op));
op.req = lpFileOp;
@ -221,7 +221,7 @@ index 5f0189b..5ad241c 100644
switch (lpFileOp->wFunc)
{
case FO_COPY:
@@ -1554,6 +1627,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1557,6 +1630,12 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
break;
}
@ -234,7 +234,7 @@ index 5f0189b..5ad241c 100644
destroy_file_list(&flFrom);
if (lpFileOp->wFunc != FO_DELETE)
@@ -1562,6 +1641,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
@@ -1565,6 +1644,9 @@ int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
if (ret == ERROR_CANCELLED)
lpFileOp->fAnyOperationsAborted = TRUE;
@ -244,9 +244,9 @@ index 5f0189b..5ad241c 100644
SetLastError(ERROR_SUCCESS);
return ret;
}
@@ -1793,3 +1875,184 @@ HRESULT WINAPI SHPathPrepareForWriteW(HWND hwnd, IUnknown *modless, LPCWSTR path
else
return HRESULT_FROM_WIN32(ERROR_DIRECTORY);
@@ -1806,3 +1888,184 @@ HRESULT WINAPI SHMultiFileProperties(IDataObject *pdtobj, DWORD flags)
FIXME("stub: %p %u\n", pdtobj, flags);
return E_NOTIMPL;
}
+
+static BOOL progressbar_calc_size(FILE_OPERATION *op, LPWSTR buf, BOOL is_folder, DWORD *ticks)
@ -430,7 +430,7 @@ index 5f0189b..5ad241c 100644
+ return op->bCancelled ? PROGRESS_CANCEL : PROGRESS_CONTINUE;
+}
diff --git a/dlls/shell32/shresdef.h b/dlls/shell32/shresdef.h
index 183a75e..8ee525a 100644
index 92185d637e7..33edb584c1b 100644
--- a/dlls/shell32/shresdef.h
+++ b/dlls/shell32/shresdef.h
@@ -149,6 +149,14 @@
@ -449,5 +449,5 @@ index 183a75e..8ee525a 100644
#define IDS_RECYCLEBIN_FOLDER_NAME 8964
--
2.8.0
2.17.1

View File

@ -1,77 +0,0 @@
From 568533b56ac447e3c7f4bd9be7a9785fcab79ec6 Mon Sep 17 00:00:00 2001
From: Henri Verbeet <hverbeet@codeweavers.com>
Date: Mon, 15 Jul 2019 08:54:30 +1000
Subject: [PATCH] wined3d: Correctly switch swapchain buffer.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47479
---
dlls/wined3d/surface.c | 23 +++++++++--------------
dlls/wined3d/swapchain.c | 2 +-
2 files changed, 10 insertions(+), 15 deletions(-)
diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 3668c61fa3..7d7dd257f6 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -147,9 +147,9 @@ void texture2d_blt_fbo(struct wined3d_device *device, struct wined3d_context *co
const RECT *dst_rect)
{
struct wined3d_texture *required_texture, *restore_texture;
- unsigned int required_idx, restore_idx;
const struct wined3d_gl_info *gl_info;
struct wined3d_context_gl *context_gl;
+ unsigned int restore_idx;
GLenum gl_filter;
GLenum buffer;
RECT s, d;
@@ -192,26 +192,21 @@ void texture2d_blt_fbo(struct wined3d_device *device, struct wined3d_context *co
else
wined3d_texture_prepare_location(dst_texture, dst_sub_resource_idx, context, dst_location);
+ /* Acquire a context for the front-buffer, even though we may be blitting
+ * to/from a back-buffer. Since context_acquire() doesn't take the
+ * resource location into account, it may consider the back-buffer to be
+ * offscreen. */
if (src_location == WINED3D_LOCATION_DRAWABLE)
- {
- required_texture = src_texture;
- required_idx = src_sub_resource_idx;
- }
+ required_texture = src_texture->swapchain->front_buffer;
else if (dst_location == WINED3D_LOCATION_DRAWABLE)
- {
- required_texture = dst_texture;
- required_idx = dst_sub_resource_idx;
- }
+ required_texture = dst_texture->swapchain->front_buffer;
else
- {
required_texture = NULL;
- required_idx = 0;
- }
restore_texture = context->current_rt.texture;
restore_idx = context->current_rt.sub_resource_idx;
- if (restore_texture != required_texture || restore_idx != required_idx)
- context = context_acquire(device, required_texture, required_idx);
+ if (restore_texture != required_texture)
+ context = context_acquire(device, required_texture, 0);
else
restore_texture = NULL;
diff --git a/dlls/wined3d/swapchain.c b/dlls/wined3d/swapchain.c
index bf0c308f0d..8603c8de7a 100644
--- a/dlls/wined3d/swapchain.c
+++ b/dlls/wined3d/swapchain.c
@@ -434,7 +434,7 @@ static void swapchain_gl_present(struct wined3d_swapchain *swapchain,
struct wined3d_context *context;
BOOL render_to_fbo;
- context = context_acquire(swapchain->device, back_buffer, 0);
+ context = context_acquire(swapchain->device, swapchain->front_buffer, 0);
context_gl = wined3d_context_gl(context);
if (!context_gl->valid)
{
--
2.17.1

View File

@ -1 +0,0 @@
Fixes: [47479] wined3d: Correctly switch swapchain buffer.