Crysis 3 Remastered (and 2 probably) in RT mode rely on GetFileSize() returning available read size (more exactly, correctly return 0 when no data is available) on pipe it uses to read the output from child dxc.exe process it creates (and hangs forever trying to read the pipe when we return INVALID_FILE_SIZE). While MSDN explicitly says that "You cannot use the GetFileSize function with a handle of a nonseeking device such as a pipe or a communications device.", if application dares GetFileSize (or NtQueryInformationFile(FileStandardInformation)) actually works for named and unnamed pipes.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3776
As @nsivov pointed out, we are currently parsing matrix swizzles (e.g. mat._m12_m32) and creating an hlsl_ir_swizzle for the matrix itself. We are currently allowing shaders that use these to compile even though they are not working.
While our compilation passes don't expect hlsl_ir_swizzles with matrix values, turns out we need them as a parse-time construct because we don't know if they will be used as the lhs of an assignment during parsing, similarly to hlsl_ir_indexes.
This patch adds tests and a pass to lower these matrix swizzles.
Implementing assignments with matrix swizzles is still pending.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/331
This patch set is part of !3303
--
v3: winegstreamer: Create wg_muxer for media sink.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Introduce new wg_muxer struct.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3737
With this commit we proof that PixelOffsetMode None and Fast
is implemented correctly.
By changing colour of second pixel of bitmap Source,
the issues with pixel offset appear
for PixelOffsetMode Half and HighQuality.
Extending tests is starting point for further
improvements of implementation pixel offset modes
to match implementation from native gdiplus.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3774
If lparam is null, the current code crashes when it hits the memcpy in pack_user_message.
--
v2: win32u: Correct the packed size of WM_GETDLGCODE when lparam is NULL.
win32u: Add a test for cross-process WM_GETDLGCODE with a NULL lparam.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3755
I wanted to use ._xy element access to make it shorter, but that attempt was crushed by the reality - such indexing apparently compiles but does not produce correct element access loads. I'm going to update once this is fixed.
--
v3: vkd3d-shader/hlsl: Add determinant() function.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/329
--
v2: mshtml: Use query_interface in the dispex vtbl for HTMLPluginsCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLNamespaceCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLMimeTypesCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLAttributeCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLFiltersCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLRectCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLElementCollection.
mshtml: Use query_interface in the dispex vtbl for HTMLDOMChildrenCollection.
mshtml: Use query_interface in the dispex vtbl for StyleSheetRules and
mshtml: Use query_interface in the dispex vtbl for CSS Styles.
mshtml: Use query_interface in the dispex vtbl for HTMLStorage.
mshtml: Use query_interface in the dispex vtbl for HTMLLocation.
mshtml: Use query_interface in the dispex vtbl for builtin constructors.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3773
This MR adds support for handling `wl_pointer` devices:
1. Handle enter/leave/(absolute) motion/button/axis events to allow users to interact with applications using such devices, e.g., a mouse.
2. Update the cursor image used for Wayland surfaces based on the Windows cursor bitmap data.
A few notes:
1. A single `wl_seat`/`wl_pointer` is supported for now.
2. Many of the input interactions require window management support that hasn't been implemented yet (e.g., popup positioning, resizing, max/fullscreen).
3. There is some potential for bad interactions between the input event dispatching mechanism and the `win32u` flushing logic for `window_surface` , which can lead to visual glitches. Although I don't think this is blocker for this MR, I would like to start a discussion about the problem and mitigation ideas in a [comment](https://gitlab.winehq.org/wine/wine/-/merge_requests/3686#note_438… below.
Thanks!
--
v2: winewayland.drv: Implement SetCursor using cursor bitmap data.
winewayland.drv: Handle pointer button and scroll events.
winewayland.drv: Handle pointer motion events.
winewayland.drv: Handle pointer focus events.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3686
These tests make the ddraw-d3d9 tests pass inside Xephyr with fvwm3 for me. fvwm3 still randomly fails in a lot of places if it is run on a real display. It also fails in Xephyr if I wiggle the mouse too much. Those two issues might even be related. A virtual X server should be enough for CI though.
fvwm2 has a lot of random failures even inside Xephyr or xf86-video-dummy. I will not attempt to fix them.
I tested the SW_SHOWMINNOACTIVE in patches 2 and 3 on Windows XP, Windows 11, the testbot, kwin, openbox. It seems to work without breaking any of those systems. With those things being flaky changes though I can never fully gurantee this though.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3746
This patch set is part of !3303
--
v2: winegstreamer: Create wg_muxer for media sink.
winegstreamer: Implement seeking query for wg_muxer sink pad.
winegstreamer: Introduce new wg_muxer struct.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3737
On Fri Sep 8 06:44:32 2023 +0000, Mohamad Al-Jaf wrote:
> I've removed it, seems like it's not really necessary to test for it.
> Though, I don't understand why Office queries for `IAgileObject`. It's a
> Microsoft program so they should know it's not supported. Minecraft also
> queries for an interface that returns `E_NOINTERFACE`, it seems bizarre.
You should still remove the `broken(...)` condition, it will otherwise let every test succeed silently on Windows.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3672#note_44665
On Fri Sep 8 06:50:30 2023 +0000, Henri Verbeet wrote:
> At first sight this looks fine, thanks. Unfortunately I probably won't
> be able to properly review this this week, but I should be able to get
> to it early next week.
> Note that this currently fails the CI though. Probably because it's
> intended to be applied on top of !325, so hopefully that will get
> resolved once those patches actually get committed.
It still fails CI after !325 was merged (and even before - as it was based on top of !325, those commits were part of this branch so testing would just have iterated over those too) - not quite sure what is wrong here...
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/332#note_44664