Module: wine
Branch: master
Commit: 6ac82b2a24a8dc9c4547ba896c9313c5864795a7
URL: https://gitlab.winehq.org/wine/wine/-/commit/6ac82b2a24a8dc9c4547ba896c9313…
Author: Rémi Bernon <rbernon(a)codeweavers.com>
Date: Sat Jun 10 15:17:41 2023 +0200
server: Use hardware message category when checking filter.
---
server/queue.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/server/queue.c b/server/queue.c
index c3c3d595d00..57067dd6f51 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -2114,19 +2114,19 @@ static void queue_custom_hardware_message( struct desktop *desktop, user_handle_
static int check_hw_message_filter( user_handle_t win, unsigned int msg_code,
user_handle_t filter_win, unsigned int first, unsigned int last )
{
- if (msg_code >= WM_KEYFIRST && msg_code <= WM_KEYLAST)
+ switch (get_hardware_msg_bit( msg_code ))
{
+ case QS_KEY:
/* we can only test the window for a keyboard message since the
* dest window for a mouse message depends on hittest */
if (filter_win && win != filter_win && !is_child_window( filter_win, win ))
return 0;
/* the message code is final for a keyboard message, we can simply check it */
return check_msg_filter( msg_code, first, last );
- }
- else /* mouse message */
- {
- /* we need to check all possible values that the message can have in the end */
+ case QS_MOUSEMOVE:
+ case QS_MOUSEBUTTON:
+ /* we need to check all possible values that the message can have in the end */
if (check_msg_filter( msg_code, first, last )) return 1;
if (msg_code == WM_MOUSEWHEEL) return 0; /* no other possible value for this one */
@@ -2141,6 +2141,9 @@ static int check_hw_message_filter( user_handle_t win, unsigned int msg_code,
if (check_msg_filter( msg_code + (WM_NCLBUTTONDBLCLK - WM_LBUTTONDOWN), first, last )) return 1;
}
return 0;
+
+ default:
+ return check_msg_filter( msg_code, first, last );
}
}
Module: vkd3d
Branch: master
Commit: df0a031ad8621d2bfbdebcfe7266bd56abfe73e6
URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/df0a031ad8621d2bfbdebcfe7266b…
Author: Zebediah Figura <zfigura(a)codeweavers.com>
Date: Fri Jun 9 19:59:11 2023 -0500
vkd3d-shader/spirv: Retrieve input sysvals from the signature for geometry shaders as well.
This only affects clip and cull distances. The HLSL compiler emits these using
dcl_input, but the previous shader (vertex or TES) will write them as a SPIRV
builtin, and hence we want to read this as a SPIRV builtin as well.
This fixes validation errors in Wine's test_clip_distance().
---
libs/vkd3d-shader/spirv.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index cc0b63e8..a6700e66 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -4479,7 +4479,8 @@ static uint32_t spirv_compiler_emit_input(struct spirv_compiler *compiler,
element_idx = shader_register_get_io_indices(reg, array_sizes);
signature_element = &shader_signature->elements[element_idx];
- if (compiler->shader_type == VKD3D_SHADER_TYPE_HULL && !sysval && signature_element->sysval_semantic)
+ if ((compiler->shader_type == VKD3D_SHADER_TYPE_HULL || compiler->shader_type == VKD3D_SHADER_TYPE_GEOMETRY)
+ && !sysval && signature_element->sysval_semantic)
sysval = vkd3d_siv_from_sysval(signature_element->sysval_semantic);
builtin = get_spirv_builtin_for_sysval(compiler, sysval);