After running 'make check', this script can be used to see which tests are not passing, showing the test line and a \[XP\], \[XF\], or \[F\] tag, for each backend.
It can be used like this:
```plaintext
python3 lightboard.py [-b] <vkd3d_build_path>/tests/hlsl
```
![lightboard.png](/uploads/f97450e6d583ebcef4c90d622981571b/lightboard.png)
So we can say "All lights green across the board" in a cinematic way.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/427
Based on [a patch](https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.or… by Jinoh Kang (@iamahuman) from February 2022.
I removed the need for the event object and implemented fast paths for Linux.
On macOS 10.14+ `thread_get_register_pointer_values` is called on every thread of the process.
On Linux 4.14+ `membarrier(MEMBARRIER_CMD_GLOBAL_EXPEDITED, ...)` is used.
On x86 Linux <= 4.13 and on other platforms `madvise(..., MADV_DONTNEED)` is used, which sends IPIs to all cores causing them to do a memory barrier.
--
v11: ntdll: Add thread_get_register_pointer_values-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add sys_membarrier-based implementation of NtFlushProcessWriteBuffers.
ntdll: Add MADV_DONTNEED-based implementation of NtFlushProcessWriteBuffers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/741
Currently GetFileType() ends up returning the file type solely based on Unix fd type if it gets it from server. The problematic case is when our process gets a pipe or socket fd as a stdin or stderr from Unix. The server object which gets created through wine_server_fd_to_handle is a regular file regardless of the underlying Unix fd type. It probably can't be anything else, at least for pipes, as the pipe should have both ends but we have only one in this case.
That causes problems, e. g., with libuv (used, e. g., by Vampire Survivors). It checks stdout handle type and if it is pipe it tries to do SetNamedPipeHandleState() on it and does not tolerate the failure.
It looks more sensible to me to report all the pipes and sockets created through wine_server_fd_to_handle() as regular files as that matches the server objects we have for them. When that is not the case we should get the correct type from server fd type.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/1425
Strings are opaque objects in HLSL. This implements recognizing string
literals and the `string` type.
This should fix the bug marked below but I'm not sure how to get my
hands on a copy of Lego Star Wars Saga to test it properly.
This is a super-duper draft MR; I'm certain there's problems with it.
I do at least have a passing test, though.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50382
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/305
As _WINE_HWND_STYLE and _WINE_HWND_EXSTYLE respectively.
Gamescope parses these to make smarter decisions about what window
to primary focus, or to treat as a dropdown/overlay.
This was originally a Proton commit by Remi Bernon, however,
it would definitely be nice to have support for Gamescope focusing
correctly under upstream Wine as well.
Fixes a bunch of games/launchers run with Wine under Gamescope.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2902
The idea I have is to use this module to declare class stubs until there is a good reason to split them to dedicated modules. WinRT modules aren't usually loaded directly, and instead the registry is queried to figure which module to load for which class.
This would help avoiding unnecessary proliferation of stub WinRT modules, while at the same time allowing to factor WinRT foundation code (such as vector / async, etc...) between the modules that seem to deserve to be implemented separately.
The relevant classes could then be split out to dedicated modules on a as-needed basis, when they get fleshed out.
--
v3: winewinrt: Factor IAsyncOperation<boolean> implementations.
winewinrt: Factor IAsyncInfo implementations.
winewinrt: Move Vector<HSTRING> from windows.media.speech.
widl: Write C type names for function parameters.
winewinrt: Factor Vector<IInspectable> implementations.
winewinrt: Introduce new static library.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2298
--
v7: vkd3d-shader/spirv: Handle thread group UAV barriers.
vkd3d-shader/spirv: Include Uniform in the memory semantics for UAV barriers.
vkd3d-shader/spirv: Handle globally coherent UAVs.
vkd3d-shader: Introduce a UAV_GLOBALLY_COHERENT descriptor info flag.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/306
@afrantzis Can't seem to be possible to add you as a reviewer, probably you need to request "Access" to the wine/wine project (near the top of the project page).
What do you think of something like that? It is very different from the current winex11 code, but I believe it will match keyboard layouts in a much more accurate way, and it's also IMO much simpler. If that works well with Wayland, I think it could be a good hint that it might work as well in X11 and make a case for my other MR to use that approach there.
I was a bit annoyed that it doesn't seem possible to retrieve the Xkb "layout:variant" string here, but only the layout description, so I had to use xkbregistry to match it back to the known layouts.
It is mostly only there to provide a more accurate HKL value (which should match the layout langid), and scan to vk mapping table, and custom layouts should still work. The lang would be neutral then, and the scan to vk table is QWERTY by default, which is the most common case, and doesn't enforce any vkey -> unicode mapping anyway. So, if the xkbregistry dependency is an issue we could probably make it optional and dynamically loaded, and skip the langid and scan to vk specialized mappings.
--
v3: winewayland.drv: Implement Xkb composition using ImeProcessKey.
winewayland.drv: Translate Xkb keyboard layouts to KBDTABLES.
win32u: Allow KBDTABLES conversion from CTLR + ALT to WCHAR.
win32u: Force US layout in ToUnicode when CTRL is pressed.
win32u: Introduce KbdLayerDescriptor user driver entry.
win32u: Avoid accessing NULL key name string pointer.
winewayland.drv: Enumerate Xkb layouts and create matching HKL.
winewayland.drv: Handle and parse Xkb keymap events.
win32u: Implement opt-in auto-repeat for WM_(SYS)KEYDOWN messages.
winewayland.drv: Configure win32u keyboard repeat delay and speed.
winewayland.drv: Basic handling of Wayland keyboard events.
gitlab: Install libxkbcommon and libxkbregistry dependencies.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4102