Skip to content

Instantly share code, notes, and snippets.

@loathingKernel
Created March 22, 2021 21:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save loathingKernel/1ed2672e6b3e167d17bbb441897e9300 to your computer and use it in GitHub Desktop.
Save loathingKernel/1ed2672e6b3e167d17bbb441897e9300 to your computer and use it in GitHub Desktop.
proton-ge-custom `dlls/vulkan-1/vulkan.c` patch failure
From 7bd039f34f5fc1123524ddb22769f6e16e7d9c88 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Thu, 11 May 2017 10:01:16 -0500
Subject: [PATCH] HACK: ws2_32: Fake success when trying to bind to an IPX
address
---
dlls/ws2_32/socket.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 164a48ce751..b9248c9bd5e 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -3332,6 +3332,13 @@ int WINAPI WS_bind(SOCKET s, const struct WS_sockaddr* name, int namelen)
else if (interface_bind(s, fd, &uaddr.addr))
in4->sin_addr.s_addr = htonl(INADDR_ANY);
}
+
+ if(name->sa_family == WS_AF_IPX){
+ /* Quake (and similar family) fails if we can't bind to an IPX address. This often
+ * doesn't work on Linux, so just fake success. */
+ return 0;
+ }
+
if (bind(fd, &uaddr.addr, uaddrlen) < 0)
{
int loc_errno = errno;
From 134fa05a0e39b63bfec75d0823ebe49e4c9cae64 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Thu, 7 Jun 2018 14:37:03 -0500
Subject: [PATCH] HACK: winex11.drv: Disable XIM by default
libx11 has a race condition that causes XIM to crash with "double free
or corruption" errors, see winehq bug 35041. Disabling XIM works around
this, though special input methods (CJK, etc.) will no longer work.
---
dlls/winex11.drv/x11drv_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
index db87d188236..81a63a20689 100644
--- a/dlls/winex11.drv/x11drv_main.c
+++ b/dlls/winex11.drv/x11drv_main.c
@@ -93,7 +93,7 @@ static void *err_callback_arg; /* error callback argument */
static int err_callback_result; /* error callback result */
static unsigned long err_serial; /* serial number of first request */
static int (*old_error_handler)( Display *, XErrorEvent * );
-static BOOL use_xim = TRUE;
+static BOOL use_xim = FALSE;
static char input_style[20];
#define IS_OPTION_TRUE(ch) \
From 1091eaf13692b16ed66328ceeebfc587075fec6c Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Thu, 25 Oct 2018 12:50:45 -0500
Subject: [PATCH] HACK: wined3d: Fake an AMD card in place of Nvidia cards
Some games assume they can load the nvapi library if the hardware is an
nvidia card. This obviously fails in Wine. So fake that all nvidia
hardware is actually an AMD card, so they don't try to load nvapi.
---
dlls/wined3d/adapter_gl.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index b8a2060cf46..8259d92ebac 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -1009,6 +1009,14 @@ static const struct wined3d_gpu_description *query_gpu_description(const struct
vendor = wined3d_settings.pci_vendor_id;
TRACE("Overriding vendor PCI ID with 0x%04x.\n", vendor);
}
+ else if(vendor == HW_VENDOR_NVIDIA)
+ {
+ /* XXX: Fake having an AMD card in order to avoid games trying to load
+ * the Windows-only nvapi library. */
+ WARN("Nvidia card detected. Faking an AMD RX 480!\n");
+ vendor = HW_VENDOR_AMD;
+ device = CARD_AMD_RADEON_RX_480;
+ }
if (wined3d_settings.pci_device_id != PCI_DEVICE_NONE)
{
From aa7fa7ce94bd4e49e3843a8ea398d29882518e43 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Mon, 6 Aug 2018 08:06:03 -0500
Subject: [PATCH] server: Set default timeout to 0
The Steam client will be waiting for the wineserver to exit to set up
some environment variables, so make it wait as short as possible.
---
server/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/main.c b/server/main.c
index 20d3c48c4d9..aca8738c4c0 100644
--- a/server/main.c
+++ b/server/main.c
@@ -42,7 +42,7 @@
/* command-line options */
int debug_level = 0;
int foreground = 0;
-timeout_t master_socket_timeout = 3 * -TICKS_PER_SEC; /* master socket timeout, default is 3 seconds */
+timeout_t master_socket_timeout = 0; /* master socket timeout, default is 3 seconds */
const char *server_argv0;
/* parse-line args */
From ba15ba1c9b8ee40e13ef1bd7f018924259f36c1b Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Mon, 18 Jun 2018 07:56:35 -0500
Subject: [PATCH] ntdll: Notice THREADNAME_INFO exceptions and set thread name
on Linux
Patch by Zeb.
---
dlls/ntdll/unix/thread.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/dlls/ntdll/unix/thread.c b/dlls/ntdll/unix/thread.c
index 3b451a22577..ca5dac43bb0 100644
--- a/dlls/ntdll/unix/thread.c
+++ b/dlls/ntdll/unix/thread.c
@@ -43,6 +43,9 @@
#ifdef HAVE_SYS_SYSCALL_H
#include <sys/syscall.h>
#endif
+#ifdef HAVE_PRCTL
+#include <sys/prctl.h>
+#endif
#define NONAMELESSUNION
#include "ntstatus.h"
@@ -344,6 +347,16 @@ void wait_suspend( CONTEXT *context )
}
+/* "How to: Set a Thread Name in Native Code"
+ * https://msdn.microsoft.com/en-us/library/xcb2z8hs.aspx */
+typedef struct tagTHREADNAME_INFO
+{
+ DWORD dwType; /* Must be 0x1000 */
+ LPCSTR szName; /* Pointer to name - limited to 9 bytes (8 characters + terminator) */
+ DWORD dwThreadID; /* Thread ID (-1 = caller thread) */
+ DWORD dwFlags; /* Reserved for future use. Must be zero. */
+} THREADNAME_INFO;
+
/**********************************************************************
* send_debug_event
*
@@ -366,6 +379,21 @@ NTSTATUS send_debug_event( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL first_c
for (i = 0; i < min( rec->NumberParameters, EXCEPTION_MAXIMUM_PARAMETERS ); i++)
params[i] = rec->ExceptionInformation[i];
+ if (rec->ExceptionCode == 0x406d1388)
+ {
+ const THREADNAME_INFO *threadname = (const THREADNAME_INFO *)rec->ExceptionInformation;
+
+ if (threadname->dwThreadID == -1)
+ {
+#ifdef HAVE_PRCTL
+#ifndef PR_SET_NAME
+# define PR_SET_NAME 15
+#endif
+ prctl( PR_SET_NAME, threadname->szName );
+#endif
+ }
+ }
+
SERVER_START_REQ( queue_exception_event )
{
req->first = first_chance;
From 7e91b897e69854cb3afe761f48ef7c9b496ecf95 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
Date: Wed, 1 May 2019 12:28:12 +0200
Subject: [PATCH] vulkan-1: Prefer built-in DLL.
Games may ship with their own Vulkan loader.
---
dlls/vulkan-1/vulkan.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
index d3b35603a17..4926cf9bf4f 100644
--- a/dlls/vulkan-1/vulkan.c
+++ b/dlls/vulkan-1/vulkan.c
@@ -32,10 +32,6 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, void *reserved)
switch (reason)
{
- case DLL_WINE_PREATTACH:
- /* Prefer native as it provides more functionality. */
- return FALSE;
-
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(hinst);
return TRUE;
From 90e3616c89ef7ed38763a3e3af3e9f0cd59697da Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov@codeweavers.com>
Date: Wed, 8 Mar 2017 20:15:40 +0300
Subject: [PATCH] HACK: dwrite: Don't recommend outline rendering mode
---
dlls/dwrite/font.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index e22559912c3..41ec809b727 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -740,7 +740,8 @@ static HRESULT WINAPI dwritefontface_GetRecommendedRenderingMode(IDWriteFontFace
ppem = emSize * ppdip;
- if (ppem >= RECOMMENDED_OUTLINE_AA_THRESHOLD) {
+ /* HACK: disable outline rendering mode to workaround d2d issue */
+ if (0 && ppem >= RECOMMENDED_OUTLINE_AA_THRESHOLD) {
*mode = DWRITE_RENDERING_MODE_OUTLINE;
return S_OK;
}
From 5c59517008697ce74becddb59a3e6702a963bb49 Mon Sep 17 00:00:00 2001
From: Zhiyi Zhang <zzhang@codeweavers.com>
Date: Fri, 16 Aug 2019 09:46:25 +0000
Subject: [PATCH] msctf: Use list to keep thread managers.
Thread managers were stored in thread local storage,
which have a major flaw that they can't not be released
by another thread.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
---
dlls/msctf/msctf.c | 46 +++++++----------------
dlls/msctf/msctf_internal.h | 1 -
dlls/msctf/threadmgr.c | 73 ++++++++++++++++++++++++++++++++-----
3 files changed, 76 insertions(+), 44 deletions(-)
diff --git a/dlls/msctf/msctf.c b/dlls/msctf/msctf.c
index c6e3a2ca597..fd919295c5a 100644
--- a/dlls/msctf/msctf.c
+++ b/dlls/msctf/msctf.c
@@ -69,7 +69,6 @@ static UINT array_size;
static struct list AtsList = LIST_INIT(AtsList);
static UINT activated = 0;
-DWORD tlsIndex = 0;
TfClientId processId = 0;
ITfCompartmentMgr *globalCompartmentMgr = NULL;
@@ -397,23 +396,19 @@ HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp)
ActivatedTextService *actsvr;
ITfCategoryMgr *catmgr;
AtsEntry *entry;
- ITfThreadMgrEx *tm = TlsGetValue(tlsIndex);
+ ITfThreadMgr *tm;
ITfClientId *clientid;
- if (!tm) return E_UNEXPECTED;
+ if (FAILED(TF_GetThreadMgr(&tm))) return E_UNEXPECTED;
actsvr = HeapAlloc(GetProcessHeap(),0,sizeof(ActivatedTextService));
- if (!actsvr) return E_OUTOFMEMORY;
+ if (!actsvr) goto fail;
- ITfThreadMgrEx_QueryInterface(tm, &IID_ITfClientId, (void **)&clientid);
+ ITfThreadMgr_QueryInterface(tm, &IID_ITfClientId, (void **)&clientid);
ITfClientId_GetClientId(clientid, &lp->clsid, &actsvr->tid);
ITfClientId_Release(clientid);
- if (!actsvr->tid)
- {
- HeapFree(GetProcessHeap(),0,actsvr);
- return E_OUTOFMEMORY;
- }
+ if (!actsvr->tid) goto fail;
actsvr->pITfTextInputProcessor = NULL;
actsvr->LanguageProfile = *lp;
@@ -440,20 +435,21 @@ HRESULT add_active_textservice(TF_LANGUAGEPROFILE *lp)
deactivate_remove_conflicting_ts(&actsvr->LanguageProfile.catid);
if (activated > 0)
- activate_given_ts(actsvr, tm);
+ activate_given_ts(actsvr, (ITfThreadMgrEx *)tm);
entry = HeapAlloc(GetProcessHeap(),0,sizeof(AtsEntry));
-
- if (!entry)
- {
- HeapFree(GetProcessHeap(),0,actsvr);
- return E_OUTOFMEMORY;
- }
+ if (!entry) goto fail;
entry->ats = actsvr;
list_add_head(&AtsList, &entry->entry);
+ ITfThreadMgr_Release(tm);
return S_OK;
+
+fail:
+ ITfThreadMgr_Release(tm);
+ HeapFree(GetProcessHeap(), 0, actsvr);
+ return E_OUTOFMEMORY;
}
BOOL get_active_textservice(REFCLSID rclsid, TF_LANGUAGEPROFILE *profile)
@@ -560,11 +556,9 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
MSCTF_hinstance = hinst;
- tlsIndex = TlsAlloc();
break;
case DLL_PROCESS_DETACH:
if (fImpLoad) break;
- TlsFree(tlsIndex);
break;
}
return TRUE;
@@ -622,20 +616,6 @@ HRESULT WINAPI TF_CreateThreadMgr(ITfThreadMgr **pptim)
return ThreadMgr_Constructor(NULL,(IUnknown**)pptim);
}
-/***********************************************************************
- * TF_GetThreadMgr (MSCTF.@)
- */
-HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim)
-{
- TRACE("\n");
- *pptim = TlsGetValue(tlsIndex);
-
- if (*pptim)
- ITfThreadMgr_AddRef(*pptim);
-
- return S_OK;
-}
-
/***********************************************************************
* SetInputScope(MSCTF.@)
*/
diff --git a/dlls/msctf/msctf_internal.h b/dlls/msctf/msctf_internal.h
index 584bb1044ed..ace2bee23d9 100644
--- a/dlls/msctf/msctf_internal.h
+++ b/dlls/msctf/msctf_internal.h
@@ -35,7 +35,6 @@
#define COOKIE_MAGIC_UIELEMENTSINK 0x00a0
#define COOKIE_MAGIC_INPUTPROCESSORPROFILEACTIVATIONSINK 0x00b0
-extern DWORD tlsIndex DECLSPEC_HIDDEN;
extern TfClientId processId DECLSPEC_HIDDEN;
extern ITfCompartmentMgr *globalCompartmentMgr DECLSPEC_HIDDEN;
diff --git a/dlls/msctf/threadmgr.c b/dlls/msctf/threadmgr.c
index 2c208fbc04f..2119ea2193b 100644
--- a/dlls/msctf/threadmgr.c
+++ b/dlls/msctf/threadmgr.c
@@ -37,6 +37,17 @@
WINE_DEFAULT_DEBUG_CHANNEL(msctf);
+static CRITICAL_SECTION ThreadMgrCs;
+static CRITICAL_SECTION_DEBUG ThreadMgrCsDebug =
+{
+ 0, 0, &ThreadMgrCs,
+ {&ThreadMgrCsDebug.ProcessLocksList,
+ &ThreadMgrCsDebug.ProcessLocksList },
+ 0, 0, {(DWORD_PTR)(__FILE__ ": ThreadMgrCs")}
+};
+static CRITICAL_SECTION ThreadMgrCs = {&ThreadMgrCsDebug, -1, 0, 0, 0, 0};
+struct list ThreadMgrList = LIST_INIT(ThreadMgrList);
+
typedef struct tagPreservedKey
{
struct list entry;
@@ -98,6 +109,9 @@ typedef struct tagACLMulti {
struct list ThreadMgrEventSink;
struct list UIElementSink;
struct list InputProcessorProfileActivationSink;
+
+ DWORD threadId;
+ struct list entry;
} ThreadMgr;
typedef struct tagEnumTfDocumentMgr {
@@ -110,6 +124,11 @@ typedef struct tagEnumTfDocumentMgr {
static HRESULT EnumTfDocumentMgr_Constructor(struct list* head, IEnumTfDocumentMgrs **ppOut);
+static inline ThreadMgr *impl_from_ITfThreadMgr(ITfThreadMgr *iface)
+{
+ return CONTAINING_RECORD(iface, ThreadMgr, ITfThreadMgrEx_iface);
+}
+
static inline ThreadMgr *impl_from_ITfThreadMgrEx(ITfThreadMgrEx *iface)
{
return CONTAINING_RECORD(iface, ThreadMgr, ITfThreadMgrEx_iface);
@@ -155,6 +174,35 @@ static inline EnumTfDocumentMgr *impl_from_IEnumTfDocumentMgrs(IEnumTfDocumentMg
return CONTAINING_RECORD(iface, EnumTfDocumentMgr, IEnumTfDocumentMgrs_iface);
}
+/***********************************************************************
+ * TF_GetThreadMgr (MSCTF.@)
+ */
+HRESULT WINAPI TF_GetThreadMgr(ITfThreadMgr **pptim)
+{
+ DWORD id = GetCurrentThreadId();
+ ThreadMgr *cursor;
+
+ TRACE("%p\n", pptim);
+
+ if (!pptim)
+ return E_INVALIDARG;
+
+ EnterCriticalSection(&ThreadMgrCs);
+ LIST_FOR_EACH_ENTRY(cursor, &ThreadMgrList, ThreadMgr, entry)
+ {
+ if (cursor->threadId == id)
+ {
+ ITfThreadMgrEx_AddRef(&cursor->ITfThreadMgrEx_iface);
+ *pptim = (ITfThreadMgr *)&cursor->ITfThreadMgrEx_iface;
+ LeaveCriticalSection(&ThreadMgrCs);
+ return S_OK;
+ }
+ }
+ LeaveCriticalSection(&ThreadMgrCs);
+ *pptim = NULL;
+ return E_FAIL;
+}
+
static void ThreadMgr_Destructor(ThreadMgr *This)
{
struct list *cursor, *cursor2;
@@ -163,7 +211,9 @@ static void ThreadMgr_Destructor(ThreadMgr *This)
if (This->focusHook)
UnhookWindowsHookEx(This->focusHook);
- TlsSetValue(tlsIndex,NULL);
+ EnterCriticalSection(&ThreadMgrCs);
+ list_remove(&This->entry);
+ LeaveCriticalSection(&ThreadMgrCs);
TRACE("destroying %p\n", This);
if (This->focus)
ITfDocumentMgr_Release(This->focus);
@@ -386,17 +436,20 @@ static HRESULT WINAPI ThreadMgr_SetFocus(ITfThreadMgrEx *iface, ITfDocumentMgr *
static LRESULT CALLBACK ThreadFocusHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
+ ITfThreadMgr *ThreadMgr_iface;
ThreadMgr *This;
- This = TlsGetValue(tlsIndex);
- if (!This)
+ if (FAILED(TF_GetThreadMgr(&ThreadMgr_iface)))
{
ERR("Hook proc but no ThreadMgr for this thread. Serious Error\n");
return 0;
}
+
+ This = impl_from_ITfThreadMgr(ThreadMgr_iface);
if (!This->focusHook)
{
ERR("Hook proc but no ThreadMgr focus Hook. Serious Error\n");
+ ITfThreadMgr_Release(ThreadMgr_iface);
return 0;
}
@@ -417,6 +470,7 @@ static LRESULT CALLBACK ThreadFocusHookProc(int nCode, WPARAM wParam, LPARAM lPa
}
}
+ ITfThreadMgr_Release(ThreadMgr_iface);
return CallNextHookEx(This->focusHook, nCode, wParam, lParam);
}
@@ -1338,13 +1392,8 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
return CLASS_E_NOAGGREGATION;
/* Only 1 ThreadMgr is created per thread */
- This = TlsGetValue(tlsIndex);
- if (This)
- {
- ThreadMgr_AddRef(&This->ITfThreadMgrEx_iface);
- *ppOut = (IUnknown*)&This->ITfThreadMgrEx_iface;
+ if (SUCCEEDED(TF_GetThreadMgr((ITfThreadMgr **)ppOut)))
return S_OK;
- }
This = HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(ThreadMgr));
if (This == NULL)
@@ -1359,7 +1408,6 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
This->ITfUIElementMgr_iface.lpVtbl = &ThreadMgrUIElementMgrVtbl;
This->ITfSourceSingle_iface.lpVtbl = &SourceSingleVtbl;
This->refCount = 1;
- TlsSetValue(tlsIndex,This);
CompartmentMgr_Constructor((IUnknown*)&This->ITfThreadMgrEx_iface, &IID_IUnknown, (IUnknown**)&This->CompartmentMgr);
@@ -1376,6 +1424,11 @@ HRESULT ThreadMgr_Constructor(IUnknown *pUnkOuter, IUnknown **ppOut)
list_init(&This->UIElementSink);
list_init(&This->InputProcessorProfileActivationSink);
+ This->threadId = GetCurrentThreadId();
+ EnterCriticalSection(&ThreadMgrCs);
+ list_add_tail(&ThreadMgrList, &This->entry);
+ LeaveCriticalSection(&ThreadMgrCs);
+
TRACE("returning %p\n", This);
*ppOut = (IUnknown *)&This->ITfThreadMgrEx_iface;
return S_OK;
From ed04e35d3f7af02267fb4e21578b3ccb27703836 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Mon, 23 Sep 2019 13:29:16 -0500
Subject: [PATCH] dxdiag: Dump to stdout if no filename is given
---
programs/dxdiag/main.c | 8 +++++++-
programs/dxdiag/output.c | 10 +++++++---
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/programs/dxdiag/main.c b/programs/dxdiag/main.c
index 4533236f0f5..353e9f50fb9 100644
--- a/programs/dxdiag/main.c
+++ b/programs/dxdiag/main.c
@@ -71,7 +71,13 @@ static BOOL process_file_name(const WCHAR *cmdline, enum output_type output_type
endptr = cmdline + lstrlenW(cmdline);
len = endptr - cmdline;
- if (len == 0 || len >= filename_len)
+ if (len == 0)
+ {
+ *filename = 0;
+ return TRUE;
+ }
+
+ if (len >= filename_len)
return FALSE;
memcpy(filename, cmdline, len * sizeof(WCHAR));
diff --git a/programs/dxdiag/output.c b/programs/dxdiag/output.c
index 50240fb2860..f0f6a6da0c3 100644
--- a/programs/dxdiag/output.c
+++ b/programs/dxdiag/output.c
@@ -169,8 +169,12 @@ static BOOL output_text_information(struct dxdiag_information *dxdiag_info, cons
fill_system_text_output_table(dxdiag_info, output_table[0].fields);
- hFile = CreateFileW(filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (filename && *filename)
+ hFile = CreateFileW(filename, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE,
+ NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ else
+ hFile = GetStdHandle(STD_OUTPUT_HANDLE);
+
if (hFile == INVALID_HANDLE_VALUE)
{
WINE_ERR("File creation failed, last error %u\n", GetLastError());
@@ -227,7 +231,7 @@ static HRESULT save_xml_document(IXMLDOMDocument *xmldoc, const WCHAR *filename)
VARIANT destVar;
HRESULT hr;
- if (!bstr)
+ if (!bstr || !filename || !*filename)
return E_OUTOFMEMORY;
V_VT(&destVar) = VT_BSTR;
From e485252dfad51a7e463643d56fe138129597e4b6 Mon Sep 17 00:00:00 2001
From: Brendan Shanks <bshanks@codeweavers.com>
Date: Mon, 23 Sep 2019 08:56:04 -0500
Subject: [PATCH] ntdll: Always add a tail to heap allocations.
Fixes the Rockstar Games Launcher installer (and possibly other
NSIS-based installers) from crashing due to passing a too-small buffer
to GetWindowInfo().
---
dlls/ntdll/heap.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/heap.c b/dlls/ntdll/heap.c
index 6344157f384..6fefe5d6d80 100644
--- a/dlls/ntdll/heap.c
+++ b/dlls/ntdll/heap.c
@@ -118,9 +118,8 @@ C_ASSERT( sizeof(ARENA_LARGE) % LARGE_ALIGNMENT == 0 );
#define HEAP_MIN_SHRINK_SIZE (HEAP_MIN_DATA_SIZE+sizeof(ARENA_FREE))
/* minimum size to start allocating large blocks */
#define HEAP_MIN_LARGE_BLOCK_SIZE 0x7f000
-/* extra size to add at the end of block for tail checking */
-#define HEAP_TAIL_EXTRA_SIZE(flags) \
- ((flags & HEAP_TAIL_CHECKING_ENABLED) || RUNNING_ON_VALGRIND ? ALIGNMENT : 0)
+/* extra size to add at the end of block to mitigate overruns and allow tail checking */
+#define HEAP_TAIL_EXTRA_SIZE ALIGNMENT
/* size of the blocks on the free lists */
#define HEAP_FREELIST_SIZE(index) \
@@ -800,7 +799,7 @@ static void HEAP_ShrinkBlock(SUBHEAP *subheap, ARENA_INUSE *pArena, SIZE_T size)
static void *allocate_large_block( HEAP *heap, DWORD flags, SIZE_T size )
{
ARENA_LARGE *arena;
- SIZE_T block_size = sizeof(*arena) + ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE(flags);
+ SIZE_T block_size = sizeof(*arena) + ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE;
LPVOID address = NULL;
if (block_size < size) return NULL; /* overflow */
@@ -1814,7 +1813,7 @@ void * WINAPI DECLSPEC_HOTPATCH RtlAllocateHeap( HANDLE heap, ULONG flags, SIZE_
if (!heapPtr) return NULL;
flags &= HEAP_GENERATE_EXCEPTIONS | HEAP_NO_SERIALIZE | HEAP_ZERO_MEMORY;
flags |= heapPtr->flags;
- rounded_size = ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE( flags );
+ rounded_size = ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE;
if (rounded_size < size) /* overflow */
{
if (flags & HEAP_GENERATE_EXCEPTIONS) RtlRaiseStatus( STATUS_NO_MEMORY );
@@ -1968,7 +1967,7 @@ PVOID WINAPI RtlReAllocateHeap( HANDLE heap, ULONG flags, PVOID ptr, SIZE_T size
flags |= heapPtr->flags;
if (!(flags & HEAP_NO_SERIALIZE)) RtlEnterCriticalSection( &heapPtr->critSection );
- rounded_size = ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE(flags);
+ rounded_size = ROUND_SIZE(size) + HEAP_TAIL_EXTRA_SIZE;
if (rounded_size < size) goto oom; /* overflow */
if (rounded_size < HEAP_MIN_DATA_SIZE) rounded_size = HEAP_MIN_DATA_SIZE;
From 5cd65deffffad9073538acf4fd8e794ac07824a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Wed, 9 Oct 2019 09:47:12 +0200
Subject: [PATCH] makedep: Align PE sections so they can be directly mmaped.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This should help linux perf tool match the binary files on disk with the
code regions in memory.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
---
tools/makedep.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/makedep.c b/tools/makedep.c
index 6079d1fe28b..18e7b8a913e 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -3245,6 +3245,7 @@ static void output_module( struct makefile *make )
output_filenames_obj_dir( make, make->res_files );
output_filenames( all_libs );
output_filename( make->is_cross ? "$(CROSSLDFLAGS)" : "$(LDFLAGS)" );
+ output_filename( make->is_cross ? "-Wl,--file-alignment,4096" : "" );
output( "\n" );
if (spec_file && make->importlib)
From 213905a322620eb326b655ab89fbca07316e6357 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Tue, 19 Nov 2019 09:59:17 -0600
Subject: [PATCH] HACK: dxgi: Return empty GPU string for Crazy Machines 3
If the GPU string is long enough, the game will crash trying to
dereference part of it. Probably this is due to missing Media Foundation
support. Try to remove this hack after the game's videos successfully
play back.
---
dlls/dxgi/adapter.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c
index d2fc629c843..5a97590dbce 100644
--- a/dlls/dxgi/adapter.c
+++ b/dlls/dxgi/adapter.c
@@ -161,12 +161,32 @@ static HRESULT dxgi_adapter_get_desc(struct dxgi_adapter *adapter, DXGI_ADAPTER_
if (FAILED(hr = wined3d_get_adapter_identifier(adapter->factory->wined3d, adapter->ordinal, 0, &adapter_id)))
return hr;
+ {
+ /* HACK for Proton issue #3204
+ *
+ * Due to reading uninitialized memory, the game tries to dereference
+ * part of the GPU Description string if it is long enough. So return
+ * an empty string instead.
+ *
+ * See the bug report for the full description, but we may be able to
+ * remove this hack after implementing enough of Media Foundation for
+ * this game's videos to play back.
+ */
+ const char *sgi = getenv("SteamGameId");
+ if(sgi && !strcmp(sgi, "351920"))
+ {
+ desc->Description[0] = 0;
+ goto skip_description;
+ }
+ }
+
if (!MultiByteToWideChar(CP_ACP, 0, description, -1, desc->Description, ARRAY_SIZE(description)))
{
DWORD err = GetLastError();
ERR("Failed to translate description %s (%#x).\n", debugstr_a(description), err);
hr = E_FAIL;
}
+skip_description:
desc->VendorId = adapter_id.vendor_id;
desc->DeviceId = adapter_id.device_id;
From 4aa052e0c8ae276fc07afcd93d6e290a88214837 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Wed, 15 Jan 2020 10:17:23 -0600
Subject: [PATCH] dsound: Initialize primary buffer with device's channel
layout
Fixes surround sound in some games, like Borderlands GOTY and Dead
Space.
---
dlls/dsound/dsound.c | 77 +-----------------------------------
dlls/dsound/dsound_private.h | 1 -
dlls/dsound/primary.c | 75 ++++++++++++++++++++++++++++++++++-
3 files changed, 76 insertions(+), 77 deletions(-)
diff --git a/dlls/dsound/dsound.c b/dlls/dsound/dsound.c
index 8e2b839fe89..630d8c7e16a 100644
--- a/dlls/dsound/dsound.c
+++ b/dlls/dsound/dsound.c
@@ -23,7 +23,6 @@
#include <assert.h>
#include <stdarg.h>
#include <stdio.h>
-#include <math.h>
#define COBJMACROS
@@ -138,9 +137,9 @@ static HRESULT DirectSoundDevice_Create(DirectSoundDevice ** ppDevice)
device->ref = 1;
device->priolevel = DSSCL_NORMAL;
device->stopped = 1;
- device->speaker_config = DSSPEAKER_COMBINED(DSSPEAKER_STEREO, DSSPEAKER_GEOMETRY_WIDE);
- DSOUND_ParseSpeakerConfig(device);
+ device->speaker_config = 0;
+ device->num_speakers = 0;
/* 3D listener initial parameters */
device->ds3dl.dwSize = sizeof(DS3DLISTENER);
@@ -1127,75 +1126,3 @@ HRESULT WINAPI DirectSoundCreate8(
return hr;
}
-
-void DSOUND_ParseSpeakerConfig(DirectSoundDevice *device)
-{
- switch (DSSPEAKER_CONFIG(device->speaker_config)) {
- case DSSPEAKER_MONO:
- device->speaker_angles[0] = M_PI/180.0f * 0.0f;
- device->speaker_num[0] = 0;
- device->num_speakers = 1;
- device->lfe_channel = -1;
- break;
-
- case DSSPEAKER_STEREO:
- case DSSPEAKER_HEADPHONE:
- device->speaker_angles[0] = M_PI/180.0f * -90.0f;
- device->speaker_angles[1] = M_PI/180.0f * 90.0f;
- device->speaker_num[0] = 0; /* Left */
- device->speaker_num[1] = 1; /* Right */
- device->num_speakers = 2;
- device->lfe_channel = -1;
- break;
-
- case DSSPEAKER_QUAD:
- device->speaker_angles[0] = M_PI/180.0f * -135.0f;
- device->speaker_angles[1] = M_PI/180.0f * -45.0f;
- device->speaker_angles[2] = M_PI/180.0f * 45.0f;
- device->speaker_angles[3] = M_PI/180.0f * 135.0f;
- device->speaker_num[0] = 2; /* Rear left */
- device->speaker_num[1] = 0; /* Front left */
- device->speaker_num[2] = 1; /* Front right */
- device->speaker_num[3] = 3; /* Rear right */
- device->num_speakers = 4;
- device->lfe_channel = -1;
- break;
-
- case DSSPEAKER_5POINT1_BACK:
- device->speaker_angles[0] = M_PI/180.0f * -135.0f;
- device->speaker_angles[1] = M_PI/180.0f * -45.0f;
- device->speaker_angles[2] = M_PI/180.0f * 0.0f;
- device->speaker_angles[3] = M_PI/180.0f * 45.0f;
- device->speaker_angles[4] = M_PI/180.0f * 135.0f;
- device->speaker_angles[5] = 9999.0f;
- device->speaker_num[0] = 4; /* Rear left */
- device->speaker_num[1] = 0; /* Front left */
- device->speaker_num[2] = 2; /* Front centre */
- device->speaker_num[3] = 1; /* Front right */
- device->speaker_num[4] = 5; /* Rear right */
- device->speaker_num[5] = 3; /* LFE */
- device->num_speakers = 6;
- device->lfe_channel = 3;
- break;
-
- case DSSPEAKER_5POINT1_SURROUND:
- device->speaker_angles[0] = M_PI/180.0f * -90.0f;
- device->speaker_angles[1] = M_PI/180.0f * -30.0f;
- device->speaker_angles[2] = M_PI/180.0f * 0.0f;
- device->speaker_angles[3] = M_PI/180.0f * 30.0f;
- device->speaker_angles[4] = M_PI/180.0f * 90.0f;
- device->speaker_angles[5] = 9999.0f;
- device->speaker_num[0] = 4; /* Rear left */
- device->speaker_num[1] = 0; /* Front left */
- device->speaker_num[2] = 2; /* Front centre */
- device->speaker_num[3] = 1; /* Front right */
- device->speaker_num[4] = 5; /* Rear right */
- device->speaker_num[5] = 3; /* LFE */
- device->num_speakers = 6;
- device->lfe_channel = 3;
- break;
-
- default:
- WARN("unknown speaker_config %u\n", device->speaker_config);
- }
-}
diff --git a/dlls/dsound/dsound_private.h b/dlls/dsound/dsound_private.h
index 69c4a2f3902..1a3e88a0d29 100644
--- a/dlls/dsound/dsound_private.h
+++ b/dlls/dsound/dsound_private.h
@@ -202,7 +202,6 @@ HRESULT IKsPrivatePropertySetImpl_Create(REFIID riid, void **ppv) DECLSPEC_HIDDE
HRESULT DSOUND_Create(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
HRESULT DSOUND_Create8(REFIID riid, void **ppv) DECLSPEC_HIDDEN;
HRESULT IDirectSoundImpl_Create(IUnknown *outer_unk, REFIID riid, void **ppv, BOOL has_ds8) DECLSPEC_HIDDEN;
-void DSOUND_ParseSpeakerConfig(DirectSoundDevice *device) DECLSPEC_HIDDEN;
/* primary.c */
diff --git a/dlls/dsound/primary.c b/dlls/dsound/primary.c
index 852ec51b7ff..fdbbc00cd33 100644
--- a/dlls/dsound/primary.c
+++ b/dlls/dsound/primary.c
@@ -24,6 +24,7 @@
*/
#include <stdarg.h>
+#include <math.h>
#define COBJMACROS
#define NONAMELESSUNION
@@ -110,6 +111,78 @@ static DWORD DSOUND_FindSpeakerConfig(IMMDevice *mmdevice, int channels)
return def;
}
+static void DSOUND_ParseSpeakerConfig(DirectSoundDevice *device)
+{
+ switch (DSSPEAKER_CONFIG(device->speaker_config)) {
+ case DSSPEAKER_MONO:
+ device->speaker_angles[0] = M_PI/180.0f * 0.0f;
+ device->speaker_num[0] = 0;
+ device->num_speakers = 1;
+ device->lfe_channel = -1;
+ break;
+
+ case DSSPEAKER_STEREO:
+ case DSSPEAKER_HEADPHONE:
+ device->speaker_angles[0] = M_PI/180.0f * -90.0f;
+ device->speaker_angles[1] = M_PI/180.0f * 90.0f;
+ device->speaker_num[0] = 0; /* Left */
+ device->speaker_num[1] = 1; /* Right */
+ device->num_speakers = 2;
+ device->lfe_channel = -1;
+ break;
+
+ case DSSPEAKER_QUAD:
+ device->speaker_angles[0] = M_PI/180.0f * -135.0f;
+ device->speaker_angles[1] = M_PI/180.0f * -45.0f;
+ device->speaker_angles[2] = M_PI/180.0f * 45.0f;
+ device->speaker_angles[3] = M_PI/180.0f * 135.0f;
+ device->speaker_num[0] = 2; /* Rear left */
+ device->speaker_num[1] = 0; /* Front left */
+ device->speaker_num[2] = 1; /* Front right */
+ device->speaker_num[3] = 3; /* Rear right */
+ device->num_speakers = 4;
+ device->lfe_channel = -1;
+ break;
+
+ case DSSPEAKER_5POINT1_BACK:
+ device->speaker_angles[0] = M_PI/180.0f * -135.0f;
+ device->speaker_angles[1] = M_PI/180.0f * -45.0f;
+ device->speaker_angles[2] = M_PI/180.0f * 0.0f;
+ device->speaker_angles[3] = M_PI/180.0f * 45.0f;
+ device->speaker_angles[4] = M_PI/180.0f * 135.0f;
+ device->speaker_angles[5] = 9999.0f;
+ device->speaker_num[0] = 4; /* Rear left */
+ device->speaker_num[1] = 0; /* Front left */
+ device->speaker_num[2] = 2; /* Front centre */
+ device->speaker_num[3] = 1; /* Front right */
+ device->speaker_num[4] = 5; /* Rear right */
+ device->speaker_num[5] = 3; /* LFE */
+ device->num_speakers = 6;
+ device->lfe_channel = 3;
+ break;
+
+ case DSSPEAKER_5POINT1_SURROUND:
+ device->speaker_angles[0] = M_PI/180.0f * -90.0f;
+ device->speaker_angles[1] = M_PI/180.0f * -30.0f;
+ device->speaker_angles[2] = M_PI/180.0f * 0.0f;
+ device->speaker_angles[3] = M_PI/180.0f * 30.0f;
+ device->speaker_angles[4] = M_PI/180.0f * 90.0f;
+ device->speaker_angles[5] = 9999.0f;
+ device->speaker_num[0] = 4; /* Rear left */
+ device->speaker_num[1] = 0; /* Front left */
+ device->speaker_num[2] = 2; /* Front centre */
+ device->speaker_num[3] = 1; /* Front right */
+ device->speaker_num[4] = 5; /* Rear right */
+ device->speaker_num[5] = 3; /* LFE */
+ device->num_speakers = 6;
+ device->lfe_channel = 3;
+ break;
+
+ default:
+ WARN("unknown speaker_config %u\n", device->speaker_config);
+ }
+}
+
static HRESULT DSOUND_WaveFormat(DirectSoundDevice *device, IAudioClient *client,
BOOL forcewave, WAVEFORMATEX **wfx)
{
@@ -124,7 +197,7 @@ static HRESULT DSOUND_WaveFormat(DirectSoundDevice *device, IAudioClient *client
if (FAILED(hr))
return hr;
- if (mixwfe->Format.nChannels < device->num_speakers) {
+ if (device->num_speakers == 0 || mixwfe->Format.nChannels < device->num_speakers) {
device->speaker_config = DSOUND_FindSpeakerConfig(device->mmdevice, mixwfe->Format.nChannels);
DSOUND_ParseSpeakerConfig(device);
} else if (mixwfe->Format.nChannels > device->num_speakers) {
From 749bf5fcd5f41a39301428a7fccd1e4febcd6f90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
Date: Fri, 13 Dec 2019 15:54:28 +0200
Subject: [PATCH] dwmapi: Improve DwmGetWindowAttribute stub.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
---
dlls/dwmapi/dwmapi_main.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
index 6378a091f0b..e976fda77f2 100644
--- a/dlls/dwmapi/dwmapi_main.c
+++ b/dlls/dwmapi/dwmapi_main.c
@@ -205,9 +205,31 @@ BOOL WINAPI DwmDefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam,
*/
HRESULT WINAPI DwmGetWindowAttribute(HWND hwnd, DWORD attribute, PVOID pv_attribute, DWORD size)
{
- FIXME("(%p %d %p %d) stub\n", hwnd, attribute, pv_attribute, size);
+ if (!hwnd) return E_HANDLE;
+ if (!pv_attribute) return E_INVALIDARG;
- return E_NOTIMPL;
+ switch (attribute)
+ {
+ case DWMWA_NCRENDERING_ENABLED:
+ if (size < sizeof(BOOL)) return E_INVALIDARG;
+
+ WARN("DWMWA_NCRENDERING_ENABLED: always returning FALSE.\n");
+ *(BOOL*)(pv_attribute) = FALSE;
+ break;
+
+ case DWMWA_CLOAKED:
+ if (size < sizeof(DWORD)) return E_INVALIDARG;
+
+ WARN("DWMWA_CLOAKED: always returning 0.\n");
+ *(DWORD*)(pv_attribute) = 0;
+ break;
+
+ default:
+ FIXME("unimplemented attribute %d, size %u, for hwnd %p.\n", attribute, size, hwnd);
+ return E_INVALIDARG;
+ }
+
+ return S_OK;
}
/**********************************************************************
From 1a2e600a9c35a9558b32e7986668d7dc81c8b5ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gabriel=20Iv=C4=83ncescu?= <gabrielopcode@gmail.com>
Date: Fri, 13 Dec 2019 15:54:30 +0200
Subject: [PATCH] dwmapi: Add partial implementation of
DWMWA_EXTENDED_FRAME_BOUNDS.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
---
dlls/dwmapi/Makefile.in | 1 +
dlls/dwmapi/dwmapi_main.c | 7 +++++++
dlls/dwmapi/tests/dwmapi.c | 14 ++++++++++++++
3 files changed, 22 insertions(+)
diff --git a/dlls/dwmapi/Makefile.in b/dlls/dwmapi/Makefile.in
index 3a3691326f8..d273a22c8f3 100644
--- a/dlls/dwmapi/Makefile.in
+++ b/dlls/dwmapi/Makefile.in
@@ -1,5 +1,6 @@
MODULE = dwmapi.dll
IMPORTLIB = dwmapi
+IMPORTS = user32
EXTRADLLFLAGS = -mno-cygwin
diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c
index e976fda77f2..212c88c5a02 100644
--- a/dlls/dwmapi/dwmapi_main.c
+++ b/dlls/dwmapi/dwmapi_main.c
@@ -217,6 +217,13 @@ HRESULT WINAPI DwmGetWindowAttribute(HWND hwnd, DWORD attribute, PVOID pv_attrib
*(BOOL*)(pv_attribute) = FALSE;
break;
+ case DWMWA_EXTENDED_FRAME_BOUNDS:
+ if (size < sizeof(RECT)) return HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER);
+
+ WARN("DWMWA_EXTENDED_FRAME_BOUNDS: returning window rect.\n");
+ GetWindowRect(hwnd, pv_attribute);
+ break;
+
case DWMWA_CLOAKED:
if (size < sizeof(DWORD)) return E_INVALIDARG;
From c099ae745b3a63edee1677a2da01cab5aa5b8562 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Tue, 28 Jan 2020 14:30:43 -0600
Subject: [PATCH] winegstreamer: HACK: Try harder to register winegstreamer
filters.
The IDL declarations should actually be unnecessary with the quartz part, but there's a chance that an application will try to create filters before it creates the graph.
---
dlls/quartz/filtergraph.c | 17 +++++++++++++++++
dlls/winegstreamer/winegstreamer_classes.idl | 21 +++++++++++++++++++++
2 files changed, 38 insertions(+)
diff --git a/dlls/quartz/filtergraph.c b/dlls/quartz/filtergraph.c
index 1ed41bdcec5..0af6e1ded5f 100644
--- a/dlls/quartz/filtergraph.c
+++ b/dlls/quartz/filtergraph.c
@@ -5681,11 +5681,28 @@ static const IUnknownVtbl IInner_VTable =
FilterGraphInner_Release
};
+static BOOL CALLBACK register_winegstreamer_proc(INIT_ONCE *once, void *param, void **ctx)
+{
+ HMODULE mod = LoadLibraryW(L"winegstreamer.dll");
+ if (mod)
+ {
+ HRESULT (WINAPI *proc)(void) = (void *)GetProcAddress(mod, "DllRegisterServer");
+ proc();
+ FreeLibrary(mod);
+ }
+ return TRUE;
+}
+
static HRESULT filter_graph_common_create(IUnknown *outer, IUnknown **out, BOOL threaded)
{
+ static INIT_ONCE once = INIT_ONCE_STATIC_INIT;
struct filter_graph *object;
HRESULT hr;
+ /* HACK: our build system makes it difficult to load gstreamer on prefix
+ * creation, so it won't get registered. Do that here instead. */
+ InitOnceExecuteOnce(&once, register_winegstreamer_proc, NULL, NULL);
+
*out = NULL;
fimpl = CoTaskMemAlloc(sizeof(*fimpl));
From 52c36274080a6edc1f1420b08df1ecf0defa9ca3 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 5 Dec 2019 12:41:57 -0600
Subject: [PATCH] bcrypt: Fallback to _gnutls_decode_ber_rs_raw if
gnutls_decode_rs_value is unavailable.
This can be removed when the runtime ships gnutls >= 3.6
---
dlls/bcrypt/gnutls.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
index 868f898bbbb..95f498123ea 100644
--- a/dlls/bcrypt/gnutls.c
+++ b/dlls/bcrypt/gnutls.c
@@ -267,8 +267,11 @@ BOOL gnutls_initialize(void)
}
if (!(pgnutls_decode_rs_value = dlsym( libgnutls_handle, "gnutls_decode_rs_value" )))
{
- WARN("gnutls_decode_rs_value not found\n");
- pgnutls_decode_rs_value = compat_gnutls_decode_rs_value;
+ if (!(pgnutls_decode_rs_value = dlsym( libgnutls_handle, "_gnutls_decode_ber_rs_raw" )))
+ {
+ WARN("gnutls_decode_rs_value and legacy alternative _gnutls_decode_ber_rs_raw not found\n");
+ pgnutls_decode_rs_value = compat_gnutls_decode_rs_value;
+ }
}
if (TRACE_ON( bcrypt ))
From 8fd9d6bd3d567893f933b7d55615446476745654 Mon Sep 17 00:00:00 2001
From: Vincent Povirk <vincent@codeweavers.com>
Date: Wed, 1 Apr 2020 11:47:05 -0500
Subject: [PATCH] winebrowser: Restore original LD_LIBRARY_PATH before calling
to system
---
programs/winebrowser/main.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/programs/winebrowser/main.c b/programs/winebrowser/main.c
index 9cd6812d032..9e5fe2f3129 100644
--- a/programs/winebrowser/main.c
+++ b/programs/winebrowser/main.c
@@ -69,6 +69,17 @@ static char *strdup_unixcp( const WCHAR *str )
return ret;
}
+static void restore_system_environment(void)
+{
+ const char* orig_ld_path = getenv("ORIG_LD_LIBRARY_PATH");
+
+ if (orig_ld_path)
+ {
+ setenv("LD_LIBRARY_PATH", orig_ld_path, 1);
+ unsetenv("ORIG_LD_LIBRARY_PATH");
+ }
+}
+
/* try to launch a unix app from a comma separated string of app names */
static int launch_app( const WCHAR *candidates, const WCHAR *argv1 )
{
@@ -78,6 +89,11 @@ static int launch_app( const WCHAR *candidates, const WCHAR *argv1 )
if (!(cmdline = strdup_unixcp( argv1 ))) return 1;
+ /* PROTON HACK: Restore ORIG_LD_LIBRARY_PATH to LD_LIBRARY_PATH.
+ * System programs may not work correctly with our libraries, in
+ * particular gio on Ubuntu 19.04 is broken by our libgio. */
+ restore_system_environment();
+
while (*candidates)
{
WCHAR **args = CommandLineToArgvW( candidates, &count );
From b739d48093cce805b7b4f48fdbd9d0bb62bc8013 Mon Sep 17 00:00:00 2001
From: Brendan Shanks <bshanks@codeweavers.com>
Date: Mon, 13 Apr 2020 16:25:47 -0700
Subject: [PATCH] HACK: dxgi: Swap around memory sizes for GTA IV
GTA IV ends up using its "Intel integrated" codepath for determining
VRAM size (since nvapi/atiadlxx fail), but this requires that
DedicatedVideoMemory is a very small dummy value, and SharedSystemMemory
is the actual VRAM size.
Swap the memory values around so this works.
---
dlls/dxgi/adapter.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c
index 5a97590dbce..a5563498cdd 100644
--- a/dlls/dxgi/adapter.c
+++ b/dlls/dxgi/adapter.c
@@ -200,6 +200,25 @@ static HRESULT dxgi_adapter_get_desc(struct dxgi_adapter *adapter, DXGI_ADAPTER_
desc->GraphicsPreemptionGranularity = 0; /* FIXME */
desc->ComputePreemptionGranularity = 0; /* FIXME */
+ {
+ /* HACK
+ *
+ * Grand Theft Auto IV first tries to get VRAM size using nvapi/atiadlxx,
+ * after that fails it falls back to the Intel integrated codepath which
+ * uses DXGI.
+ *
+ * DedicatedVideoMemory must be a dummy value less than 200 MB, then
+ * SharedSystemMemory will be used as the VRAM size.
+ * In case of failure, the game will just use 512 MB as VRAM size.
+ */
+ const char *sgi = getenv("SteamGameId");
+ if(sgi && !strcmp(sgi, "12210"))
+ {
+ desc->SharedSystemMemory = adapter_id.video_memory;
+ desc->DedicatedVideoMemory = 32 * 1024 * 1024;
+ }
+ }
+
return hr;
}
From c619409f235cf660cdd4fd3295d5e04ec628daa1 Mon Sep 17 00:00:00 2001
From: Alexey Prokhin <alexey@prokhin.ru>
Date: Thu, 23 Apr 2020 12:29:55 +0300
Subject: [PATCH] kernelbase: Set the proper error code in
GetQueuedCompletionStatus{Ex} when the handle is closed.
Planet Zoo relies on it being ERROR_ABANDONED_WAIT_0.
---
dlls/kernelbase/sync.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/kernelbase/sync.c b/dlls/kernelbase/sync.c
index 0ae3aadde92..e95ede8aed5 100644
--- a/dlls/kernelbase/sync.c
+++ b/dlls/kernelbase/sync.c
@@ -960,6 +960,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetQueuedCompletionStatus( HANDLE port, LPDWORD co
}
if (status == STATUS_TIMEOUT) SetLastError( WAIT_TIMEOUT );
+ else if (status == ERROR_WAIT_NO_CHILDREN) SetLastError( ERROR_ABANDONED_WAIT_0 );
else SetLastError( RtlNtStatusToDosError(status) );
return FALSE;
}
@@ -981,6 +982,7 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetQueuedCompletionStatusEx( HANDLE port, OVERLAPP
if (ret == STATUS_SUCCESS) return TRUE;
else if (ret == STATUS_TIMEOUT) SetLastError( WAIT_TIMEOUT );
else if (ret == STATUS_USER_APC) SetLastError( WAIT_IO_COMPLETION );
+ else if (ret == ERROR_WAIT_NO_CHILDREN) SetLastError( ERROR_ABANDONED_WAIT_0 );
else SetLastError( RtlNtStatusToDosError(ret) );
return FALSE;
}
From 0255dbc3afd3ff673fa701e7802474483252fcb2 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Mon, 13 Jul 2020 10:21:49 -0500
Subject: [PATCH] ntdll: Handle NULL object name buffer in
nt_to_unix_file_name_attr().
---
dlls/ntdll/tests/file.c | 22 +++++++++++++++++++++-
dlls/ntdll/unix/file.c | 8 ++++++++
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index 6164b0c4bde..031be95e233 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -144,16 +144,36 @@ static void create_file_test(void)
static const char testdata[] = "Hello World";
static const WCHAR sepW[] = {'\\',0};
FILE_NETWORK_OPEN_INFORMATION info;
+ UNICODE_STRING nameW, null_string;
NTSTATUS status;
HANDLE dir, file;
WCHAR path[MAX_PATH], temp[MAX_PATH];
OBJECT_ATTRIBUTES attr;
IO_STATUS_BLOCK io;
- UNICODE_STRING nameW;
LARGE_INTEGER offset;
char buf[32];
DWORD ret;
+ attr.Length = sizeof(attr);
+ attr.RootDirectory = NULL;
+ attr.ObjectName = &null_string;
+ attr.Attributes = 0;
+ attr.SecurityDescriptor = NULL;
+ attr.SecurityQualityOfService = NULL;
+
+ null_string.Buffer = NULL;
+ null_string.Length = 256;
+
+ /* try various open modes and options on directories */
+ status = pNtCreateFile( &dir, GENERIC_READ|GENERIC_WRITE, &attr, &io, NULL, 0,
+ FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, FILE_DIRECTORY_FILE, NULL, 0 );
+ ok( status == STATUS_ACCESS_VIOLATION, "Got unexpected status %#x.\n", status );
+
+ null_string.Length = 0;
+ status = pNtCreateFile( &dir, GENERIC_READ|GENERIC_WRITE, &attr, &io, NULL, 0,
+ FILE_SHARE_READ|FILE_SHARE_WRITE, FILE_OPEN, FILE_DIRECTORY_FILE, NULL, 0 );
+ ok( status == STATUS_OBJECT_PATH_SYNTAX_BAD, "Got unexpected status %#x.\n", status );
+
GetCurrentDirectoryW( MAX_PATH, path );
pRtlDosPathNameToNtPathName_U( path, &nameW, NULL, NULL );
attr.Length = sizeof(attr);
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index 20eb6a05922..d99c6b462b2 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -3185,8 +3185,16 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, char *
int name_len, unix_len;
NTSTATUS status;
+ if (!attr->ObjectName->Buffer && attr->ObjectName->Length)
+ return STATUS_ACCESS_VIOLATION;
+
if (!attr->RootDirectory) /* without root dir fall back to normal lookup */
+ {
+ if (!attr->ObjectName->Buffer)
+ return STATUS_OBJECT_PATH_SYNTAX_BAD;
+
return nt_to_unix_file_name( attr->ObjectName, name_ret, nt_name, disposition );
+ }
name = attr->ObjectName->Buffer;
name_len = attr->ObjectName->Length / sizeof(WCHAR);
From 514d3e11c999b11a95ab35df5b4ab454d34fe791 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Wed, 13 May 2020 13:55:55 +0300
Subject: [PATCH] ntdll: Add WINE_DISABLE_WRITE_WATCH env var to disable write
watch support.
Massively improves performance for corert games (Streets of Rage 4).
Could be fixed properly with Linux kernel changes.
---
dlls/ntdll/unix/virtual.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
index 7ea80852090..272e1c5b176 100644
--- a/dlls/ntdll/unix/virtual.c
+++ b/dlls/ntdll/unix/virtual.c
@@ -3425,6 +3425,22 @@ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG_PTR z
if (zero_bits > 21 && zero_bits < 32) return STATUS_INVALID_PARAMETER_3;
if (!is_win64 && !is_wow64 && zero_bits >= 32) return STATUS_INVALID_PARAMETER_3;
+ if (type & MEM_WRITE_WATCH)
+ {
+ static int disable = -1;
+
+ if (disable == -1)
+ {
+ const char *env_var;
+
+ if ((disable = (env_var = getenv("WINE_DISABLE_WRITE_WATCH")) && atoi(env_var)))
+ FIXME("Disabling write watch support.\n");
+ }
+
+ if (disable)
+ return STATUS_NOT_SUPPORTED;
+ }
+
if (process != NtCurrentProcess())
{
apc_call_t call;
From 912701cb515acdc8e0ff263552f656cd49f60714 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 15 May 2020 13:01:26 +0200
Subject: [PATCH] d3d10core: Implement D3D10CoreRegisterLayers.
---
dlls/d3d10core/d3d10core_main.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d10core/d3d10core_main.c b/dlls/d3d10core/d3d10core_main.c
index d364be90d6d..5a9a4a211c1 100644
--- a/dlls/d3d10core/d3d10core_main.c
+++ b/dlls/d3d10core/d3d10core_main.c
@@ -29,11 +29,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(d3d10core);
HRESULT WINAPI D3D11CoreCreateDevice(IDXGIFactory *factory, IDXGIAdapter *adapter, unsigned int flags,
const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count, ID3D11Device **device);
+HRESULT WINAPI D3D11CoreRegisterLayers(void);
+
HRESULT WINAPI D3D10CoreRegisterLayers(void)
{
TRACE("\n");
- return E_NOTIMPL;
+ return D3D11CoreRegisterLayers();
}
HRESULT WINAPI D3D10CoreCreateDevice(IDXGIFactory *factory, IDXGIAdapter *adapter,
From 376a037ce1391e071835a0bf30ebf1fcec43c367 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 15 May 2020 12:59:44 +0200
Subject: [PATCH] dxgi: Add fallback to D3D10CoreRegisterLayers.
If D3D11CoreRegisterLayers is not found in module.
---
dlls/dxgi/dxgi_main.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c
index 83c3f3734a7..006ab370844 100644
--- a/dlls/dxgi/dxgi_main.c
+++ b/dlls/dxgi/dxgi_main.c
@@ -106,8 +106,8 @@ static HRESULT register_d3d10core_layers(HMODULE d3d10core)
if (!dxgi_main.d3d10core)
{
- HRESULT hr;
- HRESULT (WINAPI *d3d11core_register_layers)(void);
+ HRESULT hr = E_FAIL;
+ HRESULT (WINAPI *register_layers)(void);
HMODULE mod;
BOOL ret;
@@ -117,8 +117,10 @@ static HRESULT register_d3d10core_layers(HMODULE d3d10core)
return E_FAIL;
}
- d3d11core_register_layers = (void *)GetProcAddress(mod, "D3D11CoreRegisterLayers");
- hr = d3d11core_register_layers();
+ if ((register_layers = (void *)GetProcAddress(mod, "D3D11CoreRegisterLayers")) ||
+ (register_layers = (void *)GetProcAddress(mod, "D3D10CoreRegisterLayers")))
+ hr = register_layers();
+
if (FAILED(hr))
{
ERR("Failed to register d3d11 layers, returning %#x.\n", hr);
From 5b00ca69a1927e1d0df4cf26160228e460568c51 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Tue, 9 Jun 2020 14:16:22 +0300
Subject: [PATCH] kernelbase: HACK Add an option to blacklist files.
---
dlls/kernelbase/file.c | 76 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 75 insertions(+), 1 deletion(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index eb2ef57c7d6..c7881fe4516 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -41,6 +41,8 @@
#include "wine/exception.h"
#include "wine/debug.h"
+#include "wine/heap.h"
+
WINE_DEFAULT_DEBUG_CHANNEL(file);
/* info structure for FindFirstFile handle */
@@ -432,6 +434,72 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFileA( LPCSTR name, DWORD access, DWORD sh
return CreateFileW( nameW, access, sharing, sa, creation, attributes, template );
}
+#define MAX_BLACKLISTED_FILENAMES 32
+
+static struct
+{
+ const WCHAR *name;
+ size_t name_len;
+}
+blacklist_filenames[MAX_BLACKLISTED_FILENAMES];
+
+static unsigned int blacklist_filename_count;
+
+static BOOL CALLBACK init_file_blacklist(PINIT_ONCE init_once, PVOID parameter, PVOID *context)
+{
+ const WCHAR separators[] = L",; ";
+ WCHAR *buffer, *token;
+ DWORD size;
+
+ if (!(size = GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", NULL, 0)))
+ return TRUE;
+
+ if (!(buffer = heap_alloc(sizeof(*buffer) * size)))
+ {
+ ERR("No memory.\n");
+ return FALSE;
+ }
+
+ if (GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", buffer, size) != size - 1)
+ {
+ ERR("Error getting WINE_BLACKLIST_FILES env variable.\n");
+ return FALSE;
+ }
+
+ blacklist_filename_count = 0;
+ token = wcstok(buffer, separators);
+ while (token && blacklist_filename_count < MAX_BLACKLISTED_FILENAMES)
+ {
+ FIXME("Blacklisting %s file.\n", debugstr_w(token));
+ blacklist_filenames[blacklist_filename_count].name = token;
+ blacklist_filenames[blacklist_filename_count++].name_len = wcslen(token);
+ token = wcstok(NULL, separators);
+ }
+
+ if (token && blacklist_filename_count == MAX_BLACKLISTED_FILENAMES)
+ ERR("File black list is too long.\n");
+
+ return TRUE;
+}
+
+static BOOL is_file_blacklisted(LPCWSTR filename)
+{
+ static INIT_ONCE init_once = INIT_ONCE_STATIC_INIT;
+ unsigned int i;
+ size_t len;
+
+ if (!InitOnceExecuteOnce(&init_once, init_file_blacklist, NULL, NULL))
+ return FALSE;
+
+ len = wcslen(filename);
+
+ for (i = 0; i < blacklist_filename_count; ++i)
+ if (blacklist_filenames[i].name_len <= len
+ && !wcsicmp(blacklist_filenames[i].name, filename + len - blacklist_filenames[i].name_len))
+ return TRUE;
+
+ return FALSE;
+}
/*************************************************************************
* CreateFileW (kernelbase.@)
@@ -460,7 +528,6 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFileW( LPCWSTR filename, DWORD access, DWO
FILE_OVERWRITE /* TRUNCATE_EXISTING */
};
-
/* sanity checks */
if (!filename || !filename[0])
@@ -479,6 +546,13 @@ HANDLE WINAPI DECLSPEC_HOTPATCH CreateFileW( LPCWSTR filename, DWORD access, DWO
(sharing & FILE_SHARE_DELETE) ? "FILE_SHARE_DELETE " : "",
creation, attributes);
+ if (is_file_blacklisted(filename))
+ {
+ FIXME("\"%s\" is blacklisted.\n", debugstr_w(filename));
+ SetLastError( ERROR_FILE_NOT_FOUND );
+ return INVALID_HANDLE_VALUE;
+ }
+
if ((GetVersion() & 0x80000000) && !wcsncmp( filename, L"\\\\.\\", 4 ) &&
!RtlIsDosDeviceName_U( filename + 4 ) &&
wcsnicmp( filename + 4, L"PIPE\\", 5 ) &&
From 2409bd1f74be116172688a25df725290637c255a Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Wed, 10 Jun 2020 16:18:29 -0500
Subject: [PATCH] kernelbase: Apply blacklist automatically to Origin
executables
---
dlls/kernelbase/file.c | 54 ++++++++++++++++++++++++++++++++++--------
1 file changed, 44 insertions(+), 10 deletions(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index c7881fe4516..bb4be45da5d 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -447,23 +447,57 @@ static unsigned int blacklist_filename_count;
static BOOL CALLBACK init_file_blacklist(PINIT_ONCE init_once, PVOID parameter, PVOID *context)
{
+ static WCHAR origin_blacklist[] = L"kernel32.dll;user32.dll";
+
const WCHAR separators[] = L",; ";
WCHAR *buffer, *token;
DWORD size;
- if (!(size = GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", NULL, 0)))
- return TRUE;
-
- if (!(buffer = heap_alloc(sizeof(*buffer) * size)))
+ if ((size = GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", NULL, 0)))
{
- ERR("No memory.\n");
- return FALSE;
- }
+ if (!(buffer = heap_alloc(sizeof(*buffer) * size)))
+ {
+ ERR("No memory.\n");
+ return FALSE;
+ }
- if (GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", buffer, size) != size - 1)
+ if (GetEnvironmentVariableW(L"WINE_BLACKLIST_FILES", buffer, size) != size - 1)
+ {
+ ERR("Error getting WINE_BLACKLIST_FILES env variable.\n");
+ return FALSE;
+ }
+ }
+ else
{
- ERR("Error getting WINE_BLACKLIST_FILES env variable.\n");
- return FALSE;
+ static const WCHAR *origin_names[] = {
+ L"igoproxy64.exe",
+ L"igoproxy.exe",
+ L"origin.exe",
+ L"easteamproxy.exe"
+ };
+
+ WCHAR cur_exe[MAX_PATH];
+ DWORD cur_exe_len, i;
+
+ if (!(cur_exe_len = GetModuleFileNameW(NULL, cur_exe, ARRAY_SIZE(cur_exe))))
+ return TRUE;
+
+ buffer = NULL;
+
+ for (i = 0; i < ARRAY_SIZE(origin_names); ++i)
+ {
+ DWORD origin_name_len = wcslen(origin_names[i]);
+ if (cur_exe_len >= origin_name_len &&
+ wcsicmp(cur_exe + cur_exe_len - origin_name_len, origin_names[i]) == 0)
+ {
+ FIXME("using origin file blacklist for %s\n", debugstr_w(cur_exe));
+ buffer = origin_blacklist;
+ break;
+ }
+ }
+
+ if (!buffer)
+ return TRUE;
}
blacklist_filename_count = 0;
From 027ff0c658ac00a7b5c1df014043265c83e74dbc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Wed, 18 Dec 2019 13:49:00 +0100
Subject: [PATCH] HACK: user32: Strip gameoverlayrenderer.so from LD_PRELOAD
before executing explorer.exe.
Work around a bug in gameoverlayrenderer which introduces 50ms hangs
during XCheckIfEvent after approx 40 minutes of gameplay.
---
dlls/user32/win.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/dlls/user32/cursoricon.c b/dlls/user32/cursoricon.c
index e772d541235..9d0cf716fd7 100644
--- a/dlls/user32/cursoricon.c
+++ b/dlls/user32/cursoricon.c
@@ -113,7 +113,7 @@ static int get_display_bpp(void)
static INIT_ONCE init_once = INIT_ONCE_STATIC_INIT;
-static const struct png_funcs *png_funcs;
+const struct png_funcs *png_funcs;
static BOOL WINAPI load_libpng( INIT_ONCE *once, void *param, void **context )
{
@@ -121,7 +121,7 @@ static BOOL WINAPI load_libpng( INIT_ONCE *once, void *param, void **context )
return TRUE;
}
-static BOOL have_libpng(void)
+BOOL have_libpng(void)
{
return InitOnceExecuteOnce( &init_once, load_libpng, NULL, NULL ) && png_funcs;
}
diff --git a/dlls/user32/png.c b/dlls/user32/png.c
index a994c6de5c2..3054fd901a8 100644
--- a/dlls/user32/png.c
+++ b/dlls/user32/png.c
@@ -293,10 +293,16 @@ static BITMAPINFO * CDECL load_png(const char *png_data, DWORD *size)
return info;
}
-static const struct png_funcs png_funcs =
+int CDECL hack_unix_setenv(const char *name, const char *value, int overwrite)
+{
+ return setenv(name, value, overwrite);
+}
+
+static const struct png_funcs png_funcs_unix =
{
get_png_info,
- load_png
+ load_png,
+ hack_unix_setenv,
};
NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out )
@@ -335,7 +341,7 @@ NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *p
LOAD_FUNCPTR(png_set_read_fn);
#undef LOAD_FUNCPTR
- *(const struct png_funcs **)ptr_out = &png_funcs;
+ *(const struct png_funcs **)ptr_out = &png_funcs_unix;
return STATUS_SUCCESS;
}
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index 7761a1ceb4f..5e42027b3c7 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -373,8 +373,12 @@ struct png_funcs
{
BOOL (CDECL *get_png_info)(const void *png_data, DWORD size, int *width, int *height, int *bpp);
BITMAPINFO * (CDECL *load_png)(const char *png_data, DWORD *size);
+ int (CDECL *hack_unix_setenv)(const char *name, const char *value, int overwrite);
};
+extern BOOL have_libpng(void);
+extern const struct png_funcs *png_funcs;
+
/* Mingw's assert() imports MessageBoxA and gets confused by user32 exporting it */
#ifdef __MINGW32__
#undef assert
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 680defc2071..0ced1a5cd91 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -45,6 +45,15 @@ static DWORD process_layout = ~0u;
static struct list window_surfaces = LIST_INIT( window_surfaces );
+static CRITICAL_SECTION desktop_section;
+static CRITICAL_SECTION_DEBUG desktop_critsect_debug =
+{
+ 0, 0, &desktop_section,
+ { &desktop_critsect_debug.ProcessLocksList, &desktop_critsect_debug.ProcessLocksList },
+ 0, 0, { (DWORD_PTR)(__FILE__ ": desktop_section") }
+};
+static CRITICAL_SECTION desktop_section = { &desktop_critsect_debug, -1, 0, 0, 0, 0 };
+
static CRITICAL_SECTION surfaces_section;
static CRITICAL_SECTION_DEBUG critsect_debug =
{
@@ -2088,6 +2097,7 @@ HWND WINAPI GetDesktopWindow(void)
WCHAR app[MAX_PATH + ARRAY_SIZE( L"\\explorer.exe" )];
WCHAR cmdline[MAX_PATH + ARRAY_SIZE( L"\\explorer.exe /desktop" )];
WCHAR desktop[MAX_PATH];
+ char *ld_preload;
void *redir;
SERVER_START_REQ( set_user_object_info )
@@ -2120,6 +2130,49 @@ HWND WINAPI GetDesktopWindow(void)
lstrcpyW( cmdline, app );
lstrcatW( cmdline, L" /desktop" );
+ /* HACK: Unset LD_PRELOAD before executing explorer.exe to disable buggy gameoverlayrenderer.so
+ * It's not going to work through the CreateProcessW env parameter, as it will not be used for the loader execv.
+ */
+ if (have_libpng())
+ {
+ EnterCriticalSection( &desktop_section);
+
+ if ((ld_preload = getenv("LD_PRELOAD")))
+ {
+ static char const gorso[] = "gameoverlayrenderer.so";
+ static unsigned int gorso_len = ARRAY_SIZE(gorso) - 1;
+ char *env, *next, *tmp;
+
+ env = HeapAlloc(GetProcessHeap(), 0, strlen(ld_preload) + 1);
+ strcpy(env, ld_preload);
+
+ tmp = env;
+ do
+ {
+ if (!(next = strchr(tmp, ':')))
+ next = tmp + strlen(tmp);
+
+ if (next - tmp >= gorso_len &&
+ strncmp(next - gorso_len, gorso, gorso_len) == 0)
+ {
+ if (*next)
+ memmove(tmp, next + 1, strlen(next));
+ else
+ *tmp = 0;
+ next = tmp;
+ }
+ else
+ {
+ tmp = next + 1;
+ }
+ }
+ while (*next);
+
+ png_funcs->hack_unix_setenv("LD_PRELOAD", env, 1);
+ HeapFree(GetProcessHeap(), 0, env);
+ }
+ }
+
Wow64DisableWow64FsRedirection( &redir );
if (CreateProcessW( app, cmdline, NULL, NULL, FALSE, DETACHED_PROCESS,
NULL, windir, &si, &pi ))
@@ -2132,6 +2185,14 @@ HWND WINAPI GetDesktopWindow(void)
else WARN( "failed to start explorer, err %d\n", GetLastError() );
Wow64RevertWow64FsRedirection( redir );
+ /* HACK: Restore the previous value, just in case */
+ if (have_libpng())
+ {
+ if (ld_preload) png_funcs->hack_unix_setenv("LD_PRELOAD", ld_preload, 1);
+
+ LeaveCriticalSection( &desktop_section );
+ }
+
SERVER_START_REQ( get_desktop_window )
{
req->force = 1;
From ff790e8d99f2026af9b8569355fc1df5e6f0c639 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Sat, 5 Sep 2020 01:09:37 +0300
Subject: [PATCH] wbemprox: HACK: Make Bloons TD6 happy so it does not exit
after getting string Wine from bios info.
---
dlls/wbemprox/builtin.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
index 43268221936..f39d6f0cd7b 100644
--- a/dlls/wbemprox/builtin.c
+++ b/dlls/wbemprox/builtin.c
@@ -1181,7 +1181,7 @@ static WCHAR *get_bios_string( BYTE id, const char *buf, UINT len )
static WCHAR *get_bios_manufacturer( const char *buf, UINT len )
{
WCHAR *ret = get_bios_string( 1, buf, len );
- if (!ret) return heap_strdupW( L"The Wine Project" );
+ if (!ret) return heap_strdupW( L"The Proton Project" );
return ret;
}
@@ -1227,7 +1227,7 @@ static WCHAR *get_bios_releasedate( const char *buf, UINT len )
static WCHAR *get_bios_smbiosbiosversion( const char *buf, UINT len )
{
WCHAR *ret = get_bios_string( 2, buf, len );
- if (!ret) return heap_strdupW( L"Wine" );
+ if (!ret) return heap_strdupW( L"Proton" );
return ret;
}
@@ -1307,7 +1307,7 @@ static enum fill_status fill_bios( struct table *table, const struct expr *cond
rec->smbiosminorversion = get_bios_smbiosminorversion( buf, len );
rec->systembiosmajorversion = get_bios_system_bios_major_release( buf, len );
rec->systembiosminorversion = get_bios_system_bios_minor_release( buf, len );
- rec->version = L"WINE - 1";
+ rec->version = L"PROTON - 1";
if (!match_row( table, row, cond, &status )) free_row_values( table, row );
else row++;
@@ -1468,8 +1468,8 @@ static enum fill_status fill_compsys( struct table *table, const struct expr *co
rec->description = L"AT/AT COMPATIBLE";
rec->domain = L"WORKGROUP";
rec->domainrole = 0; /* standalone workstation */
- rec->manufacturer = L"The Wine Project";
- rec->model = L"Wine";
+ rec->manufacturer = L"The Proton Project";
+ rec->model = L"Proton";
rec->name = get_computername();
rec->num_logical_processors = get_logical_processor_count( NULL, &rec->num_processors );
rec->total_physical_memory = get_total_physical_memory();
@@ -1505,7 +1505,7 @@ static WCHAR *get_compsysproduct_identifyingnumber( const char *buf, UINT len )
static WCHAR *get_compsysproduct_name( const char *buf, UINT len )
{
WCHAR *ret = get_compsysproduct_string( 2, buf, len );
- if (!ret) return heap_strdupW( L"Wine" );
+ if (!ret) return heap_strdupW( L"Proton" );
return ret;
}
@@ -1533,7 +1533,7 @@ done:
static WCHAR *get_compsysproduct_vendor( const char *buf, UINT len )
{
WCHAR *ret = get_compsysproduct_string( 1, buf, len );
- if (!ret) return heap_strdupW( L"The Wine Project" );
+ if (!ret) return heap_strdupW( L"The Proton Project" );
return ret;
}
@@ -2652,7 +2652,7 @@ static enum fill_status fill_networkadapter( struct table *table, const struct e
rec->index = aa->u.s.IfIndex;
rec->interface_index = aa->u.s.IfIndex;
rec->mac_address = get_mac_address( aa->PhysicalAddress, aa->PhysicalAddressLength );
- rec->manufacturer = L"The Wine Project";
+ rec->manufacturer = L"The Proton Project";
rec->name = heap_strdupW( aa->FriendlyName );
rec->netconnection_status = get_connection_status( aa->OperStatus );
rec->physicaladapter = physical;
@@ -3475,7 +3475,7 @@ static enum fill_status fill_operatingsystem( struct table *table, const struct
rec->lastbootuptime = get_lastbootuptime();
rec->localdatetime = get_localdatetime();
rec->locale = get_locale();
- rec->manufacturer = L"The Wine Project";
+ rec->manufacturer = L"The Proton Project";
rec->name = get_osname( rec->caption );
rec->operatingsystemsku = get_operatingsystemsku();
rec->osarchitecture = get_osarchitecture();
@@ -3740,7 +3740,7 @@ static WCHAR *get_systemenclosure_string( BYTE id, const char *buf, UINT len )
static WCHAR *get_systemenclosure_manufacturer( const char *buf, UINT len )
{
WCHAR *ret = get_systemenclosure_string( 1, buf, len );
- if (!ret) return heap_strdupW( L"Wine" );
+ if (!ret) return heap_strdupW( L"Proton" );
return ret;
}
@@ -3955,7 +3955,7 @@ static enum fill_status fill_sounddevice( struct table *table, const struct expr
rec = (struct record_sounddevice *)table->data;
rec->deviceid = get_sounddevice_pnpdeviceid( &desc );
- rec->manufacturer = L"The Wine Project";
+ rec->manufacturer = L"The Proton Project";
rec->name = L"Wine Audio Device";
rec->pnpdeviceid = get_sounddevice_pnpdeviceid( &desc );
rec->productname = L"Wine Audio Device";
--
2.26.2
From 87326687df23529255c2493d178dac1310919980 Mon Sep 17 00:00:00 2001
From: Paul Gofman <pgofman@codeweavers.com>
Date: Wed, 4 Nov 2020 18:08:21 +0300
Subject: [PATCH] ws2_32: HACK Fail 'download-alt.easyanticheat.net' DNS name
resolution.
This has the same effect as the following reverted ECDHE-ECDSA patch,
but allows those ciphers to be used for other programs.
---
dlls/ws2_32/socket.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 4010a727a08..ef9a640a771 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -6483,6 +6483,13 @@ struct WS_hostent* WINAPI WS_gethostbyname(const char* name)
extrabuf=HeapAlloc(GetProcessHeap(),0,ebufsize) ;
while(extrabuf) {
int res = gethostbyname_r(name, &hostentry, extrabuf, ebufsize, &host, &locerr);
+
+ if (!strcmp(name, "download-alt.easyanticheat.net"))
+ {
+ ERR("HACK: failing download-alt.easyanticheat.net resolution.\n");
+ res = HOST_NOT_FOUND;
+ }
+
if( res != ERANGE) break;
ebufsize *=2;
extrabuf=HeapReAlloc(GetProcessHeap(),0,extrabuf,ebufsize) ;
@@ -6734,6 +6741,13 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
return WSAHOST_NOT_FOUND;
}
+ if (nodename && !strcmp(nodename, "download-alt.easyanticheat.net"))
+ {
+ ERR("HACK: failing download-alt.easyanticheat.net resolution.\n");
+ SetLastError(WSAHOST_NOT_FOUND);
+ return WSAHOST_NOT_FOUND;
+ }
+
if (!nodename)
node = NULL;
else if (!nodename[0])
From c9a5fcb0966ab0ca0722c8c07476c131844f98e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Fri, 16 Oct 2020 23:37:09 +0200
Subject: [PATCH] dotnetfx35.exe: Add stub program.
This makes it possible to override native dotnetfx35 installer, which
is broken in an unfixable way. Recent Windows versions also bypass its
execution somehow.
---
configure | 2 ++
configure.ac | 1 +
programs/dotnetfx35/Makefile.in | 7 +++++++
programs/dotnetfx35/main.c | 32 ++++++++++++++++++++++++++++++++
4 files changed, 42 insertions(+)
create mode 100644 programs/dotnetfx35/Makefile.in
create mode 100644 programs/dotnetfx35/main.c
diff --git a/configure b/configure
index 848323bb057..d676b1c82ee 100755
--- a/configure
+++ b/configure
@@ -1766,6 +1766,7 @@ enable_conhost
enable_control
enable_cscript
enable_dism
+enable_dotnetfx35
enable_dplaysvr
enable_dpnsvr
enable_dpvsetup
@@ -21579,6 +21580,7 @@ wine_fn_config_makefile programs/conhost enable_conhost
wine_fn_config_makefile programs/control enable_control
wine_fn_config_makefile programs/cscript enable_cscript
wine_fn_config_makefile programs/dism enable_dism
+wine_fn_config_makefile programs/dotnetfx35 enable_dotnetfx35
wine_fn_config_makefile programs/dplaysvr enable_dplaysvr
wine_fn_config_makefile programs/dpnsvr enable_dpnsvr
wine_fn_config_makefile programs/dpvsetup enable_dpvsetup
diff --git a/configure.ac b/configure.ac
index 130dbeb8530..63d26ff123c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3997,6 +3997,7 @@ WINE_CONFIG_MAKEFILE(programs/conhost)
WINE_CONFIG_MAKEFILE(programs/control)
WINE_CONFIG_MAKEFILE(programs/cscript)
WINE_CONFIG_MAKEFILE(programs/dism)
+WINE_CONFIG_MAKEFILE(programs/dotnetfx35)
WINE_CONFIG_MAKEFILE(programs/dplaysvr)
WINE_CONFIG_MAKEFILE(programs/dpnsvr)
WINE_CONFIG_MAKEFILE(programs/dpvsetup)
diff --git a/programs/dotnetfx35/Makefile.in b/programs/dotnetfx35/Makefile.in
new file mode 100644
index 00000000000..e50ed37f700
--- /dev/null
+++ b/programs/dotnetfx35/Makefile.in
@@ -0,0 +1,7 @@
+MODULE = dotnetfx35.exe
+IMPORTS =
+
+EXTRADLLFLAGS = -mwindows -mno-cygwin
+
+C_SRCS = \
+ main.c
diff --git a/programs/dotnetfx35/main.c b/programs/dotnetfx35/main.c
new file mode 100644
index 00000000000..cd6df5bcf41
--- /dev/null
+++ b/programs/dotnetfx35/main.c
@@ -0,0 +1,32 @@
+/*
+ * Fake dotnetfx35.exe installer
+ *
+ * Copyright 2020 Rémi Bernon
+ *
+ * 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
+ */
+
+#include <stdio.h>
+#include <windows.h>
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dotnetfx);
+
+int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
+{
+ FIXME("stub!");
+ return 0;
+}
From 2452b57e7fed9ac5036df9bcace5c28366a8eb41 Mon Sep 17 00:00:00 2001
From: Andrew Eikum <aeikum@codeweavers.com>
Date: Fri, 8 Jan 2021 13:47:39 -0600
Subject: [PATCH] HACK: kernelbase: Add NFS EXE to Origin file blacklist hack
---
dlls/kernelbase/file.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index a33440107b6..397aa64dce2 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -741,7 +741,8 @@ static BOOL CALLBACK init_file_blacklist(PINIT_ONCE init_once, PVOID parameter,
L"igoproxy64.exe",
L"igoproxy.exe",
L"origin.exe",
- L"easteamproxy.exe"
+ L"easteamproxy.exe",
+ L"NFS11Remastered.exe"
};
WCHAR cur_exe[MAX_PATH];
From d4f662b14da9f926dc282090406428f05ad88699 Mon Sep 17 00:00:00 2001
From: Arkadiusz Hiler <ahiler@codeweavers.com>
Date: Tue, 23 Feb 2021 14:41:58 +0200
Subject: [PATCH] ntoskrnl: Implement IoSetDevicePropertyData().
---
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 +
dlls/ntoskrnl.exe/pnp.c | 45 +++++++++++++++++++++++++++++
include/ddk/wdm.h | 4 +++
3 files changed, 50 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 0f65490b487..5ff04af794d 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -465,6 +465,7 @@
@ stdcall IoReuseIrp(ptr long)
@ stub IoSetCompletionRoutineEx
@ stdcall IoSetDeviceInterfaceState(ptr long)
+@ stdcall IoSetDevicePropertyData(ptr ptr long long long long ptr)
@ stub IoSetDeviceToVerify
@ stub IoSetFileOrigin
@ stub IoSetHardErrorOrVerifyDevice
diff --git a/dlls/ntoskrnl.exe/pnp.c b/dlls/ntoskrnl.exe/pnp.c
index 6a0e82ec0e2..7f1e900cc42 100644
--- a/dlls/ntoskrnl.exe/pnp.c
+++ b/dlls/ntoskrnl.exe/pnp.c
@@ -793,6 +793,51 @@ NTSTATUS WINAPI IoSetDeviceInterfaceState( UNICODE_STRING *name, BOOLEAN enable
return ret;
}
+/***********************************************************************
+ * IoSetDevicePropertyData (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI IoSetDevicePropertyData( DEVICE_OBJECT *device, const DEVPROPKEY *property_key,
+ LCID lcid, ULONG flags, DEVPROPTYPE type, ULONG size,
+ PVOID data)
+{
+ SP_DEVINFO_DATA sp_device = {sizeof(sp_device)};
+ WCHAR device_instance_id[MAX_DEVICE_ID_LEN];
+ NTSTATUS status;
+ HDEVINFO set;
+
+ /* flags is always treated as PLUGPLAY_PROPERTY_PERSISTENT starting with Win 8 / 2012 */
+
+ if (lcid != LOCALE_NEUTRAL)
+ FIXME("only LOCALE_NEUTRAL is supported\n");
+
+ if ((status = get_device_instance_id( device, device_instance_id )))
+ return status;
+
+ if ((set = SetupDiCreateDeviceInfoList( &GUID_NULL, NULL )) == INVALID_HANDLE_VALUE)
+ {
+ ERR("Failed to create device list, error %#x.\n", GetLastError());
+ return GetLastError();
+ }
+
+ if (!SetupDiOpenDeviceInfoW( set, device_instance_id, NULL, 0, &sp_device ))
+ {
+ ERR("Failed to open device, error %#x.\n", GetLastError());
+ SetupDiDestroyDeviceInfoList( set );
+ return GetLastError();
+ }
+
+ if (!SetupDiSetDevicePropertyW(set, &sp_device, property_key, type, data, size, 0))
+ {
+ ERR("Failed to set property, error %#x.\n", GetLastError());
+ SetupDiDestroyDeviceInfoList( set );
+ return GetLastError();
+ }
+
+ SetupDiDestroyDeviceInfoList( set );
+
+ return STATUS_SUCCESS;
+}
+
/***********************************************************************
* IoRegisterDeviceInterface (NTOSKRNL.EXE.@)
*/
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 59af860708b..c7b7b92e279 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -21,6 +21,7 @@
#define _NTDDK_
#include <ntstatus.h>
+#include <devpropdef.h>
#ifdef _WIN64
#define POINTER_ALIGNMENT DECLSPEC_ALIGN(8)
@@ -1681,6 +1682,8 @@ void WINAPI ExReleaseResourceForThreadLite(ERESOURCE*,ERESOURCE_THREAD);
ULONG WINAPI ExSetTimerResolution(ULONG,BOOLEAN);
void WINAPI ExUnregisterCallback(void*);
+#define PLUGPLAY_PROPERTY_PERSISTENT 0x0001
+
void WINAPI IoAcquireCancelSpinLock(KIRQL*);
NTSTATUS WINAPI IoAcquireRemoveLockEx(IO_REMOVE_LOCK*,void*,const char*,ULONG, ULONG);
NTSTATUS WINAPI IoAllocateDriverObjectExtension(PDRIVER_OBJECT,PVOID,ULONG,PVOID*);
@@ -1728,6 +1731,7 @@ void WINAPI IoReleaseRemoveLockAndWaitEx(IO_REMOVE_LOCK*,void*,ULONG);
void WINAPI IoReleaseRemoveLockEx(IO_REMOVE_LOCK*,void*,ULONG);
void WINAPI IoReuseIrp(IRP*,NTSTATUS);
NTSTATUS WINAPI IoSetDeviceInterfaceState(UNICODE_STRING*,BOOLEAN);
+NTSTATUS WINAPI IoSetDevicePropertyData(DEVICE_OBJECT*,const DEVPROPKEY*,LCID,ULONG,DEVPROPTYPE,ULONG,PVOID);
NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
void FASTCALL KeAcquireInStackQueuedSpinLockAtDpcLevel(KSPIN_LOCK*,KLOCK_QUEUE_HANDLE*);
Submodule 'ffmpeg' (https://github.com/FFmpeg/FFmpeg/) registered for path 'ffmpeg'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/ffmpeg'...
done.
Submodule path 'ffmpeg': checked out '192d1d34eb3668fa27f433e96036340e1e5077a0'
Submodule 'openvr' (https://github.com/ValveSoftware/openvr/) registered for path 'openvr'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/openvr'...
done.
Submodule path 'openvr': checked out '52065df3d6f3af96300dac98cdf7397f26abfcd7'
Submodule 'OpenXR-SDK' (https://github.com/KhronosGroup/OpenXR-SDK) registered for path 'OpenXR-SDK'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/OpenXR-SDK'...
done.
Submodule path 'OpenXR-SDK': checked out '5197afbf199c026eca82a47a8573ed10b0c6fa4e'
Submodule 'fonts/liberation-fonts' (https://github.com/liberationfonts/liberation-fonts/) registered for path 'fonts/liberation-fonts'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/fonts/liberation-fonts'...
done.
Submodule path 'fonts/liberation-fonts': checked out '9510ebd130bcb4dfc76b053b438d8a97a3ed4600'
Submodule 'FAudio' (https://github.com/FNA-XNA/FAudio/) registered for path 'FAudio'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/FAudio'...
done.
Submodule path 'FAudio': checked out '920d2228c982f9a2f97276f2e51fbf8ed507963c'
Submodule 'vkd3d-proton' (https://github.com/HansKristian-Work/vkd3d-proton/) registered for path 'vkd3d-proton'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton'...
done.
Submodule path 'vkd3d-proton': checked out 'b7dfa99e57c8ddad83b513bdc843ccb4c0860d95'
Submodule 'wine' (https://github.com/wine-mirror/wine/) registered for path 'wine'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine'...
done.
Submodule path 'wine': checked out '41df83c50e1c3cfdd6e8ffb65de7838f8503632c'
Submodule 'wine-staging' (https://github.com/wine-staging/wine-staging/) registered for path 'wine-staging'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging'...
done.
Submodule path 'wine-staging': checked out 'f8b6fde40c2cafda9ffedd0944065177952a16d4'
Submodule 'dxvk' (https://github.com/doitsujin/dxvk/) registered for path 'dxvk'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/dxvk'...
done.
Submodule path 'dxvk': checked out 'cf4ff820be2354efa30aa19a655643b908d6622d'
Submodule 'gstreamer' (https://github.com/GStreamer/gstreamer/) registered for path 'gstreamer'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gstreamer'...
done.
Submodule path 'gstreamer': checked out 'a42fe476d3ee5576921f67a331464065ec33b9a4'
Submodule 'gst-plugins-base' (https://github.com/GStreamer/gst-plugins-base/) registered for path 'gst-plugins-base'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-plugins-base'...
done.
Submodule path 'gst-plugins-base': checked out '2cc319ee13f6b72df3d432b7c75aca81feb260e5'
Submodule 'gst-plugins-good' (https://github.com/GStreamer/gst-plugins-good/) registered for path 'gst-plugins-good'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-plugins-good'...
done.
Submodule path 'gst-plugins-good': checked out 'e816c6cd73c9e0676828c9e227a049ebad3d019f'
Submodule 'gst-plugins-bad' (https://github.com/GStreamer/gst-plugins-bad/) registered for path 'gst-plugins-bad'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-plugins-bad'...
done.
Submodule path 'gst-plugins-bad': checked out '382e373d9be363f1e21b12990a4d12f1ecb6df41'
Submodule 'gst-plugins-ugly' (https://github.com/GStreamer/gst-plugins-ugly/) registered for path 'gst-plugins-ugly'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-plugins-ugly'...
done.
Submodule path 'gst-plugins-ugly': checked out 'ad60e5463f591caa1c8470f180fd0ef8fce4a802'
Submodule 'gst-libav' (https://github.com/GStreamer/gst-libav/) registered for path 'gst-libav'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-libav'...
done.
Submodule path 'gst-libav': checked out '67fc1e5c6c5e578dce250ae6310de71a0f5f8ec3'
Submodule 'gst-orc' (https://github.com/GStreamer/orc/) registered for path 'gst-orc'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/gst-orc'...
done.
Submodule path 'gst-orc': checked out '629864f073ae003e63c026c1de2407fec713cb53'
/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton /tmp/makepkg/proton-ge-custom/src/proton-ge-custom
Submodule 'subprojects/dxil-spirv' (https://github.com/HansKristian-Work/dxil-spirv) registered for path 'subprojects/dxil-spirv'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton/subprojects/dxil-spirv'...
done.
Submodule path 'subprojects/dxil-spirv': checked out '2b30222894cbe71ee44033bf2b56e0772b13f248'
Submodule 'subprojects/Vulkan-Headers' (https://github.com/KhronosGroup/Vulkan-Headers) registered for path 'subprojects/Vulkan-Headers'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton/subprojects/Vulkan-Headers'...
done.
Submodule path 'subprojects/Vulkan-Headers': checked out 'fe9850767d00e46b230da6cfbc15eb86636017bd'
Submodule 'subprojects/SPIRV-Headers' (https://github.com/KhronosGroup/SPIRV-Headers) registered for path 'subprojects/SPIRV-Headers'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton/subprojects/SPIRV-Headers'...
done.
Submodule path 'subprojects/SPIRV-Headers': checked out 'f9e1ffdcc1c123b79dd9f6002b418d9703d98904'
/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton/subprojects/dxil-spirv /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton /tmp/makepkg/proton-ge-custom/src/proton-ge-custom
Submodule 'third_party/spirv-headers' (git://github.com/KhronosGroup/SPIRV-Headers) registered for path 'third_party/spirv-headers'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton/subprojects/dxil-spirv/third_party/spirv-headers'...
done.
Submodule path 'third_party/spirv-headers': checked out 'f027d53ded7e230e008d37c8b47ede7cd308e19d'
/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vkd3d-proton /tmp/makepkg/proton-ge-custom/src/proton-ge-custom
/tmp/makepkg/proton-ge-custom/src/proton-ge-custom
Submodule 'lsteamclient' (https://github.com/gloriouseggroll/lsteamclient/) registered for path 'lsteamclient'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/lsteamclient'...
done.
Submodule path 'lsteamclient': checked out 'f5e6dde79cdb255df2c78649db064587cc7f395f'
Submodule 'vrclient_x64' (https://github.com/gloriouseggroll/vrclient_x64) registered for path 'vrclient_x64'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/vrclient_x64'...
done.
Submodule path 'vrclient_x64': checked out 'efa15adf7c41b35d8541c346e8a1bfd800428d0a'
Submodule 'protonfixes' (https://github.com/gloriouseggroll/protonfixes/) registered for path 'protonfixes'
Cloning into '/tmp/makepkg/proton-ge-custom/src/proton-ge-custom/protonfixes'...
done.
Submodule path 'protonfixes': checked out '7ed0543bb118094cf10a61364b7917127f855187'
HEAD is now at 2cc319ee1 Release 1.18.3
add Guy's patch for gstreamer preroll buffer for media converter
patching file gst/playback/gstdecodebin2.c
HEAD is now at ad60e546 Release 1.18.3
add Guy's patch to fix wmv playback in gst-plugins-ugly
patching file gst/asfdemux/gstasfdemux.c
Hunk #2 succeeded at 4851 (offset 31 lines).
patching file gst/asfdemux/gstasfdemux.c
HEAD is now at f5e6dde lsteamclient: update lsteamclient to latest from proton experimental
add warframe 5 minute crash fix
(Stripping trailing CRs from patch; use --binary to disable.)
patching file steamclient_main.c
HEAD is now at cf4ff820 [dxbc] Handle shaders without refactoringAllowed flag
Auto-merging src/d3d11/d3d11_texture.cpp
Auto-merging src/d3d11/d3d11_swapchain.cpp
patching file src/d3d11/d3d11_texture.cpp
add valve dxvk patches
patching file src/d3d11/d3d11_texture.cpp
Hunk #1 succeeded at 952 (offset 62 lines).
patching file src/dxvk_config/dxvk_config.cpp
patching file src/dxvk_config/dxvk_config.def
patching file src/dxvk_config/dxvk_config.h
patching file src/dxvk_config/dxvk_config.spec
patching file src/dxvk_config/meson.build
patching file src/dxvk_config/version.rc
patching file src/meson.build
add dxvk PR patches
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_compression.cpp
patching file src/spirv/spirv_compression.h
patching file src/spirv/spirv_code_buffer.cpp
patching file src/spirv/spirv_code_buffer.h
patching file src/spirv/spirv_writer.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/d3d9/d3d9_fixed_function.cpp
patching file src/d3d9/d3d9_swvp_emu.cpp
patching file src/dxbc/dxbc_compiler.cpp
patching file src/dxso/dxso_compiler.cpp
Hunk #1 succeeded at 251 (offset 1 line).
patching file src/dxvk/dxvk_shader.cpp
patching file src/dxvk/dxvk_shader.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_compression.h
patching file src/spirv/spirv_module.cpp
patching file src/spirv/spirv_module.h
patching file src/spirv/spirv_code_buffer.cpp
patching file src/spirv/spirv_code_buffer.h
patching file src/spirv/spirv_compression.h
patching file src/spirv/spirv_module.h
patching file src/util/util_raw_vector.h
patching file src/spirv/spirv_compression.h
add dxvk async patch
patching file meson.build
Hunk #1 succeeded at 116 (offset 13 lines).
patching file src/dxvk/dxvk_context.cpp
Hunk #1 succeeded at 3888 (offset 51 lines).
Hunk #2 succeeded at 4122 (offset 27 lines).
Hunk #3 succeeded at 4144 (offset 28 lines).
Hunk #4 succeeded at 4557 (offset 207 lines).
Hunk #5 succeeded at 4989 (offset 210 lines).
patching file src/dxvk/dxvk_context.h
Hunk #1 succeeded at 1152 with fuzz 2 (offset -7 lines).
Hunk #2 succeeded at 1235 (offset 24 lines).
patching file src/dxvk/dxvk_graphics.cpp
patching file src/dxvk/dxvk_graphics.h
patching file src/dxvk/dxvk_image.h
Hunk #1 succeeded at 501 with fuzz 1 (offset 36 lines).
Hunk #2 succeeded at 540 (offset 36 lines).
patching file src/dxvk/dxvk_options.cpp
Hunk #1 succeeded at 11 with fuzz 2 (offset 1 line).
patching file src/dxvk/dxvk_options.h
patching file src/dxvk/dxvk_pipecompiler.cpp
patching file src/dxvk/dxvk_pipecompiler.h
patching file src/dxvk/dxvk_pipemanager.cpp
patching file src/dxvk/dxvk_pipemanager.h
patching file src/dxvk/meson.build
Hunk #1 succeeded at 90 with fuzz 1 (offset 7 lines).
HEAD is now at f8b6fde4 Rebase against 41df83c50e1c3cfdd6e8ffb65de7838f8503632c.
HEAD is now at 41df83c50e1 include: Add missing typedefs to windows.foundation.idl.
revert bd27af974a21085cd0dc78b37b715bbcc3cfab69 which breaks some game launchers
Auto-merging dlls/winex11.drv/display.c
revert e4fbae832c868e9fcf5a91c58255fe3f4ea1cb30 which breaks controller detection on some distros
Auto-merging include/config.h.in
Auto-merging dlls/winebus.sys/bus_sdl.c
Auto-merging configure.ac
Auto-merging configure
applying staging patches
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0001-windowscodecs-Avoid-implicit-cast-of-interface-point.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0021-d2d1-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0022-d3d11-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0023-d3d8-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0024-d3d9-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0025-ddraw-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0026-dwrite-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0027-msxml3-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0028-oleaut32-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0029-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0030-vbscript-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0031-include-Check-element-type-in-CONTAINING_RECORD-and-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Pipelight/0001-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Pipelight/0002-user32-Decrease-minimum-SetTimer-interval-to-5-ms.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Pipelight/0004-winex11.drv-Indicate-direct-rendering-through-OpenGL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Staging/0001-kernel32-Add-winediag-message-to-show-warning-that-t.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/Staging/0002-winelib-Append-Staging-at-the-end-of-the-version-s.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/advapi32-LsaLookupPrivilegeName/0002-advapi32-Use-TRACE-for-LsaOpenPolicy-LsaClose.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/api-ms-win-Stub_DLLs/0012-ext-ms-win-xaml-pal-l1-1-0-Add-stub-for-GetThemeServ.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/atl-AtlAxDialogBox/0001-atl-Implement-AtlAxDialogBox-A-W.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/bcrypt-ECDHSecretAgreement/0001-bcrypt-Allow-multiple-backends-to-coexist.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/bcrypt-ECDHSecretAgreement/0002-bcrypt-Implement-BCryptSecretAgreement-with-libgcryp.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/bcrypt-ECDHSecretAgreement/0003-bcrypt-Implement-BCRYPT_KDF_HASH.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/cmd-launch-association/0001-cmd-Support-for-launching-programs-based-on-file-ass.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/cmd-launch-association/0002-cmd-ftype-failed-to-clear-file-associations.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/comctl32-Listview_DrawItem/0001-comctl32-Preserve-custom-colors-between-subitems.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/comctl32-rebar-capture/0001-comctl32-Fixed-rebar-behaviour-when-there-s-capture-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/comctl32-version_6/0001-comctl32-Bump-version-to-6.0.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/comdlg32-lpstrFileTitle/0001-comdlg32-Postpone-setting-ofn-lpstrFileTitle-to-work.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/crypt32-CMS_Certificates/0001-crypt32-Skip-unknown-item-when-decoding-a-CMS-certif.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/cryptext-CryptExtOpenCER/0001-cryptext-Implement-CryptExtOpenCER.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0001-include-Add-cuda.h.h.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0002-nvcuda-Add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0003-nvcuda-First-implementation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0004-nvcuda-Implement-new-functions-added-in-CUDA-6.5.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0005-nvcuda-Properly-wrap-undocumented-ContextStorage-int.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0006-nvcuda-Emulate-two-d3d9-initialization-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0007-nvcuda-Properly-wrap-stream-callbacks-by-forwarding-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0008-nvcuda-Add-support-for-CUDA-7.0.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0009-nvcuda-Implement-cuModuleLoad-wrapper-function.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0010-nvcuda-Search-for-dylib-library-on-Mac-OS-X.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuda-CUDA_Support/0011-nvcuda-Add-semi-stub-for-cuD3D10GetDevice.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0001-nvapi-First-implementation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0002-nvapi-Add-stubs-for-NvAPI_EnumLogicalGPUs-and-undocu.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0003-nvapi-Add-NvAPI_GetPhysicalGPUsFromLogicalGPU.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0004-nvapi-Add-stub-for-NvAPI_EnumPhysicalGPUs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0005-nvapi-Add-stubs-for-NvAPI_GPU_GetFullName.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0006-nvapi-Explicity-return-NULL-for-0x33c7358c-and-0x593.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0007-nvapi-Add-stub-for-NvAPI_DISP_GetGDIPrimaryDisplayId.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0008-nvapi-Add-stub-for-EnumNvidiaDisplayHandle.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0009-nvapi-Add-stub-for-NvAPI_SYS_GetDriverAndBranchVersi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0010-nvapi-Add-stub-for-NvAPI_Unload.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0011-nvapi-Add-stub-for-NvAPI_D3D_GetCurrentSLIState.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0012-nvapi-tests-Use-structure-to-list-imports.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0013-nvapi-Add-stub-for-NvAPI_GetLogicalGPUFromDisplay.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0014-nvapi-Add-stub-for-NvAPI_D3D_GetObjectHandleForResou.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0015-nvapi-Add-stub-for-NvAPI_D3D9_RegisterResource.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0016-nvapi-Improve-NvAPI_D3D_GetCurrentSLIState.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0017-nvapi-Implement-NvAPI_GPU_Get-Physical-Virtual-Frame.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0018-nvapi-Add-stub-for-NvAPI_GPU_GetGpuCoreCount.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0019-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvapi-Stub_DLL/0020-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0001-d3d11-Add-stub-deferred-rendering-context.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0002-wined3d-Add-wined3d_resource_map_info-function.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0003-d3d11-Initial-implementation-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0004-d3d11-Implement-CSSetShader-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0005-d3d11-Implement-CSSetConstantBuffers-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0006-d3d11-Implement-Dispatch-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0007-d3d11-Implement-CSSetUnorderedAccessViews-for-deferr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0008-d3d11-Implement-ClearRenderTargetView-for-deferred-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0009-d3d11-Implement-Draw-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0010-d3d11-Implement-ClearDepthStencilView-for-deferred-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0011-d3d11-Implement-GSSetShader-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0012-d3d11-Implement-GSSetConstantBuffers-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0013-d3d11-Implement-CSSetShaderResources-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0014-d3d11-Implement-GSSetShaderResources-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0015-d3d11-Implement-HSSetShaderResources-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0016-d3d11-Implement-VSSetShaderResources-for-deferred-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0017-d3d11-Implement-CSSetSamplers-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0018-d3d11-Implement-GSSetSamplers-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0019-d3d11-Implement-HSSetSamplers-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0020-d3d11-Implement-VSSetSamplers-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0021-d3d11-Implement-Begin-and-End-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0022-d3d11-Implement-CopyResource-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0023-d3d11-Implement-SetResourceMinLOD-for-deferred-conte.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0024-d3d11-Implement-CopySubresourceRegion-for-deferred-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0025-d3d11-Implement-ResolveSubresource-for-deferred-cont.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0026-d3d11-Implement-CopyStructureCount-for-deferred-cont.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0027-d3d11-Implement-DrawAuto-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0028-d3d11-Implement-DrawInstanced-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0029-d3d11-Implement-DrawInstancedIndirect-for-deferred-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0030-d3d11-Implement-DrawIndexedInstancedIndirect-for-def.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0031-d3d11-Implement-ClearUnorderedAccessViewUint-for-def.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0032-d3d11-Implement-ClearUnorderedAccessViewFloat-for-de.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0033-d3d11-Implement-RsSetScissorRects-for-deferred-conte.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0034-d3d11-Implement-OMSetRenderTargetsAndUnorderedAccess.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0035-d3d11-Implement-SOSetTargets-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0036-d3d11-Implement-GenerateMips-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0037-d3d11-Implement-DispatchIndirect-for-deferred-contex.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0038-d3d11-Implement-SetPredication-for-deferred-contexts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0039-d3d11-Implement-d3d11_deferred_context_UpdateSubreso.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0040-d3d11-Implement-restoring-of-state-after-executing-a.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0041-d3d11-Allow-NULL-pointer-for-initial-count-in-d3d11_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0042-d3d11-Correctly-align-map-info-buffer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0043-d3d11-tests-Add-a-basic-test-for-drawing-with-deferr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0044-d3d11-Support-ID3D11DeviceContext1-for-deferred-cont.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3d11-Deferred_Context/0045-d3d11-Implement-ID3D11Device2-GetImmediateContext1.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3drm-IDirect3D3-support/0001-d3drm-Support-IDirect3D3-when-creating-device.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-BumpLuminance/0002-d3dx9_36-Add-format-description-for-X8L8V8U8-for-for.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-CloneEffect/0001-d3dx9_36-Improve-stub-for-ID3DXEffectImpl_CloneEffec.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXDisassembleShader/0004-d3dx9_36-Implement-D3DXDisassembleShader.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXDisassembleShader/0005-d3dx9_36-tests-Add-initial-tests-for-D3DXDisassemble.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXDisassembleShader/0006-d3dx9_36-tests-Add-additional-tests-for-special-case.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXOptimizeVertices/0002-d3dx9_36-Add-semi-stub-for-D3DXOptimizeVertices.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXSHProjectCubeMap/0001-d3dx9_-Add-D3DXSHProjectCubeMap-stub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-D3DXStubs/0003-d3dx9-Implement-D3DXComputeTangent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-DDS/0001-d3dx9_36-Add-support-for-FOURCC-surface-to-save_dds_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-DDS/0002-d3dx9_36-Improve-D3DXSaveTextureToFile-to-save-simpl.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-Filter_Warnings/0001-d3dx9_36-Filter-out-D3DCompile-warning-messages-that.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/d3dx9_36-UpdateSkinnedMesh/0001-d3dx9_36-Implement-ID3DXSkinInfoImpl_UpdateSkinnedMe.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dbghelp-Debug_Symbols/0001-dbghelp-Always-check-for-debug-symbols-in-BINDIR.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-Device_Caps/0001-ddraw-Don-t-set-HWTRANSFORMANDLIGHT-flag-on-d3d7-RGB.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-Device_Caps/0002-ddraw-Set-dwZBufferBitDepth-in-ddraw7_GetCaps.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-IDirect3DTexture2_Load/0001-ddraw-Allow-size-and-format-conversions-in-IDirect3D.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-IDirect3DTexture2_Load/0002-ddraw-tests-Add-more-tests-for-IDirect3DTexture2-Loa.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-Silence_FIXMEs/0001-ddraw-Silence-noisy-FIXME-about-unimplemented-D3DPRO.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-Texture_Wrong_Caps/0001-ddraw-Allow-setting-texture-without-DDSCAPS_TEXTURE-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ddraw-version-check/0001-ddraw-Return-correct-devices-based-off-requested-Dir.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-Fast_Mixer/0001-dsound-Add-a-linear-resampler-for-use-with-a-large-n.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0001-dsound-Apply-filters-before-sound-is-multiplied-to-s.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0002-dsound-Add-EAX-v1-constants-and-structs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0003-dsound-Report-that-we-support-EAX-v1.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0004-dsound-Add-EAX-propset-stubs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0005-dsound-Add-EAX-presets.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0006-dsound-Support-getting-and-setting-EAX-properties.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0007-dsound-Support-getting-and-setting-EAX-buffer-proper.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0008-dsound-Add-EAX-init-and-free-stubs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0009-dsound-Feed-data-through-EAX-function.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0010-dsound-Allocate-EAX-delay-lines.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0011-dsound-Add-EAX-VerbPass-stub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0012-dsound-Implement-EAX-lowpass-filter.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0013-dsound-Add-delay-line-EAX-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0014-dsound-Implement-EAX-early-reflections.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0015-dsound-Implement-EAX-decorrelator.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0016-dsound-Implement-EAX-late-reverb.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0017-dsound-Implement-EAX-late-all-pass-filter.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0018-dsound-Various-improvements-to-EAX-support.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0019-dsound-Allow-disabling-of-EAX-support-in-the-registr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0020-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Listen.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0021-dsound-Add-stub-support-for-DSPROPSETID_EAX20_Buffer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0022-dsound-Enable-EAX-by-default.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dsound-EAX/0023-dsound-Fake-success-for-EAX-Set-Buffer-ListenerPrope.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dwrite-FontFallback/0001-dwrite-Test-IDWriteTextFormat-with-nonexistent-font.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dwrite-FontFallback/0002-dwrite-Test-GetMetrics-with-custom-fontcollection.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dwrite-FontFallback/0005-dwrite-Use-MapCharacters-for-non-visual-characters.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntoskrnl-Stubs/0011-ntoskrnl.exe-Add-IoGetDeviceAttachmentBaseRef-stub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winedevice-Default_Drivers/0001-win32k.sys-Add-stub-driver.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winedevice-Default_Drivers/0002-dxgkrnl.sys-Add-stub-driver.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winedevice-Default_Drivers/0003-dxgmms1.sys-Add-stub-driver.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0001-d3dpmesh-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0002-diactfrm-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0003-dimap-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0004-dpmodemx-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0005-dpnhupnp-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0006-dpvacm-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0007-dpvvox-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0008-dsdmoprp-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0009-dsound3d-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0010-dxapi.sys-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0011-dx7vb-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0012-encapi-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0013-gcdef-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0014-qdv-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0015-qedwipes-add-stub-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/dxdiag-new-dlls/0016-dpmodemx-Add-stub-SPInit.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0001-ntdll-Implement-retrieving-DOS-attributes-in-fd_-get.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0003-ntdll-Implement-storing-DOS-attributes-in-NtSetInfor.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0004-ntdll-Implement-storing-DOS-attributes-in-NtCreateFi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0005-libport-Add-support-for-Mac-OS-X-style-extended-attr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0006-libport-Add-support-for-FreeBSD-style-extended-attri.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0007-ntdll-Perform-the-Unix-style-hidden-file-check-withi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-DOS_Attributes/0008-ntdll-Always-store-SAMBA_XATTR_DOS_ATTRIB-when-path-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtQueryEaFile/0001-ntdll-Improve-stub-of-NtQueryEaFile.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0001-ntdll-Add-support-for-junction-point-creation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0002-ntdll-Add-support-for-reading-junction-points.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0004-ntdll-Add-a-test-for-junction-point-advertisement.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0005-server-Add-support-for-deleting-junction-points-with.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0006-kernel32-Advertise-junction-point-support.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0007-ntdll-Add-support-for-absolute-symlink-creation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0008-ntdll-Add-support-for-reading-absolute-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0009-ntdll-Add-support-for-deleting-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0010-ntdll-Add-support-for-relative-symlink-creation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0011-ntdll-Add-support-for-reading-relative-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0012-ntdll-Add-support-for-file-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0013-ntdll-Allow-creation-of-dangling-reparse-points-to-n.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0014-ntdll-Correctly-report-file-symbolic-links-as-files.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0015-kernelbase-Convert-FILE_FLAG_OPEN_REPARSE_POINT-for-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0016-server-Implement-FILE_OPEN_REPARSE_POINT-option.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0017-ntdll-Allow-set_file_times_precise-to-work-on-repars.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0018-server-Properly-handle-file-symlink-deletion.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0019-server-Properly-handle-deleting-dangling-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0020-kernelbase-Use-FILE_OPEN_REPARSE_POINT-in-RemoveDire.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0021-ntdll-Always-report-symbolic-links-as-containing-zer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0022-ntdll-Find-dangling-symlinks-quickly.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0023-kernel32-Implement-CreateSymbolicLink-A-W-with-ntdll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0024-kernel32-Add-reparse-support-to-FindNextFile.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0025-wcmd-Display-reparse-point-type-in-directory-listing.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0026-wcmd-Show-reparse-point-target-in-directory-listing.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0027-wcmd-Add-junction-point-support-to-mklink.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0028-server-Fix-obtaining-information-about-a-symlink.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0029-ntdll-Succeed-with-no-data-for-NtReadFile-on-reparse.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0030-ntdll-Support-reparse-point-properties-in-fd_get_fil.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0031-ntdll-Add-support-for-FileAttributeTagInformation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0032-server-Properly-handle-renames-involving-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0033-kernelbase-Use-FILE_OPEN_REPARSE_POINT-in-MoveFileWi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0034-kernelbase-Use-FILE_OPEN_REPARSE_POINT-in-DeleteFile.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0035-ntdll-Treat-undecoded-unix-symlinks-as-NT-symlinks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0036-ntdll-Strip-the-wine-prefix-from-reparse-point-paths.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0037-ntdll-Add-a-marker-to-reparse-point-paths-to-indicat.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Junction_Points/0038-server-Rewrite-absolute-reparse-point-targets-if-the.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-PeekMessage/0001-server-Fix-handling-of-GetMessage-after-previous-Pee.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Realtime_Priority/0001-wineserver-Draft-to-implement-priority-levels-throug.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Signal_Thread/0001-server-Do-not-signal-thread-until-it-is-really-gone.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0001-configure-Check-for-sys-eventfd.h-ppoll-and-shm_open.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0002-server-Create-server-objects-for-eventfd-based-synch.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0008-ntdll-Implement-NtSetEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0009-ntdll-Implement-NtResetEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0010-ntdll-Implement-waiting-on-manual-reset-events.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0011-server-Add-an-object-operation-to-grab-the-esync-fil.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0012-server-Add-a-request-to-get-the-eventfd-file-descrip.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0013-server-Create-eventfd-file-descriptors-for-process-o.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0014-ntdll-server-Implement-waiting-on-server-bound-objec.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0015-server-Create-eventfd-file-descriptors-for-event-obj.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0016-server-Allow-re-setting-esync-events-on-the-server-s.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0017-ntdll-Try-again-if-poll-returns-EINTR.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0018-server-Create-eventfd-file-descriptors-for-thread-ob.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0019-rpcrt4-Avoid-closing-the-server-thread-handle-while-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0020-server-Create-eventfd-file-descriptors-for-message-q.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0021-server-ntdll-Implement-message-waits.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0022-server-Create-eventfd-descriptors-for-device-manager.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0023-ntdll-server-Implement-NtCreateMutant.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0024-ntdll-Implement-NtReleaseMutant.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0025-ntdll-Implement-waiting-on-mutexes.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0026-ntdll-Implement-wait-all.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0027-esync-Add-a-README.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0028-ntdll-Implement-NtSignalAndWaitForSingleObject.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0029-ntdll-Implement-NtOpenSemaphore.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0030-ntdll-Implement-NtOpenEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0031-ntdll-Implement-NtOpenMutant.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0032-server-Implement-esync_map_access.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0033-server-Implement-NtDuplicateObject.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0034-server-Create-eventfd-descriptors-for-timers.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0035-ntdll-server-Implement-alertable-waits.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0036-esync-Update-README.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0037-kernel32-tests-Mark-some-existing-tests-as-failing-u.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0038-kernel32-tests-Add-some-semaphore-tests.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0039-kernel32-tests-Add-some-event-tests.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0040-kernel32-tests-Add-some-mutex-tests.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0041-kernel32-tests-Add-some-tests-for-wait-timeouts.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0042-kernel32-tests-Zigzag-test.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0043-ntdll-Implement-NtQuerySemaphore.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0044-ntdll-Implement-NtQueryEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0045-ntdll-Implement-NtQueryMutant.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0046-server-Create-eventfd-descriptors-for-pseudo-fd-obje.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0047-esync-Update-README.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0048-esync-Add-note-about-file-limits-not-being-raised-wh.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0051-esync-Update-README.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0052-ntdll-Implement-NtPulseEvent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0053-esync-Update-README.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0054-server-Create-esync-file-descriptors-for-true-file-o.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0055-ntdll-server-Abandon-esync-mutexes-on-thread-exit.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/eventfd_synchronization/0056-server-Create-esync-file-descriptors-for-console-ser.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/explorer-Video_Registry_Key/0001-explorer-Create-CurrentControlSet-Control-Video-regi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/fonts-Missing_Fonts/0001-fonts-Add-Liberation-Sans-as-an-Arial-replacement.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/fonts-Missing_Fonts/0002-fonts-Add-Liberation-Serif-as-an-Times-New-Roman-rep.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/fonts-Missing_Fonts/0003-fonts-Add-Liberation-Mono-as-an-Courier-New-replacem.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/fonts-Missing_Fonts/0004-fonts-Add-WenQuanYi-Micro-Hei-as-a-Microsoft-Yahei-r.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/fonts-Missing_Fonts/0005-Add-licenses-for-fonts-as-separate-files.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdi32-rotation/0001-gdi32-fix-for-rotated-Arc-ArcTo-Chord-and-Pie-drawin.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdiplus-Performance-Improvements/0001-gdiplus-Change-the-order-of-x-y-loops-in-the-scaler.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdiplus-Performance-Improvements/0002-gdiplus-Change-multiplications-by-additions-in-the-x.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdiplus-Performance-Improvements/0003-gdiplus-Remove-ceilf-floorf-calls-from-bilinear-scal.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/gdiplus-Performance-Improvements/0004-gdiplus-Prefer-using-pre-multiplied-ARGB-data-in-the.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/imm32-message_on_focus/0001-imm32-Only-generate-WM_IME_SETCONTEXT-message-if-win.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/include-winsock/0001-include-Always-define-hton-ntoh-macros.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/iphlpapi-System_Ping/0001-iphlpapi-Fallback-to-system-ping-when-ICMP-permissio.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-FileDispositionInformation/0001-ntdll-tests-Added-tests-to-set-disposition-on-file-w.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-FileDispositionInformation/0002-server-Do-not-allow-to-set-disposition-on-file-which.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/kernel32-CopyFileEx/0001-kernel32-Add-support-for-progress-callback-in-CopyFi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/kernel32-Job_Tests/0001-kernel32-tests-Add-tests-for-job-object-accounting.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/kernel32-Processor_Group/0002-kernel32-Add-stub-for-SetThreadIdealProcessorEx.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/krnl386.exe16-GDT_LDT_Emulation/0001-krnl386.exe16-Emulate-GDT-and-LDT-access.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/krnl386.exe16-Invalid_Console_Handles/0001-krnl386.exe16-Really-translate-all-invalid-console-h.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0001-kernelbase-Implement-sortkey-generation-on-official-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0002-kernelbase-Implement-sortkey-punctuation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0003-kernelbase-Implement-sortkey-for-Japanese-characters.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0004-kernelbase-Implement-sortkey-expansion.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0005-kernelbase-Implement-sortkey-language-support.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/libs-Unicode_Collation/0006-kernelbase-Implement-CompareString-functions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/loader-KeyboardLayouts/0001-loader-Add-Keyboard-Layouts-registry-enteries.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/loader-KeyboardLayouts/0002-user32-Improve-GetKeyboardLayoutList.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mmsystem.dll16-MIDIHDR_Refcount/0001-mmsystem.dll16-Refcount-midihdr-to-work-around-buggy.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mmsystem.dll16-MIDIHDR_Refcount/0002-mmsystem.dll16-Translate-MidiIn-messages.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mountmgr-DosDevices/0001-mountmgr.sys-Write-usable-device-paths-into-HKLM-SYS.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mscoree-CorValidateImage/0001-mscoree-Implement-_CorValidateImage.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mshtml-HTMLLocation_put_hash/0001-mshtml-Add-IHTMLLocation-hash-property-s-getter-impl.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/mshtml-TranslateAccelerator/0001-mshtml-Improve-IOleInPlaceActiveObject-TranslateAcce.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/msi-msi_vcl_get_cost/0001-msi-Do-not-sign-extend-after-multiplying.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/msvcrt-Math_Precision/0001-msvcrt-Calculate-sinh-cosh-exp-pow-with-higher-preci.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/msxml3-FreeThreadedXMLHTTP60/0002-include-Add-IXMLHTTPRequest2-3-interfaces.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/msxml3-FreeThreadedXMLHTTP60/0003-msxml3-Implement-FreeThreadedXMLHTTP60.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-APC_Performance/0001-ntdll-Reuse-old-async-fileio-structures-if-possible.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Activation_Context/0001-ntdll-Fix-return-value-for-missing-ACTIVATION_CONTEX.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ApiSetMap/0001-ntdll-Add-dummy-apiset-to-PEB.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ForceBottomUpAlloc/0001-ntdll-Increase-step-after-failed-map-attempt-in-try_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ForceBottomUpAlloc/0002-ntdll-Increase-free-ranges-view-block-size-on-64-bit.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ForceBottomUpAlloc/0003-ntdll-Force-virtual-memory-allocation-order.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ForceBottomUpAlloc/0004-ntdll-Exclude-natively-mapped-areas-from-free-areas-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0001-ntdll-Trigger-write-watches-before-passing-userdata-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0003-ntdll-Setup-a-temporary-signal-handler-during-proces.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0004-ntdll-Properly-handle-PAGE_WRITECOPY-protection.-try.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0005-ntdll-Track-if-a-WRITECOPY-page-has-been-modified.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0006-ntdll-Support-WRITECOPY-on-x64.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0007-ntdll-Report-unmodified-WRITECOPY-pages-as-shared.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0008-ntdll-Fallback-to-copy-pages-for-WRITECOPY.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-WRITECOPY/0009-kernel32-tests-psapi-tests-Update-tests.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Builtin_Prot/0001-ntdll-Fix-holes-in-ELF-mappings.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-CriticalSection/0002-ntdll-Add-inline-versions-of-RtlEnterCriticalSection.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-CriticalSection/0003-ntdll-Use-fast-CS-functions-for-heap-locking.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-CriticalSection/0004-ntdll-Use-fast-CS-functions-for-threadpool-locking.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Dealloc_Thread_Stack/0001-ntdll-Do-not-allow-to-allocate-thread-stack-for-curr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Exception/0002-ntdll-OutputDebugString-should-throw-the-exception-a.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-FileFsFullSizeInformation/0001-ntdll-Add-support-for-FileFsFullSizeInformation-clas.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-HashLinks/0002-ntdll-Use-HashLinks-when-searching-for-a-dll-using-t.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Heap_Improvements/0001-ntdll-Add-helper-function-to-delete-free-blocks.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Heap_Improvements/0002-ntdll-Improve-heap-allocation-performance.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Hide_Wine_Exports/0001-ntdll-Add-support-for-hiding-wine-version-informatio.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Manifest_Range/0001-ntdll-Support-ISOLATIONAWARE_MANIFEST_RESOURCE_ID-ra.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0002-ntdll-tests-Add-some-tests-for-Rtl-resources.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0003-ntdll-Use-a-separate-mutex-to-lock-the-TEB-list.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0004-ntdll-Implement-NtAlertThreadByThreadId-and-NtWaitFo.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0005-ntdll-tests-Add-basic-tests-for-thread-id-alert-func.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0006-ntdll-Implement-thread-id-alerts-on-top-of-futexes-i.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0007-ntdll-Implement-thread-id-alerts-on-top-of-Mach-sema.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0009-ntdll-Reimplement-Win32-futexes-on-top-of-thread-ID-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0010-ntdll-Merge-critsection.c-into-sync.c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0011-ntdll-Reimplement-the-critical-section-fast-path-on-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0012-ntdll-Get-rid-of-the-direct-futex-path-for-condition.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtAlertThreadByThreadId/0013-ntdll-Reimplement-SRW-locks-on-top-of-Win32-futexes.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Pipe_SpecialCharacters/0001-ntdll-Allow-special-characters-in-pipe-names.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtQuerySection/0002-kernel32-tests-Add-tests-for-NtQuerySection.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtSetLdtEntries/0001-ntdll-Implement-NtSetLdtEntries.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-NtSetLdtEntries/0002-libs-wine-Allow-to-modify-reserved-LDT-entries.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ProcessQuotaLimits/0001-ntdll-Add-fake-data-implementation-for-ProcessQuotaL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-RtlFirstFreeAce/0001-ntdll-Check-return-parameter-before-use.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-RtlFirstFreeAce/0002-ntdll-RtlFirstFreeAce-only-return-FALSE-on-error.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-RtlQueryProcessPlaceholderCompatibilityMode/0001-ntdll-Add-stub-for-RtlQueryProcessPlaceholderCompati.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Serial_Port_Detection/0001-ntdll-Do-a-device-check-before-returning-a-default-s.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Syscall_Emulation/0001-ntdll-Support-x86_64-syscall-emulation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-SystemCodeIntegrityInformation/0001-ntdll-NtQuerySystemInformation-support-SystemCodeInt.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-Zero_mod_name/0001-ntdll-Initialize-mod_name-to-zero.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-aarch-TEB/0001-configure-Avoid-clobbering-x18-on-arm64-within-wine.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-aarch-TEB/0002-ntdll-Always-restore-TEB-to-x18-on-aarch-64-on-retur.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-ext4-case-folder/0002-ntdll-server-Mark-drive_c-as-case-insensitive-when-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ntdll-x86_64_SegDs/0001-ntdll-Report-SegDs-to-be-identical-to-SegSs-on-x86_6.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvcuvid-CUDA_Video_Support/0001-nvcuvid-First-implementation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvencodeapi-Video_Encoder/0001-nvencodeapi-First-implementation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvencodeapi-Video_Encoder/0002-nvencodeapi-Add-debian-specific-paths-to-native-libr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/nvencodeapi-Video_Encoder/0003-nvencodeapi-Add-support-for-version-6.0.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-CreateTypeLib/0001-oleaut32-Implement-semi-stub-for-CreateTypeLib.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-Load_Save_EMF/0001-oleaut32-tests-Add-some-tests-for-loading-and-saving.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OLEPictureImpl_SaveAsFile/0002-oleaut32-Implement-a-better-stub-for-IPicture-SaveAs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OLEPictureImpl_SaveAsFile/0003-oleaut32-Implement-SaveAsFile-for-PICTYPE_ENHMETAFIL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OleLoadPicture/0001-oleaut32-OleLoadPicture-should-create-a-DIB-section-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OleLoadPicture/0002-oleaut32-Make-OleLoadPicture-load-DIBs-using-WIC-dec.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OleLoadPictureFile/0001-oleaut32-Do-not-reimplement-OleLoadPicture-in-OleLoa.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/oleaut32-OleLoadPictureFile/0003-oleaut32-Implement-OleLoadPictureFile.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/packager-DllMain/0001-packager-Prefer-native-version.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/pdh-PdhLookupPerfNameByIndex-processor/0001-pdh-Support-the-Processor-object-string.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/programs-findstr/0001-findstr-add-basic-functionality-also-support-literal.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/programs-systeminfo/0001-systeminfo-add-basic-functionality.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/quartz-MediaSeeking_Positions/0001-strmbase-Fix-MediaSeekingPassThru_GetPositions-retur.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/riched20-Class_Tests/0001-riched20-tests-Add-a-test-to-see-what-richedit-class.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/riched20-IText_Interface/0003-riched20-Stub-for-ITextPara-interface-and-implement-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/riched20-IText_Interface/0010-riched20-Silence-repeated-FIXMEs-triggered-by-Adobe-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-FileEndOfFileInformation/0001-ntdll-Set-EOF-on-file-which-has-a-memory-mapping-sho.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-FileEndOfFileInformation/0002-server-Growing-files-which-are-mapped-to-memory-shou.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0001-server-Improve-STATUS_CANNOT_DELETE-checks-for-direc.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0003-server-When-creating-new-directories-temporarily-giv.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0005-advapi32-tests-Add-ACL-inheritance-tests-for-creatin.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0006-ntdll-tests-Added-tests-for-open-behaviour-on-readon.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0007-server-FILE_WRITE_ATTRIBUTES-should-succeed-for-read.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-File_Permissions/0008-server-Improve-mapping-of-DACL-to-file-permissions.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Key_State/0001-server-Introduce-a-helper-function-to-update-the-thr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Key_State/0002-server-Implement-locking-and-synchronization-of-keys.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0002-server-Unify-the-retrieval-of-security-attributes-fo.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0003-server-Add-a-helper-function-set_sd_from_token_inter.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0005-server-Store-file-security-attributes-with-extended-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-default_integrity/0001-server-Create-processes-using-a-limited-administrato.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-default_integrity/0002-shell32-Implement-the-runas-verb.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/server-default_integrity/0003-wine.inf-Set-the-EnableLUA-value-to-1.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0001-setupapi-Rewrite-DiskSpaceList-logic-using-lists.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0002-setupapi-Implement-SetupAddToDiskSpaceList.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0003-setupapi-Implement-SetupQueryDrivesInDiskSpaceList.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0004-setupapi-Ignore-deletion-of-added-files-in-SetupAddT.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0005-setupapi-ImplementSetupAddSectionToDiskSpaceList.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/setupapi-DiskSpaceList/0006-setupapi-Implement-SetupAddInstallSectionToDiskSpace.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-SHFileOperation_Move/0001-shell32-Fix-SHFileOperation-FO_MOVE-for-creating-sub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Progress_Dialog/0001-shell32-Correct-indentation-in-shfileop.c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Progress_Dialog/0002-shell32-Pass-FILE_INFORMATION-into-SHNotify-function.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Progress_Dialog/0003-shell32-Implement-file-operation-progress-dialog.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Progress_Dialog/0004-shell32-Show-animation-during-SHFileOperation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-ACE_Viewer/0002-shell32-Add-security-property-tab.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0001-shell32-Fix-copying-of-files-when-using-a-context-me.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0002-shell32-Set-return-value-correctly-in-DoPaste.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0003-shell32-Implement-insert-paste-for-item-context-menu.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0005-shell32-Add-support-for-setting-getting-PREFERREDDRO.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0006-shell32-Add-parameter-to-ISFHelper-DeleteItems-to-al.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0007-shell32-Remove-source-files-when-using-cut-in-the-co.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Context_Menu/0008-shell32-Recognize-cut-copy-paste-string-verbs-in-ite.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-IconCache/0001-shell32-iconcache-Generate-icons-from-available-icons-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-NewMenu_Interface/0001-shell32-Implement-NewMenu-with-new-folder-item.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-SFGAO_HASSUBFOLDER/0001-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-unixfs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-SFGAO_HASSUBFOLDER/0002-shell32-Set-SFGAO_HASSUBFOLDER-correctly-for-normal-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-SHGetStockIconInfo/0001-shell32-Improve-semi-stub-SHGetStockIconInfo-try-fin.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Toolbar_Bitmaps/0001-shell32-Add-toolbar-bitmaps-compatible-with-IE6.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-Toolbar_Bitmaps/0002-shell32-Add-more-Tango-icons-to-the-IE-toolbar.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shell32-UnixFS/0001-shell32-Do-not-use-unixfs-for-devices-without-mountp.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-AssocGetPerceivedType/0001-shlwapi-tests-Add-tests-for-AssocGetPerceivedType.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-AssocGetPerceivedType/0002-shlwapi-Implement-AssocGetPerceivedType.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-SHAddDataBlock/0001-shlwapi-Fix-the-return-value-of-SHAddDataBlock.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-UrlCanonicalize/0001-shlwapi-Support-.-in-UrlCanonicalize.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-UrlCombine/0001-shlwapi-tests-Add-additional-tests-for-UrlCombine-and-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/shlwapi-UrlCombine/0002-shlwapi-UrlCombineW-workaround-for-relative-paths.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/stdole32.idl-Typelib/0001-include-Make-stdole32.idl-a-public-component.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0001-widl-Add-initial-implementation-of-SLTG-typelib-gene.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0002-widl-Add-support-for-structures.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0003-widl-Properly-align-name-table-entries.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0004-widl-More-accurately-report-variable-descriptions-da.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0005-widl-Calculate-size-of-instance-for-structures.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0006-widl-Write-correct-typekind-to-the-SLTG-typeinfo-blo.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0007-widl-Write-SLTG-blocks-according-to-the-index-order.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0008-widl-Write-correct-syskind-by-SLTG-typelib-generator.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0009-widl-Add-support-for-VT_VOID-and-VT_VARIANT-to-SLTG-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0010-widl-Add-support-for-VT_USERDEFINED-to-SLTG-typelib-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0011-widl-Factor-out-SLTG-tail-initialization.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0012-widl-Add-support-for-recursive-type-references-to-SL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0013-widl-Add-support-for-interfaces-to-SLTG-typelib-gene.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0014-widl-Add-support-for-inherited-interfaces-to-SLTG-ty.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0015-widl-Make-automatic-dispid-generation-scheme-better-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0016-widl-Create-library-block-index-right-after-the-Comp.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0017-widl-Fix-generation-of-resources-containing-an-old-t.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0018-widl-Add-oldtlb-switch-in-usage-message.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0019-widl-Avoid-relying-on-side-effects-when-marking-func.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0020-widl-Set-the-lowest-bit-in-the-param-name-to-indicat.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0021-oleaut32-Fix-logic-for-deciding-whether-type-descrip.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0022-widl-Add-support-for-function-parameter-flags-to-SLT.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0023-oleaut32-Implement-decoding-of-SLTG-help-strings.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0025-oleaut32-Add-support-for-decoding-SLTG-variable-help.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/widl-SLTG_Typelib_Support/0026-widl-Minor-cosmetic-clean-up.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/stdole32.tlb-SLTG_Typelib/0020-stdole32.tlb-Compile-typelib-with-oldtlb.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/tasklist-basics/0001-tasklist.exe-add-minimal-functionality.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-DM_SETDEFID/0001-user32-Do-not-initialize-dialog-info-for-every-windo.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-DM_SETDEFID/0002-user32-Use-root-dialog-for-DM_SETDEFID-DM_GETDEFID-i.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-DM_SETDEFID/0003-user32-tests-Add-a-bunch-of-tests-for-DM_SETDEFID-DM.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Dialog_Paint_Event/0001-user32-Call-UpdateWindow-during-DIALOG_CreateIndirec.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-DrawTextExW/0001-user32-Fix-handling-of-invert_y-in-DrawTextExW.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-FlashWindowEx/0001-user32-Improve-FlashWindowEx-message-and-return-valu.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-GetSystemMetrics/0001-user32-Allow-changing-the-tablet-media-center-status.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Implement-CascadeWindows/0001-user32-Implement-CascadeWindows.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Implement-CascadeWindows/0002-user32-Implement-TileWindows.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-InternalGetWindowIcon/0001-user32-AddInternalGetWindowIcon-stub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-LR_LOADFROMFILE/0001-user32-Add-a-workaround-for-Windows-3.1-apps-which-c.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-ListBox_Size/0001-user32-Fix-calculation-of-listbox-size-when-horizont.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-LoadKeyboardLayoutEx/0001-user32-Added-LoadKeyboardLayoutEx-stub.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-MessageBox_WS_EX_TOPMOST/0001-user32-tests-Add-some-tests-to-see-when-MessageBox-g.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-MessageBox_WS_EX_TOPMOST/0002-user32-MessageBox-should-be-topmost-when-MB_SYSTEMMO.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Mouse_Message_Hwnd/0001-user32-Try-harder-to-find-a-target-for-mouse-message.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Mouse_Message_Hwnd/0002-user32-tests-Add-tests-for-clicking-through-layered-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Mouse_Message_Hwnd/0003-user32-tests-Add-tests-for-window-region-of-layered-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Mouse_Message_Hwnd/0004-user32-tests-Add-tests-for-DC-region.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Mouse_Message_Hwnd/0005-server-Add-support-for-a-layered-window-region.-v2.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-QueryDisplayConfig/0001-user32-Implement-QueryDisplayConfig.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-Refresh_MDI_Menus/0001-user32-Refresh-MDI-menus-when-DefMDIChildProcW-WM_SE.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-ScrollWindowEx/0001-user32-Fix-return-value-of-ScrollWindowEx-for-invisi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-message-order/0001-user32-Fix-messages-sent-on-a-window-without-WS_CHIL.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-msgbox-Support-WM_COPY-mesg/0001-user32-msgbox-Support-WM_COPY-Message.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-msgbox-Support-WM_COPY-mesg/0002-user32-msgbox-Use-a-windows-hook-to-trap-Ctrl-C.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11.drv-mouse-coorrds/0001-winex11.drv-mouse-Use-root-relative-coordinates-for-ev.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0006-server-Add-send_hardware_message-flags-for-rawinput-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0007-user32-Add-__wine_send_input-flags-to-hint-raw-input.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0008-winex11.drv-Advertise-XInput2-version-2.1-support.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0009-winex11.drv-Keep-track-of-pointer-and-device-button-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0010-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse/0011-winex11.drv-Move-header-order.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-hid/0001-server-Add-process-argument-to-find_rawinput_device.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-hid/0002-server-Allow-extra-data-for-hardware_msg_data-messag.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-hid/0003-server-Make-it-possible-to-queue-rawinput-message-on.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-hid/0004-server-Add-HID-input-message-type-to-send_hardware_m.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-hid/0005-hidclass.sys-Send-input-message-to-server-when-HID-r.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse-experimental/0001-winex11.drv-Add-support-for-absolute-RawMotion-event.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse-experimental/0002-winex11.drv-Send-relative-RawMotion-events-unprocess.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-rawinput-mouse-experimental/0003-winex11.drv-Accumulate-mouse-movement-to-avoid-round.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-recursive-activation/0001-user32-focus-Prevent-a-recursive-loop-with-the-activ.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/user32-recursive-activation/0002-user32-tests-Test-a-recursive-activation-loop-on-WM_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/uxtheme-CloseThemeClass/0001-uxtheme-Protect-CloseThemeData-from-invalid-input.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/version-VerQueryValue/0001-version-Test-for-VerQueryValueA-try-2.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/windowscodecs-GIF_Encoder/0007-windowscodecs-tests-Add-IWICBitmapEncoderInfo-test.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/windowscodecs-TIFF_Support/0015-windowscodecs-Tolerate-partial-reads-in-the-IFD-meta.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/windowscodecs-TIFF_Support/0016-gdiplus-Add-support-for-more-image-color-formats.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/windowscodecs-TIFF_Support/0017-gdiplus-tests-Add-some-tests-for-loading-TIFF-images.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wine.inf-Directory_ContextMenuHandlers/0001-wine.inf-Add-New-context-menu-handler-entry-for-dire.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wine.inf-Dummy_CA_Certificate/0001-wine.inf.in-Add-invalid-dummy-certificate-to-CA-cert.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wine.inf-Performance/0001-wine.inf-Add-registry-keys-for-Windows-Performance-L.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wine.inf-Performance/0002-wine.inf-Add-Counters-to-the-perflib-key-as-an-alias.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wine.inf-Performance/0003-advapi32-tests-Add-test-for-perflib-registry-key.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wineboot-DriveSerial/0001-wineboot-Assign-a-drive-serial-number-during-prefix-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wineboot-HKEY_DYN_DATA/0001-wineboot-Add-some-generic-hardware-in-HKEY_DYN_DATA-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wineboot-drivers_etc_Stubs/0001-wineboot-Init-system32-drivers-etc-host-networks-pro.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wineboot-ProxySettings/0001-wineboot-Initialize-proxy-settings-registry-key.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Libraries/0001-winecfg-Double-click-in-dlls-list-to-edit-item-s-ove.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Staging/0001-winecfg-Add-staging-tab-for-CSMT.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Staging/0002-winecfg-Add-checkbox-to-enable-disable-vaapi-GPU-dec.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Staging/0003-winecfg-Add-checkbox-to-enable-disable-EAX-support.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Staging/0004-winecfg-Add-checkbox-to-enable-disable-HideWineExpor.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winecfg-Staging/0005-winecfg-Add-option-to-enable-disable-GTK3-theming.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Accounting/0001-wined3d-Use-real-values-for-memory-accounting-on-NVI.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-CSMT_Main/0045-wined3d-Improve-wined3d_cs_emit_update_sub_resource.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-SWVP-shaders/0001-wined3d-Use-UBO-for-vertex-shader-float-constants-if.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-SWVP-shaders/0002-d3d9-Support-SWVP-vertex-shader-float-constants-limi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-SWVP-shaders/0003-wined3d-Report-actual-vertex-shader-float-constants-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-SWVP-shaders/0004-wined3d-Support-SWVP-vertex-shader-constants-limit-i.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-SWVP-shaders/0005-wined3d-Support-SWVP-mode-vertex-shaders.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Indexed_Vertex_Blending/0001-d3d9-tests-Add-test-for-indexed-vertex-blending.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Indexed_Vertex_Blending/0002-d3d9-tests-Test-normal-calculation-when-indexed-vert.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Indexed_Vertex_Blending/0003-d3d9-tests-Check-MaxVertexBlendMatrixIndex-capabilit.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Indexed_Vertex_Blending/0004-wined3d-Allow-higher-world-matrix-states.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Indexed_Vertex_Blending/0005-wined3d-Support-indexed-vertex-blending.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-Silence_FIXMEs/0004-wined3d-Print-FIXME-only-once-in-surface_cpu_blt.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-WINED3DFMT_B8G8R8X8_UNORM/0001-wined3d-Implement-WINED3DFMT_B8G8R8X8_UNORM-to-WINED.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-mesa_texture_download/0001-wined3d-Use-glReadPixels-for-RT-texture-download.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-unset-flip-gdi/0001-wined3d-Dont-set-DDSCAPS_FLIP-for-gdi-renderer.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-wined3d_guess_gl_vendor/0001-wined3d-Also-check-for-Brian-Paul-to-detect-Mesa-gl_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wined3d-zero-inf-shaders/0001-wined3d-Add-a-setting-to-workaround-0-inf-problem-in.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winedbg-Process_Arguments/0001-programs-winedbg-Print-process-arguments-in-info-thr.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winemapi-user-xdg-mail/0001-winemapi-Directly-use-xdg-email-if-available-enablin.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winemenubuilder-Desktop_Icon_Path/0001-winemenubuilder-Create-desktop-shortcuts-with-absolu.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winemenubuilder-integration/0001-winemenubuilder-Blacklist-desktop-integration-for-ce.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wineps.drv-PostScript_Fixes/0004-wineps.drv-Add-support-for-GETFACENAME-and-DOWNLOADF.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winepulse-PulseAudio_Support/0001-winepulse.drv-Use-a-separate-mainloop-and-ctx-for-pu.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winepulse-PulseAudio_Support/0003-winepulse-expose-audio-devices-directly-to-programs.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winepulse-PulseAudio_Support/0005-winepulse-implement-GetPropValue.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winepulse-PulseAudio_Support/0006-winepulse-fetch-actual-program-name-if-possible.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winepulse-PulseAudio_Support/0007-winepulse-return-PKEY_AudioEndpoint_PhysicalSpeakers.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-CandidateWindowPos/0001-winex11.drv-Update-a-candidate-window-s-position-wit.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-MWM_Decorations/0001-winex11.drv-Don-t-use-MWM_DECOR_RESIZEH-window-resiz.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-MWM_Decorations/0002-winex11.drv-Don-t-add-MWM_DECOR_BORDER-to-windows-wi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-UpdateLayeredWindow/0001-winex11-Fix-alpha-blending-in-X11DRV_UpdateLayeredWi.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-Vulkan_support/0001-winex11-Specify-a-default-vulkan-driver-if-one-not-f.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-Window_Style/0001-winex11-Fix-handling-of-window-attributes-for-WS_EX_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-XEMBED/0001-winex11-Enable-disable-windows-when-they-are-un-mapped.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-ime-check-thread-data/0001-winex11.drv-handle-missing-thread-data-in-X11DRV_get_ic.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-key_translation/0001-winex11-Match-keyboard-in-Unicode.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-key_translation/0002-winex11-Fix-more-key-translation.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-key_translation/0003-winex11.drv-Fix-main-Russian-keyboard-layout.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11-wglShareLists/0001-winex11.drv-Only-warn-about-used-contexts-in-wglShar.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winex11.drv-Query_server_position/0001-winex11.drv-window-Query-the-X-server-for-the-actual.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wininet-Cleanup/0001-wininet-tests-Add-more-tests-for-cookies.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wininet-Cleanup/0002-wininet-tests-Test-auth-credential-reusage-with-host.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wininet-Cleanup/0003-wininet-tests-Check-cookie-behaviour-when-overriding.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wininet-Cleanup/0004-wininet-Strip-filename-if-no-path-is-set-in-cookie.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wininet-Cleanup/0005-wininet-Replacing-header-fields-should-fail-if-they-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winmm-Delay_Import_Depends/0001-winmm-Delay-import-ole32-msacm32-to-workaround-bug-w.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/winmm-mciSendCommandA/0001-winmm-Do-not-crash-in-Win-9X-mode-when-an-invalid-de.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wintab32-improvements/0002-wintab32-Set-lcSysExtX-Y-for-the-first-index-of-WTI_.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wintab32-improvements/0003-winex11-Handle-negative-orAltitude-values.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wintab32-improvements/0004-winex11.drv-Support-multiplex-categories-WTI_DSCTXS-.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wintab32-improvements/0005-winex11-Support-WTI_STATUS-in-WTInfo.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wintrust-WTHelperGetProvCertFromChain/0001-wintrust-Add-parameter-check-in-WTHelperGetProvCertF.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wpcap-Dynamic_Linking/0001-wpcap-Load-libpcap-dynamically.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ws2_32-APC_Performance/0001-ws2_32-Reuse-old-async-ws2_async_io-structures-if-po.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ws2_32-Connect_Time/0001-ws2_32-Implement-returning-the-proper-time-with-SO_C.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/ws2_32-getsockopt/0001-ws2_32-Divide-values-returned-by-SO_RCVBUF-and-SO_SN.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/wtsapi32-EnumerateProcesses/0001-wtsapi32-Partial-implementation-of-WTSEnumerateProce.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine-initial/0001-x3daudio1_7-Create-import-library.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine-initial/0003-xactengine3_7-tests-Add-Global-settings-test.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0001-include-Add-xact2wb.h.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0002-include-Add-xact.h.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0003-xactengine2_10-Add-new-dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0004-xactengine2_10-Implement-IXACTEngine-interface.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0005-xactengine2_10-Implement-IXACTSoundBank-interface.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0006-xactengine2_10-Implement-IXACTCue-Interface.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0007-xactengine2_10-Implement-IXACTWaveBank-interface.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0008-xactengine2_10-Implement-IXACTEngine-CreateStreaming.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0009-xactengine2_10-Implement-IXACTWave-interface.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0010-xactengine2_10-Implement-IXACTSoundBank-Play-functio.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0011-xactengine2_10-Implement-IXACTWaveBank-Play-function.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0012-xactengine2_10-Implement-IXACTEngine-Un-RegisterNoti.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0013-xactengine2_9-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0014-xactengine2_8-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0015-xactengine2_7-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0016-xactengine2_6-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0017-xactengine2_5-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0018-xactengine2_4-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0019-xactengine2_3-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0020-xactengine2_2-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0021-xactengine2_1-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine2-dll/0022-xactengine2_0-New-Dll.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine3_7-Notification/0001-xactengine3.7-Delay-Notication-for-WAVEBANKPREPARED.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine3_7-Notification/0002-xactengine3_7-Record-context-for-each-notications.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine3_7-PrepareWave/0002-xactengine3_7-Implement-IXACT3Engine-PrepareStreamin.patch
Applying /tmp/makepkg/proton-ge-custom/src/proton-ge-custom/wine-staging/patches/xactengine3_7-PrepareWave/0003-xactengine3_7-Implement-IXACT3Engine-PrepareInMemory.patch
include/wine/server_protocol.h updated
include/wine/server_protocol.h updated
server/trace.c updated
server/request.h updated
patching file dlls/imm32/Makefile.in
patching file dlls/imm32/imm.c
Hunk #7 succeeded at 1735 (offset 3 lines).
Hunk #8 succeeded at 1790 (offset 3 lines).
Hunk #9 succeeded at 1833 (offset 3 lines).
patching file dlls/imm32/imm32.spec
patching file dlls/imm32/tests/imm32.c
patching file dlls/user32/focus.c
Hunk #1 succeeded at 165 (offset 9 lines).
patching file dlls/user32/misc.c
patching file dlls/user32/user_private.h
Hunk #1 succeeded at 211 (offset 1 line).
mech warrior online
patching file dlls/ntdll/path.c
Hunk #1 succeeded at 438 (offset -5 lines).
Hunk #2 succeeded at 468 (offset -5 lines).
assetto corsa
patching file dlls/dwrite/font.c
Hunk #1 succeeded at 4464 (offset 116 lines).
origin downloads fix
patching file server/named_pipe.c
Hunk #1 succeeded at 1246 (offset 84 lines).
mk11 patch
patching file dlls/ntdll/signal_x86_64.c
Hunk #3 succeeded at 487 with fuzz 2 (offset -2004 lines).
patching file dlls/ws2_32/Makefile.in
patching file dlls/winex11.drv/display.c
Hunk #1 succeeded at 606 (offset -128 lines).
killer instinct vulkan fix
patching file dlls/winevulkan/vulkan.c
Hunk #1 succeeded at 864 (offset 214 lines).
Hunk #2 succeeded at 918 (offset 223 lines).
clock monotonic
patching file dlls/ntdll/unix/sync.c
Hunk #1 succeeded at 99 (offset 2 lines).
patching file server/request.c
Hunk #1 succeeded at 539 (offset 1 line).
patching file dlls/ntdll/unix/sync.c
Hunk #1 succeeded at 84 with fuzz 2 (offset 2 lines).
Hunk #2 succeeded at 138 with fuzz 1 (offset 2 lines).
patching file server/request.c
Hunk #1 succeeded at 525 (offset 1 line).
Hunk #2 succeeded at 578 (offset 1 line).
applying fsync patches
patching file dlls/ntdll/Makefile.in
Hunk #1 succeeded at 46 with fuzz 2 (offset -2 lines).
patching file dlls/ntdll/unix/esync.c
patching file dlls/ntdll/unix/fsync.c
patching file dlls/ntdll/unix/fsync.h
patching file dlls/ntdll/unix/loader.c
Hunk #1 succeeded at 90 (offset 3 lines).
Hunk #2 succeeded at 1595 (offset 29 lines).
patching file dlls/ntdll/unix/server.c
Hunk #2 succeeded at 1766 (offset 67 lines).
patching file dlls/ntdll/unix/sync.c
Hunk #2 succeeded at 309 (offset 46 lines).
Hunk #3 succeeded at 338 (offset 37 lines).
Hunk #4 succeeded at 380 (offset 46 lines).
Hunk #5 succeeded at 408 (offset 31 lines).
Hunk #6 succeeded at 440 with fuzz 2 (offset 33 lines).
Hunk #7 succeeded at 473 (offset 29 lines).
Hunk #8 succeeded at 502 with fuzz 1 (offset 25 lines).
Hunk #9 succeeded at 528 with fuzz 1 (offset 26 lines).
Hunk #10 succeeded at 563 (offset 26 lines).
Hunk #11 succeeded at 601 (offset 36 lines).
Hunk #12 succeeded at 632 (offset 23 lines).
Hunk #13 succeeded at 664 (offset 19 lines).
Hunk #14 succeeded at 692 (offset 14 lines).
Hunk #15 succeeded at 728 (offset 23 lines).
Hunk #16 succeeded at 1501 (offset 172 lines).
Hunk #17 succeeded at 1540 (offset 167 lines).
Hunk #18 succeeded at 1576 (offset 175 lines).
patching file dlls/ntdll/unix/unix_private.h
Hunk #1 succeeded at 61 (offset 2 lines).
patching file dlls/ntdll/unix/virtual.c
Hunk #1 succeeded at 2954 (offset 271 lines).
patching file server/Makefile.in
patching file server/async.c
Hunk #1 succeeded at 73 (offset 2 lines).
Hunk #2 succeeded at 502 (offset 15 lines).
patching file server/atom.c
patching file server/change.c
Hunk #1 succeeded at 115 (offset -1 lines).
patching file server/clipboard.c
patching file server/completion.c
Hunk #1 succeeded at 77 (offset 12 lines).
patching file server/console.c
Hunk #2 succeeded at 84 with fuzz 2 (offset 1 line).
Hunk #3 succeeded at 142 (offset 4 lines).
Hunk #4 succeeded at 149 with fuzz 2.
Hunk #5 succeeded at 165 (offset 5 lines).
Hunk #6 succeeded at 235 (offset 6 lines).
Hunk #7 succeeded at 285 (offset 7 lines).
Hunk #8 succeeded at 324 with fuzz 1 (offset 20 lines).
Hunk #9 succeeded at 382 with fuzz 1 (offset 47 lines).
Hunk #10 succeeded at 441 (offset 67 lines).
Hunk #11 succeeded at 587 (offset -10 lines).
Hunk #12 succeeded at 901 (offset 112 lines).
Hunk #13 succeeded at 940 with fuzz 2 (offset 112 lines).
Hunk #14 succeeded at 1542 (offset -28 lines).
Hunk #15 succeeded at 1646 (offset -28 lines).
patching file server/debugger.c
Hunk #1 succeeded at 88 (offset 14 lines).
Hunk #2 succeeded at 118 (offset 14 lines).
patching file server/device.c
Hunk #5 succeeded at 176 (offset 13 lines).
Hunk #6 succeeded at 230 (offset 14 lines).
Hunk #7 succeeded at 785 (offset 24 lines).
Hunk #8 succeeded at 833 (offset 24 lines).
Hunk #9 succeeded at 890 (offset 24 lines).
Hunk #10 succeeded at 1061 (offset 24 lines).
patching file server/directory.c
Hunk #1 succeeded at 71 (offset 12 lines).
Hunk #2 succeeded at 123 (offset 23 lines).
patching file server/esync.c
patching file server/event.c
Hunk #2 succeeded at 59 (offset 14 lines).
Hunk #3 succeeded at 66 (offset 13 lines).
Hunk #4 succeeded at 80 (offset 12 lines).
Hunk #5 succeeded at 129 (offset 24 lines).
Hunk #6 succeeded at 162 (offset 24 lines).
Hunk #7 succeeded at 175 (offset 24 lines).
Hunk #8 succeeded at 191 (offset 24 lines).
Hunk #9 succeeded at 217 (offset 24 lines).
Hunk #10 succeeded at 230 (offset 24 lines).
Hunk #11 succeeded at 259 (offset 18 lines).
patching file server/fd.c
Hunk #2 succeeded at 208 (offset 2 lines).
Hunk #3 succeeded at 223 (offset 2 lines).
Hunk #4 succeeded at 266 (offset 2 lines).
Hunk #5 succeeded at 308 (offset 2 lines).
Hunk #6 succeeded at 352 (offset 2 lines).
Hunk #7 succeeded at 1725 (offset 5 lines).
Hunk #8 succeeded at 1735 (offset 5 lines).
Hunk #9 succeeded at 1773 (offset 7 lines).
Hunk #10 succeeded at 2319 (offset 114 lines).
Hunk #11 succeeded at 2364 (offset 114 lines).
patching file server/file.c
Hunk #1 succeeded at 127 (offset 15 lines).
patching file server/file.h
Hunk #1 succeeded at 105 (offset 2 lines).
patching file server/fsync.c
patching file server/fsync.h
patching file server/handle.c
Hunk #1 succeeded at 127 (offset 3 lines).
patching file server/hook.c
patching file server/mailslot.c
Hunk #3 succeeded at 203 (offset -1 lines).
Hunk #4 succeeded at 235 (offset -1 lines).
patching file server/main.c
Hunk #1 succeeded at 38 with fuzz 2 (offset 1 line).
Hunk #2 succeeded at 143 (offset 1 line).
patching file server/mapping.c
Hunk #3 succeeded at 182 (offset 15 lines).
patching file server/mutex.c
Hunk #1 succeeded at 74 (offset 12 lines).
patching file server/named_pipe.c
Hunk #1 succeeded at 120 (offset 1 line).
Hunk #2 succeeded at 170 (offset 5 lines).
Hunk #3 succeeded at 215 (offset 5 lines).
Hunk #4 succeeded at 263 (offset 4 lines).
Hunk #5 succeeded at 296 (offset 4 lines).
patching file server/object.h
Hunk #1 succeeded at 83 (offset 13 lines).
patching file server/process.c
Hunk #2 succeeded at 84 (offset 13 lines).
Hunk #3 succeeded at 96 (offset 13 lines).
Hunk #4 succeeded at 149 (offset 13 lines).
Hunk #5 succeeded at 209 (offset 25 lines).
Hunk #6 succeeded at 563 (offset 11 lines).
Hunk #7 succeeded at 618 (offset 9 lines).
Hunk #8 succeeded at 695 (offset 1 line).
patching file server/process.h
Hunk #1 succeeded at 88 (offset -11 lines).
patching file server/protocol.def
Hunk #1 succeeded at 3786 (offset 20 lines).
patching file server/queue.c
Hunk #11 succeeded at 3573 (offset 10 lines).
patching file server/registry.c
Hunk #1 succeeded at 175 (offset 7 lines).
patching file server/request.c
Hunk #1 succeeded at 98 (offset 1 line).
patching file server/semaphore.c
Hunk #1 succeeded at 71 (offset 12 lines).
patching file server/serial.c
patching file server/signal.c
patching file server/sock.c
Hunk #1 succeeded at 190 (offset 17 lines).
Hunk #2 succeeded at 1529 (offset 353 lines).
Hunk #3 succeeded at 1751 (offset 353 lines).
patching file server/symlink.c
Hunk #1 succeeded at 73 (offset 12 lines).
patching file server/thread.c
Hunk #4 succeeded at 190 (offset 14 lines).
Hunk #5 succeeded at 205 (offset 14 lines).
Hunk #6 succeeded at 247 (offset 14 lines).
Hunk #7 succeeded at 383 (offset 13 lines).
Hunk #8 succeeded at 502 (offset 6 lines).
Hunk #9 succeeded at 560 (offset 8 lines).
Hunk #10 succeeded at 1096 (offset 8 lines).
Hunk #11 succeeded at 1189 (offset 8 lines).
Hunk #12 succeeded at 1242 (offset 8 lines).
Hunk #13 succeeded at 1363 (offset 7 lines).
patching file server/thread.h
patching file server/timer.c
Hunk #2 succeeded at 65 (offset 14 lines).
Hunk #3 succeeded at 84 (offset 12 lines).
Hunk #4 succeeded at 121 (offset 12 lines).
Hunk #5 succeeded at 200 (offset 12 lines).
Hunk #6 succeeded at 239 (offset 6 lines).
patching file server/token.c
Hunk #1 succeeded at 162 (offset 14 lines).
patching file server/winstation.c
Hunk #1 succeeded at 76 (offset 11 lines).
Hunk #2 succeeded at 118 (offset 26 lines).
LAA
patching file dlls/kernel32/heap.c
patching file dlls/ntdll/ntdll.spec
Hunk #1 succeeded at 1624 (offset 7 lines).
patching file dlls/ntdll/unix/server.c
Hunk #1 succeeded at 1661 (offset 190 lines).
patching file dlls/ntdll/unix/unix_private.h
Hunk #1 succeeded at 522 with fuzz 2 (offset 52 lines).
patching file dlls/ntdll/unix/virtual.c
Hunk #1 succeeded at 3750 (offset 330 lines).
steamclient swap
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/loader.c
Hunk #1 succeeded at 1985 with fuzz 1 (offset 72 lines).
Hunk #2 succeeded at 2015 with fuzz 2 (offset 79 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unix/loader.c
Hunk #1 succeeded at 1535 (offset 150 lines).
Hunk #2 succeeded at 1644 (offset 109 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unix/signal_i386.c
Hunk #1 succeeded at 2023 (offset 422 lines).
Hunk #2 succeeded at 2058 (offset 422 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unix/signal_x86_64.c
Hunk #1 succeeded at 2650 (offset 482 lines).
Hunk #2 succeeded at 2682 (offset 482 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unix/unix_private.h
Hunk #1 succeeded at 179 (offset -9 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unixlib.h
Hunk #1 succeeded at 81 (offset -53 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file dlls/ntdll/unix/loader.c
Hunk #1 succeeded at 1554 (offset 150 lines).
Hunk #2 succeeded at 1579 (offset 150 lines).
Hunk #3 succeeded at 1594 (offset 150 lines).
Hunk #4 succeeded at 1607 (offset 150 lines).
Hunk #5 succeeded at 1616 (offset 150 lines).
protonify
patching file dlls/ws2_32/socket.c
Hunk #1 succeeded at 3278 (offset -54 lines).
patching file dlls/winex11.drv/x11drv_main.c
Hunk #1 succeeded at 96 with fuzz 1 (offset 3 lines).
patching file dlls/wined3d/adapter_gl.c
Hunk #1 succeeded at 1037 with fuzz 2 (offset 28 lines).
patching file server/main.c
Hunk #1 succeeded at 43 (offset 1 line).
patching file dlls/ntdll/unix/thread.c
Hunk #1 succeeded at 58 with fuzz 2 (offset 15 lines).
Hunk #2 succeeded at 357 (offset 10 lines).
Hunk #3 succeeded at 388 (offset 9 lines).
can't find file to patch at input line 190
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 7e91b897e69854cb3afe761f48ef7c9b496ecf95 Mon Sep 17 00:00:00 2001
|From: =?UTF-8?q?J=C3=B3zef=20Kucia?= <jkucia@codeweavers.com>
|Date: Wed, 1 May 2019 12:28:12 +0200
|Subject: [PATCH] vulkan-1: Prefer built-in DLL.
|
|Games may ship with their own Vulkan loader.
|---
| dlls/vulkan-1/vulkan.c | 4 ----
| 1 file changed, 4 deletions(-)
|
|diff --git a/dlls/vulkan-1/vulkan.c b/dlls/vulkan-1/vulkan.c
|index d3b35603a17..4926cf9bf4f 100644
|--- a/dlls/vulkan-1/vulkan.c
|+++ b/dlls/vulkan-1/vulkan.c
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
1 out of 1 hunk ignored
patching file dlls/dwrite/font.c
Hunk #1 succeeded at 920 (offset 180 lines).
patching file dlls/msctf/msctf.c
Hunk #4 succeeded at 554 with fuzz 1 (offset -2 lines).
Hunk #5 succeeded at 614 (offset -2 lines).
patching file dlls/msctf/msctf_internal.h
Hunk #1 succeeded at 36 with fuzz 2 (offset 1 line).
patching file dlls/msctf/threadmgr.c
Hunk #8 succeeded at 1400 (offset 8 lines).
Hunk #9 succeeded at 1416 (offset 8 lines).
Hunk #10 succeeded at 1432 (offset 8 lines).
patching file programs/dxdiag/main.c
patching file programs/dxdiag/output.c
Hunk #1 succeeded at 149 (offset -20 lines).
Hunk #2 succeeded at 211 (offset -20 lines).
patching file dlls/ntdll/heap.c
Hunk #1 succeeded at 111 (offset -7 lines).
Hunk #2 succeeded at 781 (offset -18 lines).
Hunk #3 succeeded at 1785 (offset -28 lines).
Hunk #4 succeeded at 1939 with fuzz 2 (offset -28 lines).
patching file tools/makedep.c
Hunk #1 succeeded at 3369 with fuzz 1 (offset 124 lines).
patching file dlls/dxgi/adapter.c
Hunk #1 succeeded at 165 with fuzz 1 (offset 4 lines).
patching file dlls/dsound/dsound.c
Hunk #2 succeeded at 136 (offset -1 lines).
Hunk #3 succeeded at 1128 (offset 2 lines).
patching file dlls/dsound/dsound_private.h
Hunk #1 succeeded at 209 (offset 7 lines).
patching file dlls/dsound/primary.c
Hunk #2 succeeded at 110 (offset -1 lines).
Hunk #3 succeeded at 196 (offset -1 lines).
patching file dlls/dwmapi/dwmapi_main.c
Hunk #1 succeeded at 197 (offset -8 lines).
patching file dlls/dwmapi/Makefile.in
Hunk #1 succeeded at 1 with fuzz 2.
patching file dlls/dwmapi/dwmapi_main.c
Hunk #1 succeeded at 209 (offset -8 lines).
patching file dlls/quartz/filtergraph.c
Hunk #1 succeeded at 5553 with fuzz 1 (offset -128 lines).
patching file dlls/bcrypt/gnutls.c
Hunk #1 succeeded at 342 with fuzz 2 (offset 75 lines).
patching file programs/winebrowser/main.c
patching file dlls/dxgi/adapter.c
Hunk #1 succeeded at 204 (offset 4 lines).
patching file dlls/kernelbase/sync.c
Hunk #1 succeeded at 1067 (offset 107 lines).
Hunk #2 succeeded at 1089 (offset 107 lines).
patching file dlls/ntdll/tests/file.c
Hunk #1 succeeded at 150 (offset 6 lines).
patching file dlls/ntdll/unix/file.c
Hunk #1 succeeded at 3489 (offset 304 lines).
patching file dlls/ntdll/unix/virtual.c
Hunk #1 succeeded at 3800 (offset 375 lines).
patching file dlls/d3d10core/d3d10core_main.c
Hunk #1 succeeded at 29 with fuzz 2.
patching file dlls/dxgi/dxgi_main.c
patching file dlls/kernelbase/file.c
Hunk #1 succeeded at 44 (offset 3 lines).
Hunk #2 succeeded at 718 with fuzz 1 (offset 284 lines).
Hunk #3 succeeded at 888 (offset 360 lines).
Hunk #4 succeeded at 906 (offset 360 lines).
patching file dlls/kernelbase/file.c
Hunk #1 succeeded at 731 (offset 284 lines).
patching file dlls/user32/cursoricon.c
patching file dlls/user32/png.c
patching file dlls/user32/user_private.h
Hunk #1 succeeded at 376 (offset 3 lines).
patching file dlls/user32/win.c
patching file dlls/wbemprox/builtin.c
Hunk #1 succeeded at 1257 (offset 76 lines).
Hunk #2 succeeded at 1303 (offset 76 lines).
Hunk #3 succeeded at 1383 (offset 76 lines).
Hunk #4 succeeded at 1544 (offset 76 lines).
Hunk #5 succeeded at 1581 (offset 76 lines).
Hunk #6 succeeded at 1609 (offset 76 lines).
Hunk #7 succeeded at 2748 (offset 96 lines).
Hunk #8 succeeded at 3568 (offset 93 lines).
Hunk #9 succeeded at 3834 (offset 94 lines).
Hunk #10 succeeded at 4046 (offset 91 lines).
patching file dlls/ws2_32/socket.c
Hunk #1 succeeded at 6337 (offset -146 lines).
Hunk #2 succeeded at 6609 (offset -132 lines).
patching file configure
Hunk #1 succeeded at 1838 (offset 72 lines).
Hunk #2 succeeded at 24550 (offset 2970 lines).
patching file configure.ac
Hunk #1 succeeded at 4056 (offset 59 lines).
patching file programs/dotnetfx35/Makefile.in
patching file programs/dotnetfx35/main.c
patching file dlls/kernelbase/file.c
Hunk #1 succeeded at 757 (offset 16 lines).
patching file dlls/ntoskrnl.exe/ntoskrnl.exe.spec
patching file dlls/ntoskrnl.exe/pnp.c
Hunk #1 succeeded at 782 (offset -11 lines).
patching file include/ddk/wdm.h
Hunk #2 succeeded at 1678 (offset -4 lines).
Hunk #3 succeeded at 1727 (offset -4 lines).
protonify-audio
patching file dlls/winepulse.drv/mmdevdrv.c
Hunk #1 succeeded at 701 with fuzz 1 (offset 130 lines).
patching file dlls/xaudio2_7/xaudio_dll.c
Hunk #2 succeeded at 1948 (offset -4 lines).
patching file dlls/winepulse.drv/mmdevdrv.c
Hunk #1 succeeded at 186 (offset 24 lines).
Hunk #2 succeeded at 230 (offset 23 lines).
Hunk #3 succeeded at 275 (offset 23 lines).
Hunk #4 succeeded at 1610 (offset 369 lines).
Hunk #5 succeeded at 1647 with fuzz 2 (offset 373 lines).
Hunk #6 succeeded at 3200 (offset 472 lines).
patching file dlls/winepulse.drv/mmdevdrv.c
Hunk #1 succeeded at 516 (offset 23 lines).
Hunk #2 succeeded at 1447 with fuzz 1 (offset 284 lines).
Hunk #3 succeeded at 3219 (offset 462 lines).
steam bits
patching file loader/wine.inf.in
Hunk #1 succeeded at 75 (offset 2 lines).
Hunk #2 succeeded at 104 (offset 3 lines).
Hunk #3 succeeded at 148 (offset 4 lines).
Hunk #4 succeeded at 4324 (offset 454 lines).
patching file dlls/kernelbase/process.c
Hunk #1 succeeded at 1052 (offset 832 lines).
patching file dlls/ntdll/loader.c
Hunk #1 succeeded at 73 with fuzz 2 (offset -2 lines).
patching file dlls/advapi32/advapi.c
Hunk #1 succeeded at 43 (offset -1 lines).
Hunk #2 succeeded at 59 (offset -1 lines).
patching file dlls/shell32/shellpath.c
patching file loader/wine.inf.in
Hunk #1 succeeded at 237 (offset 56 lines).
Hunk #2 succeeded at 694 (offset 79 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 698 (offset 79 lines).
patching file dlls/ntdll/unix/env.c
Hunk #1 succeeded at 532 (offset 5 lines).
patching file configure
Hunk #1 succeeded at 1911 (offset 165 lines).
Hunk #2 succeeded at 24629 (offset 4315 lines).
patching file configure.ac
Hunk #1 succeeded at 4136 (offset 138 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4201 with fuzz 1 (offset 603 lines).
patching file dlls/winex11.drv/window.c
patching file dlls/dbghelp/dwarf.c
Hunk #1 succeeded at 3497 (offset -19 lines).
patching file programs/winedbg/tgt_active.c
Hunk #1 succeeded at 891 (offset 17 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 623 (offset 83 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 330 (offset 13 lines).
patching file programs/wineboot/wineboot.c
Hunk #1 succeeded at 1493 with fuzz 1 (offset 458 lines).
Hunk #2 succeeded at 1501 with fuzz 2 (offset 449 lines).
Hunk #3 succeeded at 1658 (offset 529 lines).
Hunk #4 succeeded at 1670 with fuzz 2 (offset 529 lines).
proton gamepad additions
patching file dlls/dinput/Makefile.in
patching file dlls/dinput/dinput_main.c
Hunk #2 succeeded at 484 (offset -1 lines).
Hunk #3 succeeded at 507 (offset -1 lines).
Hunk #4 succeeded at 532 (offset -1 lines).
Hunk #5 succeeded at 554 (offset -1 lines).
Hunk #6 succeeded at 1157 (offset -3 lines).
Hunk #7 succeeded at 1265 (offset -3 lines).
patching file dlls/dinput/dinput_private.h
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput8/Makefile.in
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/Makefile.in
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 1166 (offset 5 lines).
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 149 (offset -2 lines).
Hunk #2 succeeded at 834 (offset -3 lines).
patching file dlls/xinput1_3/hid.c
Hunk #2 succeeded at 341 (offset -1 lines).
Hunk #3 succeeded at 383 (offset -1 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 182 (offset -2 lines).
Hunk #2 succeeded at 261 (offset -3 lines).
Hunk #3 succeeded at 505 (offset -3 lines).
Hunk #4 succeeded at 542 (offset -3 lines).
Hunk #5 succeeded at 602 (offset -3 lines).
Hunk #6 succeeded at 793 (offset -3 lines).
Hunk #7 succeeded at 881 (offset -3 lines).
patching file dlls/xinput1_3/hid.c
Hunk #4 succeeded at 436 (offset -1 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 138 (offset -2 lines).
Hunk #2 succeeded at 173 (offset -2 lines).
Hunk #3 succeeded at 609 (offset -3 lines).
Hunk #4 succeeded at 894 (offset -3 lines).
patching file dlls/hidclass.sys/device.c
Hunk #1 succeeded at 73 with fuzz 2 (offset -3 lines).
Hunk #2 succeeded at 84 (offset -4 lines).
patching file dlls/hidclass.sys/hid.h
Hunk #1 succeeded at 90 (offset -7 lines).
patching file dlls/hidclass.sys/pnp.c
Hunk #1 succeeded at 179 with fuzz 1 (offset -18 lines).
patching file dlls/winebus.sys/bus.h
patching file dlls/winebus.sys/bus_iohid.c
Hunk #1 succeeded at 353 (offset 7 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 57 with fuzz 2 (offset -12 lines).
Hunk #2 succeeded at 133 (offset -2 lines).
Hunk #3 succeeded at 550 (offset -3 lines).
Hunk #4 succeeded at 776 (offset -3 lines).
Hunk #5 succeeded at 839 (offset -3 lines).
Hunk #6 succeeded at 940 (offset -3 lines).
Hunk #7 succeeded at 963 (offset -3 lines).
Hunk #8 succeeded at 992 (offset -3 lines).
Hunk #9 succeeded at 1011 (offset -3 lines).
Hunk #10 succeeded at 1021 (offset -3 lines).
Hunk #11 succeeded at 1045 (offset -3 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1243 (offset 6 lines).
patching file dlls/winebus.sys/main.c
Hunk #5 succeeded at 720 (offset 1 line).
patching file dlls/xinput1_3/hid.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 161 (offset -2 lines).
Hunk #2 succeeded at 176 (offset -2 lines).
Hunk #3 succeeded at 291 (offset -3 lines).
Hunk #4 succeeded at 581 (offset -3 lines).
Hunk #5 succeeded at 589 (offset -3 lines).
Hunk #6 succeeded at 632 (offset -3 lines).
Hunk #7 succeeded at 671 (offset -3 lines).
Hunk #8 succeeded at 910 (offset -3 lines).
Hunk #9 succeeded at 948 (offset -3 lines).
Hunk #10 succeeded at 1068 (offset -3 lines).
patching file dlls/xinput1_3/hid.c
Hunk #2 succeeded at 340 (offset -1 lines).
Hunk #3 succeeded at 382 (offset -1 lines).
Hunk #4 succeeded at 441 (offset -1 lines).
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_udev.c
patching file dlls/winebus.sys/bus.h
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 1008 (offset -3 lines).
Hunk #2 succeeded at 1041 (offset -3 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #3 succeeded at 1147 (offset 6 lines).
Hunk #4 succeeded at 1278 (offset 6 lines).
patching file dlls/winebus.sys/main.c
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1243 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #2 succeeded at 1162 (offset 6 lines).
Hunk #3 succeeded at 1256 (offset 6 lines).
patching file dlls/winebus.sys/bus.h
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1256 (offset 6 lines).
Hunk #2 succeeded at 1267 (offset 6 lines).
patching file dlls/winebus.sys/main.c
Hunk #2 succeeded at 980 (offset 1 line).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1166 (offset 6 lines).
patching file dlls/dinput/Makefile.in
patching file dlls/dinput/joystick.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput8/Makefile.in
patching file dlls/dinput/dinput_main.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 988 (offset -3 lines).
Hunk #2 succeeded at 1056 (offset -3 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 1085 (offset -3 lines).
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_udev.c
Hunk #2 succeeded at 662 (offset 6 lines).
Hunk #3 succeeded at 765 (offset 6 lines).
Hunk #4 succeeded at 1168 (offset 6 lines).
Hunk #5 succeeded at 1218 (offset 6 lines).
Hunk #6 succeeded at 1261 (offset 6 lines).
Hunk #7 succeeded at 1291 (offset 6 lines).
Hunk #8 succeeded at 1349 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1265 (offset 6 lines).
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick.c
patching file dlls/dinput/joystick.c
patching file dlls/dinput/joystick_linux.c
patching file dlls/dinput/joystick_linuxinput.c
patching file dlls/dinput/joystick_osx.c
Hunk #1 succeeded at 797 (offset 30 lines).
Hunk #2 succeeded at 806 (offset 30 lines).
Hunk #3 succeeded at 839 (offset 30 lines).
Hunk #4 succeeded at 866 with fuzz 1 (offset 31 lines).
Hunk #5 succeeded at 899 with fuzz 1 (offset 33 lines).
Hunk #6 succeeded at 972 (offset 35 lines).
patching file dlls/dinput/joystick_private.h
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/xinput1_1/Makefile.in
patching file dlls/xinput1_2/Makefile.in
patching file dlls/xinput1_3/Makefile.in
patching file dlls/xinput1_3/hid.c
Hunk #3 succeeded at 277 (offset -1 lines).
patching file dlls/xinput1_3/xinput_main.c
patching file dlls/xinput1_4/Makefile.in
patching file dlls/xinput9_1_0/Makefile.in
patching file dlls/xinput1_3/xinput_main.c
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_udev.c
Hunk #3 succeeded at 896 (offset 6 lines).
Hunk #4 succeeded at 1234 (offset 6 lines).
Hunk #5 succeeded at 1399 (offset 6 lines).
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #2 succeeded at 1019 (offset -3 lines).
Hunk #3 succeeded at 1074 (offset -3 lines).
patching file include/wine/js_blacklist.h
patching file dlls/dinput/joystick_sdl.c
patching file dlls/user32/rawinput.c
Hunk #1 succeeded at 151 (offset -1 lines).
Hunk #2 succeeded at 181 (offset -1 lines).
Hunk #3 succeeded at 201 (offset -1 lines).
Hunk #4 succeeded at 382 (offset 4 lines).
Hunk #5 succeeded at 420 (offset 4 lines).
patching file dlls/user32/user_private.h
Hunk #1 succeeded at 398 (offset 11 lines).
patching file dlls/user32/rawinput.c
Hunk #1 succeeded at 189 (offset -1 lines).
Hunk #2 succeeded at 225 (offset -1 lines).
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/effect_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/dinput/joystick_sdl.c
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 112 (offset -1 lines).
Hunk #2 succeeded at 1206 (offset -3 lines).
patching file dlls/user32/message.c
Reversed (or previously applied) patch detected! Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file dlls/user32/message.c.rej
patching file programs/plugplay/main.c
Reversed (or previously applied) patch detected! Skipping patch.
2 out of 2 hunks ignored -- saving rejects to file programs/plugplay/main.c.rej
patching file dlls/dinput/joystick_sdl.c
Hunk #1 succeeded at 1361 (offset -7 lines).
patching file dlls/hidclass.sys/device.c
Hunk #1 succeeded at 73 with fuzz 2 (offset -3 lines).
Hunk #2 succeeded at 81 (offset -4 lines).
Hunk #3 succeeded at 250 with fuzz 2 (offset -1 lines).
patching file dlls/hidclass.sys/hid.h
Hunk #2 succeeded at 92 (offset -7 lines).
patching file dlls/hidclass.sys/pnp.c
Hunk #1 succeeded at 179 with fuzz 1 (offset -18 lines).
patching file dlls/user32/rawinput.c
Hunk #1 succeeded at 189 (offset -2 lines).
Hunk #2 succeeded at 244 (offset -2 lines).
patching file dlls/hidclass.sys/device.c
Hunk #1 succeeded at 257 (offset -21 lines).
patching file dlls/hidclass.sys/hid.h
patching file dlls/hidclass.sys/pnp.c
Hunk #2 succeeded at 70 (offset -3 lines).
Hunk #3 succeeded at 316 (offset -34 lines).
patching file dlls/user32/message.c
Hunk #1 succeeded at 2613 (offset 1 line).
patching file dlls/user32/rawinput.c
Hunk #1 succeeded at 491 (offset -3 lines).
patching file server/protocol.def
patching file server/queue.c
Hunk #1 succeeded at 1565 with fuzz 2 (offset -54 lines).
Hunk #2 succeeded at 1654 (offset -54 lines).
Hunk #3 succeeded at 1774 (offset -44 lines).
Hunk #4 succeeded at 1792 (offset -44 lines).
Hunk #5 succeeded at 1802 (offset -44 lines).
Hunk #6 succeeded at 1813 (offset -44 lines).
Hunk #7 succeeded at 1825 (offset -44 lines).
Hunk #8 succeeded at 1905 (offset -44 lines).
Hunk #9 succeeded at 2048 (offset -43 lines).
Hunk #10 succeeded at 2136 with fuzz 2 (offset -43 lines).
Hunk #11 succeeded at 2168 (offset -40 lines).
Hunk #12 succeeded at 2291 (offset -40 lines).
patching file dlls/dinput/joystick_sdl.c
Hunk #1 succeeded at 62 (offset -1 lines).
Hunk #2 succeeded at 393 (offset -4 lines).
Hunk #3 succeeded at 589 (offset -4 lines).
Hunk #4 succeeded at 665 (offset -4 lines).
Hunk #5 succeeded at 1053 (offset -7 lines).
bypass compositor
patching file dlls/winex11.drv/window.c
Hunk #1 succeeded at 991 (offset 6 lines).
Hunk #2 succeeded at 1004 (offset 6 lines).
Hunk #3 succeeded at 1066 (offset -2 lines).
patching file dlls/winex11.drv/x11drv.h
patching file dlls/winex11.drv/x11drv_main.c
Hunk #1 succeeded at 158 (offset 23 lines).
Valve VR patches
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 77 (offset 3 lines).
Hunk #2 succeeded at 459 (offset 18 lines).
Hunk #3 succeeded at 2700 with fuzz 1 (offset 123 lines).
Hunk #4 succeeded at 2803 with fuzz 1 (offset 125 lines).
patching file dlls/wined3d/texture.c
Hunk #1 succeeded at 4480 (offset 61 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4818 with fuzz 1 (offset 155 lines).
patching file include/wine/wined3d.h
Hunk #1 succeeded at 2940 (offset 104 lines).
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 78 (offset 3 lines).
Hunk #2 succeeded at 469 (offset 18 lines).
Hunk #3 succeeded at 2750 (offset 123 lines).
Hunk #4 succeeded at 2843 with fuzz 1 (offset 125 lines).
patching file dlls/wined3d/device.c
Hunk #1 succeeded at 6210 (offset 479 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4820 (offset 155 lines).
patching file include/wine/wined3d.h
Hunk #1 succeeded at 2945 (offset 104 lines).
patching file dlls/d3d11/d3d11_private.h
patching file dlls/d3d11/device.c
Hunk #1 succeeded at 6610 (offset 3718 lines).
Hunk #2 succeeded at 10051 (offset 3867 lines).
patching file dlls/d3d11/texture.c
patching file include/Makefile.in
Hunk #1 succeeded at 772 (offset 35 lines).
patching file include/wine/wined3d-interop.idl
patching file dlls/d3d11/d3d11_private.h
Hunk #1 succeeded at 563 with fuzz 1 (offset 27 lines).
patching file dlls/d3d11/device.c
Hunk #1 succeeded at 6564 (offset 3718 lines).
Hunk #2 succeeded at 7790 with fuzz 2 (offset 3842 lines).
Hunk #3 succeeded at 10156 (offset 3867 lines).
patching file include/wine/wined3d-interop.idl
patching file dlls/d3d11/device.c
Hunk #1 succeeded at 6601 (offset 3718 lines).
Hunk #2 succeeded at 6620 (offset 3718 lines).
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 79 (offset 3 lines).
Hunk #2 succeeded at 478 (offset 18 lines).
Hunk #3 succeeded at 2786 (offset 123 lines).
Hunk #4 succeeded at 2863 with fuzz 1 (offset 125 lines).
patching file dlls/wined3d/device.c
Hunk #1 succeeded at 6218 (offset 479 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4822 (offset 155 lines).
patching file include/wine/wined3d-interop.idl
patching file include/wine/wined3d.h
Hunk #1 succeeded at 2949 (offset 104 lines).
patching file dlls/d3d11/texture.c
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 465 (offset 18 lines).
Hunk #2 succeeded at 2720 (offset 123 lines).
Hunk #3 succeeded at 2728 (offset 123 lines).
Hunk #4 succeeded at 2742 (offset 123 lines).
patching file dlls/wined3d/texture.c
Hunk #1 succeeded at 4481 (offset 61 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4819 (offset 155 lines).
patching file include/wine/wined3d-interop.idl
patching file include/wine/wined3d.h
Hunk #1 succeeded at 2940 (offset 104 lines).
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 79 (offset 3 lines).
Hunk #2 succeeded at 2795 (offset 123 lines).
Hunk #3 succeeded at 2859 with fuzz 1 (offset 125 lines).
patching file dlls/wined3d/device.c
Hunk #1 succeeded at 6223 (offset 479 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4823 (offset 155 lines).
patching file dlls/d3d11/texture.c
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 79 (offset 3 lines).
Hunk #2 succeeded at 484 (offset 18 lines).
Hunk #3 succeeded at 2802 (offset 123 lines).
Hunk #4 succeeded at 2906 with fuzz 1 (offset 125 lines).
patching file dlls/wined3d/device.c
Hunk #1 succeeded at 218 (offset 14 lines).
patching file dlls/wined3d/texture.c
Hunk #1 succeeded at 4491 (offset 61 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 3761 with fuzz 2 (offset 133 lines).
Hunk #2 succeeded at 3837 (offset 130 lines).
Hunk #3 succeeded at 4834 (offset 155 lines).
patching file include/wine/wined3d-interop.idl
patching file include/wine/wined3d.h
Hunk #1 succeeded at 2945 (offset 104 lines).
patching file dlls/wined3d/cs.c
Hunk #1 succeeded at 487 (offset 18 lines).
Hunk #2 succeeded at 2813 (offset 123 lines).
Hunk #3 succeeded at 2825 (offset 123 lines).
Hunk #4 succeeded at 2841 (offset 123 lines).
patching file dlls/wined3d/texture.c
Hunk #1 succeeded at 4604 (offset 61 lines).
patching file dlls/wined3d/wined3d_private.h
Hunk #1 succeeded at 4834 (offset 155 lines).
patching file dlls/d3d11/texture.c
patching file include/wine/wined3d-interop.idl
patching file dlls/d3d11/texture.c
patching file dlls/wined3d/wined3d.spec
Hunk #1 succeeded at 351 (offset 29 lines).
proton winevulkan
patching file dlls/winevulkan/make_vulkan
Hunk #1 succeeded at 92 (offset -3 lines).
Hunk #2 succeeded at 126 (offset -6 lines).
Hunk #3 succeeded at 183 with fuzz 2 (offset -4 lines).
Hunk #4 succeeded at 213 with fuzz 2 (offset -1 lines).
Hunk #5 succeeded at 2329 (offset 74 lines).
Hunk #6 succeeded at 2355 (offset 74 lines).
patching file dlls/winevulkan/vulkan.c
Hunk #1 succeeded at 281 (offset 160 lines).
Hunk #2 succeeded at 299 (offset 160 lines).
Hunk #3 succeeded at 389 (offset 163 lines).
Hunk #4 succeeded at 400 (offset 163 lines).
Hunk #5 succeeded at 427 (offset 163 lines).
Hunk #6 succeeded at 1288 (offset 229 lines).
patching file dlls/winevulkan/vulkan_private.h
Hunk #1 succeeded at 234 (offset 59 lines).
patching file dlls/winevulkan/vulkan_thunks.c
Hunk #1 succeeded at 5994 (offset 2224 lines).
Hunk #2 succeeded at 6465 with fuzz 1 (offset 2321 lines).
Hunk #3 succeeded at 6953 (offset 2476 lines).
Hunk #4 succeeded at 7202 with fuzz 1 (offset 2553 lines).
Hunk #5 succeeded at 7254 with fuzz 2 (offset 2566 lines).
Hunk #6 succeeded at 7338 (offset 2586 lines).
Hunk #7 succeeded at 7415 with fuzz 2 (offset 2592 lines).
Hunk #8 succeeded at 7546 with fuzz 1 (offset 2622 lines).
Hunk #9 succeeded at 7579 (offset 2626 lines).
patching file dlls/winevulkan/vulkan_thunks.h
Hunk #1 succeeded at 15 (offset -26 lines).
Hunk #2 succeeded at 39 (offset -18 lines).
Hunk #3 succeeded at 53 (offset -17 lines).
Hunk #4 succeeded at 946 with fuzz 2 (offset 410 lines).
Hunk #5 succeeded at 1343 (offset 505 lines).
Hunk #6 succeeded at 1888 with fuzz 1 (offset 722 lines).
Hunk #7 succeeded at 2003 with fuzz 2 (offset 751 lines).
Hunk #8 succeeded at 2145 (offset 791 lines).
Hunk #9 succeeded at 2411 with fuzz 1 (offset 872 lines).
Hunk #10 succeeded at 2462 with fuzz 2 (offset 885 lines).
Hunk #11 succeeded at 2537 with fuzz 1 (offset 905 lines).
patching file include/wine/vulkan.h
Hunk #1 succeeded at 353 (offset 5 lines).
Hunk #2 succeeded at 1853 (offset 448 lines).
Hunk #3 succeeded at 2588 (offset 668 lines).
Hunk #4 succeeded at 3198 (offset 775 lines).
Hunk #5 succeeded at 5484 (offset 923 lines).
Hunk #6 succeeded at 8194 with fuzz 2 (offset 3059 lines).
Hunk #7 succeeded at 8581 with fuzz 2 (offset 1488 lines).
Hunk #8 succeeded at 8849 with fuzz 1 (offset 1570 lines).
Hunk #9 succeeded at 8908 with fuzz 1 (offset 1580 lines).
Hunk #10 succeeded at 8945 with fuzz 2 (offset 1589 lines).
Hunk #11 succeeded at 8975 with fuzz 1 (offset 1598 lines).
Hunk #12 succeeded at 9243 with fuzz 1 (offset 1680 lines).
Hunk #13 succeeded at 9302 with fuzz 1 (offset 1690 lines).
Hunk #14 succeeded at 9339 with fuzz 2 (offset 1699 lines).
patching file dlls/winevulkan/vulkan.c
Hunk #1 succeeded at 302 (offset 160 lines).
Hunk #2 succeeded at 1072 (offset 257 lines).
Hunk #3 succeeded at 1096 (offset 257 lines).
patching file dlls/winex11.drv/vulkan.c
Hunk #1 succeeded at 57 (offset 1 line).
Hunk #2 succeeded at 146 (offset 9 lines).
Hunk #3 succeeded at 629 with fuzz 1 (offset 8 lines).
amd ags
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags.h
patching file configure
Hunk #1 succeeded at 947 (offset 43 lines).
Hunk #2 succeeded at 23359 (offset 4087 lines).
patching file configure.ac
Hunk #1 succeeded at 2865 (offset -31 lines).
patching file dlls/amd_ags_x64/Makefile.in
patching file dlls/amd_ags_x64/amd_ags_x64.spec
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/Makefile.in
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags.h
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
patching file dlls/amd_ags_x64/Makefile.in
patching file dlls/amd_ags_x64/amd_ags_x64_main.c
msvcrt overrides
patching file loader/wine.inf.in
Hunk #1 succeeded at 4338 (offset 461 lines).
Hunk #2 succeeded at 4374 (offset 461 lines).
atiadlxx needed for cod games
patching file configure
Hunk #1 succeeded at 1178 (offset 37 lines).
Hunk #2 succeeded at 23593 (offset 3045 lines).
patching file configure.ac
Hunk #1 succeeded at 3098 (offset 22 lines).
patching file dlls/atiadlxx/Makefile.in
patching file dlls/atiadlxx/atiadlxx.spec
patching file dlls/atiadlxx/atiadlxx_main.c
patching file loader/wine.inf.in
Hunk #1 succeeded at 4365 (offset 365 lines).
Hunk #2 succeeded at 4402 (offset 37 lines).
patching file dlls/atiadlxx/Makefile.in
patching file dlls/atiadlxx/atiadlxx.spec
patching file dlls/atiadlxx/atiadlxx_main.c
valve registry entries
patching file loader/wine.inf.in
Hunk #1 succeeded at 4375 (offset -22 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4377 (offset 370 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4378 (offset 368 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4381 (offset -23 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4381 (offset 364 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4388 with fuzz 1 (offset 367 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4388 (offset 358 lines).
set prefix win10
patching file dlls/ntdll/version.c
Hunk #1 succeeded at 430 (offset -49 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4211 (offset 451 lines).
Hunk #2 succeeded at 4225 (offset 451 lines).
Hunk #3 succeeded at 4243 (offset 451 lines).
patching file programs/winecfg/appdefaults.c
Hunk #1 succeeded at 75 (offset 1 line).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4215 (offset 450 lines).
Hunk #2 succeeded at 4233 (offset 450 lines).
patching file programs/wineboot/wineboot.c
Hunk #1 succeeded at 1629 (offset 178 lines).
Hunk #2 succeeded at 1712 (offset 179 lines).
dxvk_config
patching file dlls/wined3d/directx.c
Hunk #1 succeeded at 1496 (offset 170 lines).
Hunk #2 succeeded at 1543 (offset 151 lines).
proton-specific manual mfplat dll register patch
patching file dlls/mfplat/main.c
Hunk #1 succeeded at 1446 (offset -27 lines).
Hunk #2 succeeded at 1467 (offset -27 lines).
patching file dlls/winegstreamer/main.c
Hunk #1 succeeded at 319 (offset -32 lines).
proton udev container patches
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 108 (offset 3 lines).
Hunk #2 succeeded at 1275 (offset 52 lines).
Hunk #3 succeeded at 1290 (offset 52 lines).
Hunk #4 succeeded at 1400 (offset 52 lines).
Hunk #5 succeeded at 1421 with fuzz 1 (offset 8 lines).
Hunk #6 succeeded at 1452 (offset 53 lines).
Hunk #7 succeeded at 1473 (offset 53 lines).
Hunk #8 succeeded at 1482 (offset 53 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1448 (offset 6 lines).
Hunk #2 succeeded at 1520 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1182 (offset 6 lines).
Hunk #2 succeeded at 1293 (offset 6 lines).
Hunk #3 succeeded at 1304 (offset 6 lines).
Hunk #4 succeeded at 1336 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 1282 (offset 6 lines).
Hunk #2 succeeded at 1329 (offset 6 lines).
Hunk #3 succeeded at 1666 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #2 succeeded at 1752 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #4 succeeded at 1283 (offset 6 lines).
Hunk #5 succeeded at 1295 (offset 6 lines).
Hunk #6 succeeded at 1303 (offset 6 lines).
Hunk #7 succeeded at 1571 (offset 6 lines).
Hunk #8 succeeded at 1748 (offset 6 lines).
Hunk #9 succeeded at 1756 (offset 6 lines).
Hunk #10 succeeded at 1866 (offset 6 lines).
Hunk #11 succeeded at 1952 (offset 6 lines).
Hunk #12 succeeded at 1967 (offset 6 lines).
Hunk #13 succeeded at 2026 (offset 6 lines).
Hunk #14 succeeded at 2045 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #1 succeeded at 2045 with fuzz 1 (offset 6 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #2 succeeded at 266 (offset 6 lines).
Hunk #3 succeeded at 573 (offset 6 lines).
Hunk #4 succeeded at 597 (offset 6 lines).
Hunk #5 succeeded at 758 (offset 6 lines).
proton overlay patches
patching file dlls/winex11.drv/event.c
Hunk #1 succeeded at 421 (offset -12 lines).
patching file dlls/winex11.drv/x11drv.h
Hunk #1 succeeded at 407 (offset -5 lines).
patching file dlls/winex11.drv/x11drv_main.c
Hunk #1 succeeded at 89 (offset -1 lines).
Hunk #2 succeeded at 728 (offset -11 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 72 with fuzz 2 (offset 2 lines).
Hunk #2 succeeded at 1164 (offset -3 lines).
Hunk #3 succeeded at 1185 (offset -3 lines).
Hunk #4 succeeded at 1196 (offset -3 lines).
Hunk #5 succeeded at 1314 (offset 5 lines).
Hunk #6 succeeded at 1324 (offset 5 lines).
patching file dlls/winebus.sys/bus_udev.c
Hunk #2 succeeded at 1221 (offset 6 lines).
Hunk #3 succeeded at 2355 (offset 6 lines).
Hunk #4 succeeded at 2370 (offset 6 lines).
patching file dlls/dinput/joystick_sdl.c
Hunk #3 succeeded at 944 (offset 51 lines).
patching file dlls/winebus.sys/bus_sdl.c
Hunk #1 succeeded at 1185 (offset -3 lines).
Hunk #2 succeeded at 1196 (offset -3 lines).
proton openxr patches
patching file dlls/winevulkan/vulkan.c
Hunk #3 succeeded at 584 (offset 32 lines).
Hunk #4 succeeded at 926 (offset -117 lines).
Hunk #5 succeeded at 951 (offset -117 lines).
patching file loader/wine.inf.in
Hunk #1 succeeded at 4375 with fuzz 2 (offset 358 lines).
patching file dlls/winevulkan/make_vulkan
patching file dlls/winevulkan/vulkan.c
Hunk #1 succeeded at 918 (offset 41 lines).
Hunk #2 succeeded at 957 (offset 41 lines).
Hunk #3 succeeded at 1027 (offset -8 lines).
Hunk #4 succeeded at 1045 (offset -8 lines).
Hunk #5 succeeded at 1071 (offset 42 lines).
Hunk #6 succeeded at 1135 (offset 47 lines).
patching file dlls/winevulkan/winevulkan.spec
patching file dlls/winex11.drv/vulkan.c
Hunk #1 succeeded at 243 (offset 19 lines).
Hunk #2 succeeded at 267 (offset 19 lines).
Hunk #3 succeeded at 666 (offset -41 lines).
patching file include/wine/vulkan_driver.h
Hunk #1 succeeded at 43 with fuzz 2 (offset -7 lines).
mouse focus fixes
patching file dlls/winex11.drv/mouse.c
Hunk #1 succeeded at 1632 (offset 7 lines).
patching file dlls/user32/hook.c
Hunk #1 succeeded at 379 (offset -3 lines).
Hunk #2 succeeded at 393 (offset -3 lines).
patching file server/queue.c
Hunk #1 succeeded at 1722 (offset 81 lines).
patching file dlls/winex11.drv/x11drv_main.c
Hunk #1 succeeded at 75 (offset -1 lines).
patching file programs/winecfg/x11drvdlg.c
patching file dlls/winex11.drv/x11drv_main.c
Hunk #1 succeeded at 70 with fuzz 1 (offset -1 lines).
patching file dlls/winex11.drv/event.c
Hunk #1 succeeded at 1346 (offset 4 lines).
CPU topology overrides
patching file dlls/ntdll/unix/system.c
Hunk #1 succeeded at 804 (offset -26 lines).
Hunk #2 succeeded at 877 (offset -26 lines).
Hunk #3 succeeded at 885 (offset -26 lines).
patching file dlls/ntdll/unix/server.c
Hunk #1 succeeded at 1646 with fuzz 2 (offset 179 lines).
Hunk #2 succeeded at 1673 (offset 184 lines).
patching file dlls/ntdll/unix/system.c
Hunk #1 succeeded at 30 (offset 1 line).
Hunk #2 succeeded at 170 (offset 4 lines).
Hunk #3 succeeded at 456 (offset -26 lines).
Hunk #4 succeeded at 571 (offset -26 lines).
Hunk #5 succeeded at 927 (offset -26 lines).
Hunk #6 succeeded at 946 (offset -26 lines).
Hunk #7 succeeded at 956 (offset -26 lines).
Hunk #8 succeeded at 979 (offset -26 lines).
Hunk #9 succeeded at 1020 (offset -26 lines).
Hunk #10 succeeded at 1062 (offset -26 lines).
Hunk #11 succeeded at 1074 (offset -26 lines).
Hunk #12 succeeded at 1095 (offset -26 lines).
patching file dlls/ntdll/unix/thread.c
Hunk #1 succeeded at 1385 (offset 62 lines).
patching file dlls/ntdll/unix/unix_private.h
Hunk #1 succeeded at 253 (offset 6 lines).
patching file include/wine/server_protocol.h
Hunk #1 succeeded at 826 (offset 32 lines).
Hunk #2 succeeded at 978 with fuzz 2 (offset 77 lines).
patching file server/process.c
Hunk #1 succeeded at 86 (offset 13 lines).
Hunk #2 succeeded at 565 (offset 14 lines).
Hunk #3 succeeded at 1316 with fuzz 2 (offset -54 lines).
Hunk #4 succeeded at 1346 with fuzz 2 (offset -55 lines).
patching file server/process.h
Hunk #1 succeeded at 89 (offset -11 lines).
patching file server/protocol.def
Hunk #1 succeeded at 844 (offset 34 lines).
Hunk #2 succeeded at 916 with fuzz 2 (offset 33 lines).
patching file server/thread.c
Hunk #1 succeeded at 617 (offset 12 lines).
Hunk #2 succeeded at 1556 (offset 45 lines).
Hunk #3 succeeded at 1583 (offset 58 lines).
patching file server/trace.c
Hunk #1 succeeded at 1353 (offset 60 lines).
Hunk #2 succeeded at 1483 with fuzz 2 (offset 96 lines).
proton futex2 patches
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 76 (offset -1 lines).
Hunk #2 succeeded at 152 (offset -1 lines).
Hunk #3 succeeded at 744 (offset -1 lines).
Hunk #4 succeeded at 758 (offset -1 lines).
Hunk #5 succeeded at 793 (offset -1 lines).
Hunk #6 succeeded at 923 (offset -1 lines).
Hunk #7 succeeded at 955 (offset -1 lines).
Hunk #8 succeeded at 973 (offset -1 lines).
Hunk #9 succeeded at 992 (offset -1 lines).
Hunk #10 succeeded at 1003 (offset -1 lines).
Hunk #11 succeeded at 1030 (offset -1 lines).
patching file server/fsync.c
Hunk #3 succeeded at 355 (offset 1 line).
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 1030 (offset -1 lines).
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 76 (offset -1 lines).
Hunk #2 succeeded at 113 (offset -1 lines).
Hunk #3 succeeded at 180 (offset -1 lines).
Hunk #4 succeeded at 249 (offset -1 lines).
Hunk #5 succeeded at 794 (offset -1 lines).
Hunk #6 succeeded at 809 (offset -1 lines).
Hunk #7 succeeded at 1064 (offset -1 lines).
patching file server/fsync.c
patching file server/fsync.c
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 53 (offset 4 lines).
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 96 (offset 2 lines).
Hunk #2 succeeded at 130 (offset 2 lines).
Hunk #3 succeeded at 194 (offset 2 lines).
patching file dlls/ntdll/unix/fsync.c
Hunk #1 succeeded at 101 (offset 2 lines).
Hunk #2 succeeded at 168 (offset 2 lines).
applying winevulkan childwindow
patching file dlls/winex11.drv/vulkan.c
Hunk #1 succeeded at 32 (offset -1 lines).
Hunk #2 succeeded at 57 with fuzz 2 (offset 1 line).
Hunk #3 succeeded at 67 (offset 3 lines).
Hunk #4 succeeded at 160 (offset 22 lines).
Hunk #5 succeeded at 291 (offset 35 lines).
Hunk #6 succeeded at 324 (offset 35 lines).
Hunk #7 succeeded at 340 (offset 35 lines).
Hunk #8 succeeded at 430 (offset 35 lines).
Hunk #9 succeeded at 657 (offset 89 lines).
mfplat rebase
patching file dlls/winegstreamer/wg_parser.c
Hunk #2 succeeded at 1363 (offset 32 lines).
Hunk #3 succeeded at 1608 (offset 32 lines).
Hunk #4 succeeded at 1665 (offset 32 lines).
Hunk #5 succeeded at 1718 (offset 32 lines).
Hunk #6 succeeded at 1774 (offset 32 lines).
Hunk #7 succeeded at 1830 (offset 32 lines).
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 1284 (offset 32 lines).
Hunk #2 succeeded at 1297 (offset 32 lines).
Hunk #3 succeeded at 1437 (offset 32 lines).
Hunk #4 succeeded at 1471 (offset 32 lines).
patching file dlls/winegstreamer/Makefile.in
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/main.c
Hunk #1 succeeded at 322 with fuzz 2 (offset 3 lines).
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/winegstreamer_classes.idl
patching file include/mfidl.idl
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/quartz_parser.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 382 (offset 1 line).
Hunk #2 succeeded at 439 (offset 1 line).
Hunk #3 succeeded at 657 (offset 1 line).
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/media_source.c
patching file dlls/winegstreamer/quartz_parser.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #4 succeeded at 80 (offset -2 lines).
Hunk #5 succeeded at 572 (offset 1 line).
Hunk #6 succeeded at 588 (offset 1 line).
Hunk #7 succeeded at 601 (offset 1 line).
Hunk #8 succeeded at 618 (offset 1 line).
Hunk #9 succeeded at 648 (offset 1 line).
Hunk #10 succeeded at 685 (offset 1 line).
Hunk #11 succeeded at 725 (offset 1 line).
Hunk #12 succeeded at 790 (offset 1 line).
Hunk #13 succeeded at 809 (offset 1 line).
Hunk #14 succeeded at 1150 with fuzz 2 (offset 30 lines).
Hunk #15 succeeded at 1210 (offset 32 lines).
Hunk #16 succeeded at 1239 (offset 32 lines).
Hunk #17 succeeded at 1255 (offset 32 lines).
Hunk #18 succeeded at 1274 (offset 32 lines).
Hunk #19 succeeded at 1375 (offset 32 lines).
Hunk #20 succeeded at 1402 (offset 32 lines).
Hunk #21 succeeded at 1421 (offset 32 lines).
Hunk #22 succeeded at 1458 (offset 32 lines).
Hunk #23 succeeded at 1499 (offset 32 lines).
Hunk #24 succeeded at 1513 (offset 32 lines).
Hunk #25 succeeded at 1558 (offset 32 lines).
Hunk #26 succeeded at 1676 (offset 32 lines).
Hunk #27 succeeded at 1691 (offset 32 lines).
Hunk #28 succeeded at 1882 (offset 32 lines).
Hunk #29 succeeded at 1908 (offset 32 lines).
Hunk #30 succeeded at 1947 (offset 32 lines).
Hunk #31 succeeded at 2058 (offset 32 lines).
Hunk #32 succeeded at 2337 (offset 32 lines).
Hunk #33 succeeded at 2362 (offset 32 lines).
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/decode_transform.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/quartz_parser.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 396 (offset 1 line).
Hunk #2 succeeded at 414 (offset 1 line).
patching file dlls/winegstreamer/winegstreamer_classes.idl
patching file include/mfidl.idl
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 1240 (offset 32 lines).
Hunk #2 succeeded at 1946 (offset 32 lines).
Hunk #3 succeeded at 1960 (offset 32 lines).
patching file dlls/winegstreamer/media_source.c
patching file dlls/winegstreamer/audioconvert.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 2321 (offset 32 lines).
Hunk #2 succeeded at 2457 (offset 32 lines).
Hunk #3 succeeded at 2488 (offset 32 lines).
patching file dlls/winegstreamer/audioconvert.c
patching file dlls/winegstreamer/audioconvert.c
patching file dlls/winegstreamer/Makefile.in
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/winegstreamer_classes.idl
patching file include/wmcodecdsp.idl
patching file dlls/winegstreamer/mfplat.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/winegstreamer/colorconvert.c
patching file dlls/mf/session.c
Hunk #1 succeeded at 2748 (offset 18 lines).
patching file dlls/mf/topology.c
patching file dlls/winegstreamer/audioconvert.c
patching file dlls/winegstreamer/media_source.c
patching file dlls/winegstreamer/gst_private.h
patching file dlls/winegstreamer/media_source.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 93 (offset 1 line).
Hunk #2 succeeded at 847 (offset 1 line).
Hunk #3 succeeded at 1950 (offset 32 lines).
Hunk #4 succeeded at 2016 (offset 32 lines).
Hunk #5 succeeded at 2090 (offset 32 lines).
Hunk #6 succeeded at 2542 (offset 32 lines).
patching file dlls/winegstreamer/media_source.c
patching file dlls/winegstreamer/wg_parser.c
Hunk #1 succeeded at 751 (offset 1 line).
Hunk #2 succeeded at 1316 (offset 32 lines).
Hunk #3 succeeded at 1329 (offset 32 lines).
Hunk #4 succeeded at 1354 (offset 32 lines).
patching file dlls/mfplat/main.c
Hunk #1 succeeded at 8919 (offset 17 lines).
patching file dlls/mfreadwrite/reader.c
patching file dlls/mfreadwrite/tests/mfplat.c
patching file dlls/mfreadwrite/reader.c
Hunk #1 succeeded at 1132 (offset 86 lines).
Unhandled pNext chain conversion for VkDedicatedAllocationMemoryAllocateInfoNV
Unhandled pNext chain conversion for VkMemoryDedicatedAllocateInfo
Unhandled pNext chain conversion for VkMemoryOpaqueCaptureAddressAllocateInfo
Unhandled pNext chain conversion for VkBindImageMemorySwapchainInfoKHR
Unhandled pNext chain conversion for VkBindImageMemorySwapchainInfoKHR
Unhandled pNext chain conversion for VkBufferOpaqueCaptureAddressCreateInfo
Unhandled pNext chain conversion for VkGraphicsPipelineShaderGroupsCreateInfoNV
Unhandled pNext chain conversion for VkSamplerYcbcrConversionInfo
Unhandled pNext chain conversion for VkPhysicalDeviceMemoryBudgetPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceMemoryBudgetPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceMaintenance3Properties
Unhandled pNext chain conversion for VkPhysicalDeviceExternalMemoryHostPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceTimelineSemaphoreProperties
Unhandled pNext chain conversion for VkPhysicalDeviceTransformFeedbackPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceAccelerationStructurePropertiesKHR
Unhandled pNext chain conversion for VkPhysicalDeviceRayTracingPropertiesNV
Unhandled pNext chain conversion for VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceVulkan11Properties
Unhandled pNext chain conversion for VkPhysicalDeviceVulkan12Properties
Unhandled pNext chain conversion for VkPhysicalDeviceRobustness2PropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceMaintenance3Properties
Unhandled pNext chain conversion for VkPhysicalDeviceExternalMemoryHostPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceTimelineSemaphoreProperties
Unhandled pNext chain conversion for VkPhysicalDeviceTransformFeedbackPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceAccelerationStructurePropertiesKHR
Unhandled pNext chain conversion for VkPhysicalDeviceRayTracingPropertiesNV
Unhandled pNext chain conversion for VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT
Unhandled pNext chain conversion for VkPhysicalDeviceVulkan11Properties
Unhandled pNext chain conversion for VkPhysicalDeviceVulkan12Properties
Unhandled pNext chain conversion for VkPhysicalDeviceRobustness2PropertiesEXT
include/wine/server_protocol.h updated
include/wine/server_protocol.h updated
server/trace.c updated
server/request.h updated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment