Overwatch 2 verifies that every kernel callback that is run, lives in user32. Introduce a callback in user32 that just forwards to the other modules' callbacks.
--
v19: include: Add a comment explaining why all kernel callbacks must be in user32.
user32: Remove NtUserDriverCallback* kernel callbacks.
winex11.drv: Route kernel callbacks through user32.
winex11.drv: Pass a struct to x11drv_ime_set_result.
winex11.drv: Pass a struct to x11drv_dnd_post_drop.
winemac.drv: Route kernel callbacks through user32.
wineandroid.drv: Route kernel callbacks through user32.
opengl32: Route kernel callbacks through user32.
winevulkan: Route kernel callbacks through user32.
user32: Add NtUserDispatchCallback kernel callback.
user.exe16: Move kernel callbacks to wow_callbacks.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1180
wow64: Add TokenIntegrityLevel surpport to wow64_NtSetInformationToken as NtSetInformationToken does.
Description: synchronize wow64_NtSetInformationToken and
NtSetInformationToken.Avoid crash of some application due
to TokenIntegrityLevel failure in wow64 mode.
Signed-off-by: chenjiangyi <chenjiangyi(a)uniontech.com>
Change-Id: I556ab5cc6531dfab2c404e6769e053f42ada70a7
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5440
Wayland has 3 types of scrolling events:
- axis. Used for e.g., touchpad 2 finger smooth scrolling
- axis_discrete. Used for mouse scroll wheels (i.e., notches)
- axis_value120. Used for high resolution input devices
Wine currently only supports axis_discrete, meaning that
2 finger scroll events get ignored.
This commit tries to add basic support for axis scrolling events,
by translating the smooth motion in scroll increments using some
primitive assumptions about line height and number of lines to scroll.
--
v11: wip! winewayland.drv: Try to support smooth scroll events
https://gitlab.winehq.org/wine/wine/-/merge_requests/4809
My hardware is Ryzen 7 4700u with the integrated graphics
Flatout (Direct3D 9): 20 fps (renders correctly)
Unigine Heaven (OpenGL): ~40-60 fps (renders correctly)
Unigine Heaven (Direct3D 9): 20-30 fps (renders correctly)
Unigine Heaven (Direct3D 11): 20-30 fps as well (renders correctly)
Elder Scrolls IV (Direct3D 9): 20 fps (renders correctly)
BeamNG Tech Demo 0.3 (Direct3D 9): 2 fps (renders correctly, but still runs poorly)
Massive step up from getting 2 fps across many wined3d games, but it's still pretty bad, ~~and sometimes runs worse than the original code~~. Now with a combination of using the new and old code dynamically you can get the best of both worlds!
Unfortunately, we lose the ability to get lucky with the mapping just happening to be in the 32 bit range.
--
v7: opengl32: speed up wow64 mapping.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5145
We can't return the unicode string size, this returns sizes to small
for multi-byte characters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54295
--
v10: userenv: Fix GetProfilesDirectoryA return value
kernel32: Rework ExpandEnvironmentStringsA to return ansi size and fix corner cases.
kernel32: Rework ExpandEnvironmentStringsW error handling.
ntdll: Rework RtlExpandEnvironmentStrings/_U to account for corner cases.
kernel32: Add ExpandEnvironmentStringsA tests for japanese.
kernel32: Add more tests for ExpandEnvironmentStringsA.
kernel32: Add tests for ExpandEnvironmentStringsW.
ntdll: Add more tests for RtlExpandEnvironmentStrings/_U.
userenv: Add another test for GetProfilesDirectoryA
https://gitlab.winehq.org/wine/wine/-/merge_requests/4045
Example my assembly with gcc -02 flag
Before:
![screen_before](/uploads/f2bf5f4c793c159c31ac42b635c46d5a/screen_before.jpg)
After:
![screen_after](/uploads/051315ad1e3c064046446782d36e1a29/screen_after.jpg)
--
v4: d3dcompiler: replaced to char, wchar_t parameter if possible
wcmdmain: replaced to char, wchar_t parameter if possible
https://gitlab.winehq.org/wine/wine/-/merge_requests/6158