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