--
v4: vkd3d: Co-locate all descriptor-related members.
vkd3d: Rename the device mutex to pipeline_cache_mutex.
vkd3d: Write Vulkan descriptors in a worker thread.
vkd3d: Update the descriptor `next` index before getting a reference for writing.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/292
This fixes various problems I've run into while trying to use Fusion 360 in wine.
- stacking issues in unmanaged mode
- I also attempted to apply the same fix for managed mode, but it looks difficult to do this in a way that plays well with window managers; I think it's best left up to them to keep override_redirect windows at the top of the stack)
- when the window manager sets our state to withdrawn, tell the window that it's been minimized, since the semantics are very similar
- the last one is a hack because I don't really know what to do about it, when clicking on the floating popups, they gain focus, which causes wine to incorrectly make them managed and that breaks everything
--
v3: winex11: don't let captionless popups be managed
winex11: pass ICCCM withdrawn state as minimized
winex11: restack a window's owned popups above it
https://gitlab.winehq.org/wine/wine/-/merge_requests/2343
On Thu Dec 7 18:47:06 2023 +0000, Rémi Bernon wrote:
> Well, code freeze is tomorrow so I don't intend to do anything soon.
> You can submit it in a separate MR if you think it's critical for the
> well behaving of the driver, and then @julliard will decide what to do
> with it, but I would personally wait until we try to fix these
> activation issues.
Thanks. As a possibly more freeze-safe alternative, I proposed a mitigation in the driver itself https://gitlab.winehq.org/wine/wine/-/merge_requests/4651 .
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4593#note_55533
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