The current YUV to RGB conversion provides values in studio-range [16-235], but full-range is required [0-255]. As a result, we currently write the value of 16 to represent black, and so we get gray instead.
This MR changes the coefficients used in the conversion so that the resultant output is in full-range. It actually uses two sets of coefficients as these differ between SD and HD.
Also included is a number of Direct Draw 7 tests.
The coefficients used are documented here:
https://learn.microsoft.com/en-us/windows/win32/medfound/recommended-8-bit-…
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7324
On Thu Feb 13 12:40:06 2025 +0000, Brian Wright wrote:
> I've updated the [bug
> report](https://bugs.winehq.org/show_bug.cgi?id=57603) with some debug
> logs from 10.1 including `+x11drv,+event,+cursor,+win,+hid` if this helps.
@rbernon On the client side, if you wanted to know why the log produces the values it has or had advice on code changes, the relevant file seems to be [yabridge/src/wine-host/editor.cpp](https://github.com/robbert-vdh/yabridge/… and a few routines responsible for coords and mouse handling that might be indirectly showing up in the bug report log include **is_cursor_in_wine_window** (line 1442), **get_current_pointer_position** (line 953), **fix_local_coordinates** (line 785), and `case XCB_CONFIGURE_NOTIFY` (line 552)
I can attach to Wine and/or yabridge in a debugger, but I wouldn't have advice on what to change since I don't know how the handle relationships should look in order to find out which routine is producing incorrect coordinate offsets. If you want me to try anyway, I can put it in the queue of all the other stuff I forget to do once the workday is over.
Thanks to you and @robbert-vdh for maintaining two phenomenal tools.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6569#note_94461
Recent binutils changes merge .idata sections into the read-only .rdata section.
This is intended to make the IAT read-only, as with other modern linkers, but as
a side effect, it broke delay-load import libraries. Delay-load import libraries
should use separate sections regardless.
Since these new sections are not recognized by the linker, it won’t apply special
handling to maintain proper sorting. In practice, this isn’t an issue as long as
the name table and IAT maintain the same order. This may result in negative IAT
offsets (if the base symbol ends up in the middle of the IAT), but Windows appears
to handle this without issues.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57819
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7328
This MR tries to implement the SetIMECompositionRect user driver function and partially the WINE_IME_POST_UPDATE message call. It requires support for zwp_text_input_v3 from the compositor. It supports submitting committed text to the win32 side and notifying the compositor about the area of the text cursor rectangle.
This doesn't add support for embedded pre-edit because I couldn't immediately get it to appear. Either I did something incorrect, or it has something to do with Wayland. On X11, the pre-edit appears completely separated to the application window and doesn't move with it, which doesn't seem to be compatible with Wayland.
If Windows has the surrounding text feature, it does not seem possible to support it here with the provided interface.
The IME is always enabled on the focused surface, like on X11. If Windows has a facility that applications can use to say that it does or does not accept text entry at certain parts of the UI, it does not seem possible to support it here with the provided interface.
--
v3: winewayland: Implement SetIMECompositionRect.
winewayland: Post IME update for committed text.
winewayland: Enable/disable the zwp_text_input_v3 object.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7241
This MR tries to implement the SetIMECompositionRect user driver function and partially the WINE_IME_POST_UPDATE message call. It requires support for zwp_text_input_v3 from the compositor. It supports submitting committed text to the win32 side and notifying the compositor about the area of the text cursor rectangle.
This doesn't add support for embedded pre-edit because I couldn't immediately get it to appear. Either I did something incorrect, or it has something to do with Wayland. On X11, the pre-edit appears completely separated to the application window and doesn't move with it, which doesn't seem to be compatible with Wayland.
If Windows has the surrounding text feature, it does not seem possible to support it here with the provided interface.
The IME is always enabled on the focused surface, like on X11. If Windows has a facility that applications can use to say that it does or does not accept text entry at certain parts of the UI, it does not seem possible to support it here with the provided interface.
--
v2: winewayland: Implement SetIMECompositionRect.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7241
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56106
I'm not sure why there's a IRandomAccessStreamReferenceStatics interface in WinTypes. Perhaps it was supposed to be queried from one of the classes there? I've seen something similar with other classes.
--
v2: windows.storage: Add error handling in IRandomAccessStreamReferenceStatics::CreateFromStream().
windows.storage: Add IRandomAccessStreamReferenceStatics stub interface.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7308
On Thu Feb 13 05:57:40 2025 +0000, Aida Jonikienė wrote:
> Does iCUE even work on Wine though? I think it does direct USB device
> access for mice/keyboards (and other peripherals)
It's also needed by other programs like PowerToys, but iCUE is the easiest to test since it calls it right away. And Wine has some USB support.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7146#note_94422
Make both method calls;
1. Consistently written with parameter names as per spec.
2. Fix parameter validation to be consistent with spec.
3. Fix szNameBuf parameter semantics as per spec.
4. Fix szNameBuf casing str search as per spec.
5. Factor out common code into TLB_ helpers vastly improves readability.
--
v22: dlls/oleaut32: Bound ITypeLib2_Constructor_SLTG() loop
dlls/oleaut32/connpt.c: Make consistent and validate args
This merge request has too many patches to be relayed via email.
Please visit the URL below to see the contents of the merge request.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7286