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