These are all the patches in this area that I think make sense at this point in the release cycle (i.e. a couple of days before code freeze...)
I originally had many more. A few are not really suitable at this time; a couple turned out to not really make a difference or generally not feeling like it would be an improvement overall. Many ended up in the way (or not in the spirit) of what we probably want to do at some point, which is grouping the whole draw state setup data together with the draw itself. Not that I could find the time to explore that yet...
--
v2: wined3d: Add a bunch of d3d_perf traces.
wined3d: Add a frametime debug channel.
wined3d: Increase WINED3D_CS_QUERY_POLL_INTERVAL to 100.
wined3d: Sleep when waiting for the CS thread.
wined3d: Do a blocking wait for CS commands even when there are active queries.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4625
> I have also seen this with KDE, and my current inclination is to say that this is a compositor problem. Looking at the logs it seems the driver is issuing the proper requests, but the cursor remains visible.
Yeah, the wayland log looks okay.
```
[ 858989.759] -> wl_pointer(a)15.set_cursor(172832, nil, 0, 0)
[ 858989.762] -> zwp_relative_pointer_manager_v1(a)10.get_relative_pointer(new id zwp_relative_pointer_v1@59, wl_pointer@15)
[ 858990.080] -> wl_compositor(a)4.create_region(new id wl_region@57)
[ 858990.083] -> wl_region(a)57.add(1280, 720, 0, 0)
[ 858990.086] -> zwp_pointer_constraints_v1(a)9.confine_pointer(new id zwp_confined_pointer_v1@49, wl_surface@3, wl_pointer@15, wl_region@57, 2)
```
this should work, there's only one pointer enter event and no leave event before. Will check why kwin refuses to hide the cursor.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4593#note_55526
If a message is removed from the queue with PeekMessage/GetMessage,
the key state should get updated before calling the WH_KEYBOARD hooks.
--
v4: winu32: Fix key state not updating before WH_KEYBOARD hook
https://gitlab.winehq.org/wine/wine/-/merge_requests/4633
I know this breaks Windows behavior but having apps print out
special debug messages to the terminal provides a good look
into the applications' development (for example I know that NFS
Underground has some "done" messages likely used for debugging).
I also don't want to keep another revert in my Wine tree just
for this one feature either so that's why I'm MR'ing this.
I considered adding a registry/winecfg entry for this behavior
but it would make this change much larger (and there's no good
place in winecfg to put this behavior in).
To enable this behavior, you can set WINEDEBUG=+unixcon variable
before launching an application.
Xkcd-Entry: https://xkcd.com/1172/
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55435
--
v3: ntdll/unix: Add an option to inherit the Unix console handle.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4566
Support for generating keys from known DH parameters is not included unfortunately because even the latest stable GnuTLS release doesn't have the necessary support. I have a patch that implements it using _gnutls_dh_generate_key() but that requires a special GnuTLS 3.8.2 build (--enable-fips140-mode). With that patch all included tests pass here.
Paul, can you take a look? I included your tests so please approve this MR if you think it's okay.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4637
Goes atop !489. The last 7 commits belong to this MR. Many of these patches are small, but the series can be split further if necessary.
--
v3: vkd3d-shader/spirv: Handle ITOI and UTOU in spirv_compiler_map_alu_instruction().
vkd3d-shader/spirv: Support UINT64 source in spirv_compiler_emit_bool_cast().
vkd3d-shader/spirv: Support 64-bit sources in spirv_compiler_emit_int_div().
vkd3d-shader/spirv: Introduce a UINT64 component type.
vkd3d-shader/spirv: Introduce a data_type_is_64_bit() helper function.
vkd3d-shader/spirv: Use data_type_is_integer() in spirv_compiler_emit_neg().
vkd3d: Pass int64 capability info to vkd3d-shader.
vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability.
tests/shader-runner: Add 64-bit bitwise tests.
tests/shader-runner: Add 64-bit arithmetic tests.
tests/shader-runner: Introduce an 'int64' requirement directive.
vkd3d-shader/spirv: Emit an error if 64-bit integers are used.
vkd3d-shader: Introduce an instruction flag to suppress masking of bitwise shift counts.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/490
--
v6: vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability.
tests/shader-runner: Add 64-bit bitwise tests.
tests/shader-runner: Add 64-bit arithmetic tests.
tests/shader-runner: Introduce a 'shader int64' requirement directive.
vkd3d-shader/spirv: Emit an error if 64-bit integers are used.
vkd3d-shader: Introduce an instruction flag to suppress masking of bitwise shift counts.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/489
This is ready for review, but may not go upstream until after the release.
--
v5: vkd3d-shader/spirv: Introduce a compiler feature flag for int64 capability.
tests/shader-runner: Add 64-bit bitwise tests.
tests/shader-runner: Add 64-bit arithmetic tests.
tests/shader-runner: Introduce a 'shader int64' requirement directive.
vkd3d-shader/spirv: Emit an error if 64-bit integers are used.
vkd3d-shader/dxil: Introduce an instruction flag to suppress masking of bitwise shift counts.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/489