This adds the missing interfaces for `ID3D11On12Device1` and `ID3D11On12Device2` so they can be used in projects using mingw.
--
v2: d3d11on12: Add interfaces for ID3D11On12Device1 and ID3D11On12Device2
https://gitlab.winehq.org/wine/wine/-/merge_requests/4951
Turns out I broke the non virtual desktop case in some cases. Sorry about that.
This basically uses previous behavior for such (`enable_taskbar` is what's used to also determine layered changes in rest of code) while keeping the fix for virtual desktops (i.e. our own taskbar).
Works correctly for me, but let me know if I did something wrong again (welp).
--
v2: explorer: Set layered style on systray icons before calling into the driver.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5076
There are still some issues I need to fix, mainly around timing conversion between MIDI and dmusic. Right now MIDI files seem to be cut off before the end is reached.
Please have a look at the general approach in the meantime, I need to know if this is the right way to do this or not.
--
v29:
https://gitlab.winehq.org/wine/wine/-/merge_requests/4982
Turns out I broke the non virtual desktop case in some cases. Sorry about that.
This basically uses previous behavior for such (`enable_taskbar` is what's used to also determine layered changes in rest of code) while keeping the fix for virtual desktops (i.e. our own taskbar).
Works correctly for me, but let me know if I did something wrong again (welp).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5076
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
Right now we filter entry points for the target architecture when parsing .spec file. On ARM64X, we're interested in entry points for two different targets. On MSVC (and experimental LLVM), creating importlibs that support both ARM64EC and ARM64 requires passing two .def files. With .spec files, we may generate them both from the same .spec file.
This separates per-target exports into a separate struct, while parser stores all entry points specified in the .spec file.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5082