Rebase against 6d4ec1255acceec7152ed98764ee29991ac04f10.

This commit is contained in:
Zebediah Figura 2022-04-19 16:09:12 -05:00
parent 5147239513
commit 9e6939027d
4 changed files with 40 additions and 33 deletions

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "e254680ed15f43409114881d8ed613aa4b0de944"
echo "6d4ec1255acceec7152ed98764ee29991ac04f10"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 3561f512f400ca1d049ac5ce26b9cbb6aac1dc31 Mon Sep 17 00:00:00 2001
From b6c918acf5996c494bece9efb1439fe00b81a274 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 1 Jun 2018 14:03:26 +1000
Subject: [PATCH] winex11: Specify a default vulkan driver if one not found at
@ -7,11 +7,11 @@ Subject: [PATCH] winex11: Specify a default vulkan driver if one not found at
We cannot specify it as a dependency since Debian Jessie has the
vulkan library in backports and not everybody will have this mapped.
---
dlls/winex11.drv/vulkan.c | 35 ++++++++++++++---------------------
1 file changed, 14 insertions(+), 21 deletions(-)
dlls/winex11.drv/vulkan.c | 38 ++++++++++++++++----------------------
1 file changed, 16 insertions(+), 22 deletions(-)
diff --git a/dlls/winex11.drv/vulkan.c b/dlls/winex11.drv/vulkan.c
index 4f6624b3db8..6e343f47f34 100644
index f4fe202dfaf..1768444b2e5 100644
--- a/dlls/winex11.drv/vulkan.c
+++ b/dlls/winex11.drv/vulkan.c
@@ -40,10 +40,12 @@
@ -26,19 +26,21 @@ index 4f6624b3db8..6e343f47f34 100644
+#define SONAME_LIBVULKAN ""
+#endif
+
static CRITICAL_SECTION context_section;
static CRITICAL_SECTION_DEBUG critsect_debug =
{
@@ -111,9 +113,17 @@ static void *vulkan_handle;
static pthread_mutex_t vulkan_mutex;
static BOOL WINAPI wine_vk_init(INIT_ONCE *once, void *param, void **context)
static XContext vulkan_hwnd_context;
@@ -104,14 +106,23 @@ static void *vulkan_handle;
static void wine_vk_init(void)
{
- if (!(vulkan_handle = dlopen(SONAME_LIBVULKAN, RTLD_NOW)))
- init_recursive_mutex(&vulkan_mutex);
+ const char *libvulkan_candidates[] = {SONAME_LIBVULKAN,
+ "libvulkan.so.1",
+ "libvulkan.so",
+ NULL};
+ int i;
- if (!(vulkan_handle = dlopen(SONAME_LIBVULKAN, RTLD_NOW)))
+ for (i=0; libvulkan_candidates[i] && !vulkan_handle; i++)
+ vulkan_handle = dlopen(libvulkan_candidates[i], RTLD_NOW);
+
@ -46,10 +48,15 @@ index 4f6624b3db8..6e343f47f34 100644
{
- ERR("Failed to load %s.\n", SONAME_LIBVULKAN);
+ ERR("Failed to load vulkan library\n");
return TRUE;
return;
}
@@ -735,20 +745,3 @@ const struct vulkan_funcs *get_vulkan_driver(UINT version)
+ init_recursive_mutex(&vulkan_mutex);
+
#define LOAD_FUNCPTR(f) if (!(p##f = dlsym(vulkan_handle, #f))) goto fail
#define LOAD_OPTIONAL_FUNCPTR(f) p##f = dlsym(vulkan_handle, #f)
LOAD_FUNCPTR(vkCreateInstance);
@@ -731,20 +742,3 @@ const struct vulkan_funcs *get_vulkan_driver(UINT version)
return NULL;
}
@ -71,5 +78,5 @@ index 4f6624b3db8..6e343f47f34 100644
-
-#endif /* SONAME_LIBVULKAN */
--
2.33.0
2.35.1

View File

@ -1,4 +1,4 @@
From b3e883936f94d291de16a551df25ebaa544fd22d Mon Sep 17 00:00:00 2001
From 3d65939dad82bdcac186866eaaa3123611090b05 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Tue, 11 Dec 2018 08:30:41 +1100
Subject: [PATCH] winex11: Match keyboard in Unicode
@ -8,7 +8,7 @@ Subject: [PATCH] winex11: Match keyboard in Unicode
1 file changed, 97 insertions(+), 64 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 4db0dafb4ee..cba0dd44736 100644
index 786b6f4e084..c4d3b4ed8ce 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -37,6 +37,7 @@
@ -19,16 +19,16 @@ index 4db0dafb4ee..cba0dd44736 100644
#define NONAMELESSUNION
@@ -76,7 +77,7 @@ static CRITICAL_SECTION_DEBUG critsect_debug =
};
static CRITICAL_SECTION kbd_section = { &critsect_debug, -1, 0, 0, 0, 0 };
@@ -69,7 +70,7 @@ static int NumLockMask, ScrollLockMask, AltGrMask; /* mask in the XKeyEvent stat
static pthread_mutex_t kbd_mutex = PTHREAD_MUTEX_INITIALIZER;
-static char KEYBOARD_MapDeadKeysym(KeySym keysym);
+static WCHAR KEYBOARD_MapDeadKeysym(KeySym keysym);
/* Keyboard translation tables */
#define MAIN_LEN 49
@@ -1417,6 +1418,36 @@ BOOL X11DRV_KeyEvent( HWND hwnd, XEvent *xev )
@@ -1409,6 +1410,36 @@ BOOL X11DRV_KeyEvent( HWND hwnd, XEvent *xev )
return TRUE;
}
@ -65,7 +65,7 @@ index 4db0dafb4ee..cba0dd44736 100644
/**********************************************************************
* X11DRV_KEYBOARD_DetectLayout
*
@@ -1434,7 +1465,7 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
@@ -1426,7 +1457,7 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
const char (*lkey)[MAIN_LEN][4];
unsigned max_seq = 0;
int max_score = INT_MIN, ismatch = 0;
@ -74,7 +74,7 @@ index 4db0dafb4ee..cba0dd44736 100644
syms = keysyms_per_keycode;
if (syms > 4) {
@@ -1447,35 +1478,25 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
@@ -1439,35 +1470,25 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
/* get data for keycode from X server */
for (i = 0; i < syms; i++) {
if (!(keysym = keycode_to_keysym (display, keyc, i))) continue;
@ -118,7 +118,7 @@ index 4db0dafb4ee..cba0dd44736 100644
for (keyc = min_keycode; keyc <= max_keycode; keyc++) {
if (ckey[keyc][0]) {
/* search for a match in layout table */
@@ -1484,10 +1505,13 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
@@ -1476,10 +1497,13 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
/* the table, it's okay that the X server has "3#£", for example) */
/* however, the score will be higher for longer matches */
for (key = 0; key < MAIN_LEN; key++) {
@ -135,7 +135,7 @@ index 4db0dafb4ee..cba0dd44736 100644
ok = -1;
}
if (ok > 0) {
@@ -1502,11 +1526,7 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
@@ -1494,11 +1518,7 @@ X11DRV_KEYBOARD_DetectLayout( Display *display )
if (key > pkey) seq++;
pkey = key;
} else {
@ -148,7 +148,7 @@ index 4db0dafb4ee..cba0dd44736 100644
mismatch++;
score -= syms;
}
@@ -1576,9 +1596,11 @@ void X11DRV_InitKeyboard( Display *display )
@@ -1568,9 +1588,11 @@ void X11DRV_InitKeyboard( Display *display )
XKeyEvent e2;
WORD scan, vkey;
int keyc, i, keyn, syms;
@ -161,7 +161,7 @@ index 4db0dafb4ee..cba0dd44736 100644
/* Ranges of OEM, function key, and character virtual key codes.
* Don't include those handled specially in X11DRV_ToUnicodeEx and
@@ -1633,7 +1655,11 @@ void X11DRV_InitKeyboard( Display *display )
@@ -1625,7 +1647,11 @@ void X11DRV_InitKeyboard( Display *display )
/* Detect the keyboard layout */
X11DRV_KEYBOARD_DetectLayout( display );
lkey = main_key_tab[kbd_layout].key;
@ -173,7 +173,7 @@ index 4db0dafb4ee..cba0dd44736 100644
/* Now build two conversion arrays :
* keycode -> vkey + scancode + extended
@@ -1674,26 +1700,14 @@ void X11DRV_InitKeyboard( Display *display )
@@ -1666,26 +1692,14 @@ void X11DRV_InitKeyboard( Display *display )
int maxlen=0,maxval=-1,ok;
for (i=0; i<syms; i++) {
keysym = keycode_to_keysym(display, keyc, i);
@ -205,7 +205,7 @@ index 4db0dafb4ee..cba0dd44736 100644
if (!ok) i--; /* we overshot */
if (ok||(i>maxlen)) {
maxlen=i; maxval=keyn;
@@ -2256,7 +2270,7 @@ INT CDECL X11DRV_GetKeyNameText(LONG lParam, LPWSTR lpBuffer, INT nSize)
@@ -2237,7 +2251,7 @@ INT X11DRV_GetKeyNameText( LONG lParam, LPWSTR lpBuffer, INT nSize )
/***********************************************************************
* X11DRV_KEYBOARD_MapDeadKeysym
*/
@ -214,7 +214,7 @@ index 4db0dafb4ee..cba0dd44736 100644
{
switch (keysym)
{
@@ -2266,65 +2280,84 @@ static char KEYBOARD_MapDeadKeysym(KeySym keysym)
@@ -2247,65 +2261,84 @@ static char KEYBOARD_MapDeadKeysym(KeySym keysym)
#endif
case 0x1000FE7E : /* Xfree's XK_Dtilde */
return '~'; /* '? */
@ -314,7 +314,7 @@ index 4db0dafb4ee..cba0dd44736 100644
*/
}
TRACE("no character for dead keysym 0x%08lx\n",keysym);
@@ -2509,7 +2542,7 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState
@@ -2490,7 +2523,7 @@ INT X11DRV_ToUnicodeEx( UINT virtKey, UINT scanCode, const BYTE *lpKeyState,
if (ret == 0)
{
@ -323,7 +323,7 @@ index 4db0dafb4ee..cba0dd44736 100644
#ifdef XK_EuroSign
/* An ugly hack for EuroSign: X can't translate it to a character
@@ -2533,7 +2566,7 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, const BYTE *lpKeyState
@@ -2514,7 +2547,7 @@ INT X11DRV_ToUnicodeEx( UINT virtKey, UINT scanCode, const BYTE *lpKeyState,
dead_char = KEYBOARD_MapDeadKeysym(keysym);
if (dead_char)
{
@ -333,5 +333,5 @@ index 4db0dafb4ee..cba0dd44736 100644
goto found;
}
--
2.30.2
2.35.1

View File

@ -1 +1 @@
e254680ed15f43409114881d8ed613aa4b0de944
6d4ec1255acceec7152ed98764ee29991ac04f10