1
0
Fork 0
mirror of synced 2025-03-07 03:53:26 +01:00
Commit graph

100 commits

Author SHA1 Message Date
Rémi Bernon
4573910acc win32u: Move D3DKMT vulkan implementation out of winex11. 2024-03-26 22:46:05 +01:00
Rémi Bernon
28873ce8c4 win32u: Move vulkan loading and init guard out of the drivers. 2024-03-22 17:05:31 +01:00
Rémi Bernon
00a541d6a0 win32u: Move D3DKMT VidPn* functions out of winex11. 2024-03-13 18:28:49 +01:00
Rémi Bernon
7299d3728a win32u: Move D3DKMT functions to a new d3dkmt.c source. 2024-03-13 18:28:49 +01:00
Alexandre Julliard
d06192afe9 user32: Return a proper NTSTATUS in the load driver callback. 2024-01-19 14:23:24 +01:00
Rémi Bernon
746de31897 win32u: Remove now unnecessary ImeToAsciiEx driver entry. 2024-01-17 21:54:59 +01:00
Rémi Bernon
5f313c0fdb win32u: Move ImeToAsciiEx implementation from winex11.
Using a new WINE_IME_POST_UPDATE NtUserMessageCall call for the drivers.
2024-01-17 21:54:55 +01:00
Rémi Bernon
62c6646d8f win32u: Introduce new SystrayDock driver entry points. 2023-12-01 19:08:55 +01:00
Rémi Bernon
22bfdbeb48 win32u: Introduce a new NtUserSystemTrayCall message call. 2023-12-01 19:08:54 +01:00
Rémi Bernon
7c2ea1632f win32u: Introduce KbdLayerDescriptor user driver entry. 2023-11-30 23:12:54 +01:00
Etaash Mathamsetty
627181d99c gdi32: Add stub for D3DKMTQueryAdapterInfo. 2023-10-09 11:37:49 +02:00
Rémi Bernon
3afff1a690 win32u: Add a hwnd parameter to SetCursor driver entry points. 2023-06-13 22:10:56 +02:00
Rémi Bernon
b7570b798e win32u: Add a reset parameter to WM_WINE_CLIPCURSOR and driver ClipCursor. 2023-06-07 22:48:27 +02:00
Alexandre Julliard
a315420d31 win32u: Don't use WINAPI for the font enumeration function. 2023-05-31 13:35:53 +02:00
Jacek Caban
8c5dd2214e win32u: Don't use CDECL for gdi_dc_funcs entries. 2023-05-31 12:48:52 +02:00
Rémi Bernon
f7d45533d1 explorer: Call user driver through a new CreateDesktop callback. 2023-05-30 13:45:43 +02:00
Rémi Bernon
15dfe2ed2d win32u: Rename user driver CreateDesktopWindow entry to SetDesktopWindow.
This doesn't create anything, but instead notifies the user driver of
the current desktop window, either when it is created, or when a thread
calling NtUserGetDesktopWindow receives the current desktop window.
2023-05-30 13:45:33 +02:00
Rémi Bernon
bfa19f8c7e win32u: Introduce a new ImeToAsciiEx call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Rémi Bernon
c7dc10b192 win32u: Introduce a new ImeProcessKey call through NtUserMessageCall. 2023-05-12 17:50:49 +02:00
Rémi Bernon
56d0b870b6 win32u: Introduce new NtUserNotifyIMEStatus syscall. 2023-05-10 21:21:25 +02:00
Alexandros Frantzis
243c19098e win32u: Allow drivers to set the null user driver.
Allow passing NULL as the user driver to __wine_set_user_driver(),
to set the internal null user driver. This is useful for drivers
that may need to tentatively set their own user driver during setup
and reset it on failure.

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-03-16 12:52:37 +01:00
Rémi Bernon
9c22a5ea63 win32u: Check GUID_NULL display device if desktop atom is missing.
When using nulldrv, there's no module to call __wine_set_user_driver and
the user driver is still lazy_load_driver when get_display_driver gets
called during desktop windows creation.

Then, load_desktop_driver fails as it cannot find the not-yet-created
desktop window atom, and fails later explorer.exe window creations such
as the systray window.

Other processes don't suffer from this as they wait for the desktop
window to be fully created, and its atom will be eventually set.

This change makes sure that we succeed in the case nulldrv was selected
by explorer.exe, while still failing in case of error with another user
driver as it would fail to open the right display device GUID.
2023-03-03 18:29:55 +01:00
Rémi Bernon
8531f23a41 win32u: Return the current display mode depth with nulldrv. 2023-03-03 18:29:47 +01:00
Paul Gofman
a97fd9f29e win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx. 2023-02-22 18:25:29 +01:00
Zhiyi Zhang
d81cf4ed55 win32u: Introduce a get_display_depth() helper to retrieve emulated display depth.
Using EnumDisplaySettings() directly to query display depth has a high overhead when using the
XRandR 1.0 display device handler on some NVIDIA setups.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51420
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53382
2023-01-09 16:44:08 +01:00
Rémi Bernon
38bef31fb6 win32u: Read mode from the registry if GetCurrentDisplaySettings fails. 2022-11-03 18:33:09 +01:00
Rémi Bernon
6ecffdad77 win32u: Write display settings to the registry in apply_display_settings.
As a fallback if ChangeDisplaySettings returns E_NOTIMPL.
2022-11-03 18:33:09 +01:00
Rémi Bernon
2fec6dd3e3 win32u: Add is_primary parameter to GetCurrentDisplaySettings. 2022-11-01 20:46:23 +01:00
Rémi Bernon
6aeaeed9fb win32u: Add primary adapter name parameter to ChangeDisplaySettings. 2022-11-01 20:46:22 +01:00
Rémi Bernon
981d59264f win32u: Move enumeration of available modes out of graphics drivers. 2022-09-23 15:16:48 +02:00
Rémi Bernon
12d0792f74 win32u: Move display placement logic out of graphics drivers. 2022-09-02 17:53:15 +02:00
Jacek Caban
1dfedae903 win32u: Use RtlSetLastWin32Error. 2022-08-10 19:24:12 +02:00
Jacek Caban
1e9390e558 win32u: Use platform-independent layout for ntuser_thread_info. 2022-08-09 15:55:43 +02:00
Rémi Bernon
82a77607da win32u: Split EnumDisplaySettingsEx into CurrentDisplaySettings entry. 2022-08-08 18:47:31 +02:00
Jacek Caban
b3fddeb8e4 win32u: Use syscall interface for NtUserMsgWaitForMultipleObjectsEx. 2022-07-21 23:03:29 +02:00
Rémi Bernon
360f12d307 win32u: Move default UpdateDisplayDevices implementation out of nulldrv.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-07-06 16:53:27 +02:00
Rémi Bernon
0f96698b6c win32u: Add invisible winstation virtual monitor outside of nulldrv.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
2022-07-06 16:53:27 +02:00
Jacek Caban
ff66d8ee0f win32u: Remove no longer used __wine_set_user_driver PE entry point.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-06-09 20:55:20 +02:00
Jacek Caban
7625e6ba20 win32u: Use user_callbacks for alertable NtWaitForMultipleObjects calls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53020
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-05-31 22:52:45 +02:00
Jacek Caban
806d85529f win32u: Introduce NtUserClipboardWindowProc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
2022-05-31 22:52:45 +02:00
Jacek Caban
dfeb2d2474 win32u: Introduce DesktopWindowProc driver entry point.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-19 20:53:35 +02:00
Zhiyi Zhang
8bc0c8d646 gdi32: Implement D3DKMTQueryVideoMemoryInfo().
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 17:50:43 +02:00
Zhiyi Zhang
4a98b07c4b winex11.drv: Open a Vulkan device for D3DKMTOpenAdapterFromLuid().
The Vulkan device is used for querying video memory information for implementing
D3DKMTQueryVideoMemoryInfo().

Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-17 17:50:36 +02:00
Jacek Caban
ac9b635800 win32u: Use NT interface for MsgWaitForMultipleObjectsEx user driver entry point.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 19:01:13 +02:00
Jacek Caban
365bc308be win32u: Move normalize_std_handle call to NtUserMsgWaitForMultipleObjectsEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-05-03 19:01:13 +02:00
Zhiyi Zhang
a1dda8c376 win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
According to tests, GetDeviceCaps(NUMCOLORS) returns -1 for display DCs when the current display
mode is 8-bit on newer versions of Windows, which makes sense because lower bit depth display modes
are actually emulated with 32-bit modes.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52679
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-21 14:44:58 +02:00
Jacek Caban
356f37466f win32u: Expose public parts of user_thread_info in ntuser.h.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-19 17:36:34 +02:00
Jacek Caban
acfec2f94c win32u: Use RtlInitUnicodeString from ntdll.so.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-18 20:58:54 +02:00
Jacek Caban
f6524f7a3a win32u: Don't use CDECL for user driver functions.
They are no longer used from PE code.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-07 22:44:39 +02:00
Jacek Caban
1d0fbcc9d9 win32u: Move __wine_set_user_driver implementation from user32.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-07 22:44:39 +02:00