Commit graph

16290 commits

Author SHA1 Message Date
Zebediah Figura b545ca0f9b win32u: Make NtUserSetWindowPixelFormat() into a proper export.
This is simpler in general, given that this function is no longer used
from user-space. In this particular case, the secondary purpose is to
allow easily adding arguments to the function.
2023-03-09 15:02:38 +01:00
Brendan Shanks d7d94ed0df kernelbase: Implement DiscardVirtualMemory(). 2023-03-08 17:49:00 +01:00
Alexandre Julliard fa47ea7400 server: Determine the native thread context flags on the client side. 2023-03-08 12:43:20 +01:00
Mohamad Al-Jaf 79a7c7ca40 include: Add windows.perception.spatial.surfaces.idl file. 2023-03-07 18:36:26 +01:00
Mohamad Al-Jaf 16b3b79105 include: Add windows.graphics.directx.idl file.
Needed by windows.perception.spatial.surfaces.idl.
2023-03-07 18:36:25 +01:00
Mohamad Al-Jaf 9065c6637e include: Add windows.perception.spatial.idl file.
Needed by windows.perception.spatial.surfaces.idl.
2023-03-07 18:36:23 +01:00
Alexandre Julliard 63a781de1d wow64: Declare exported functions in winternl.h. 2023-03-07 17:25:08 +01:00
Alexandre Julliard c244fe3d27 wow64: Keep track of APC stack frames, similarly to user callback frames.
And use the appropriate frame to restore the context in NtContinue.
2023-03-07 17:25:08 +01:00
Georg Lehmann 1eed39fffe winevulkan: Update to VK spec version 1.3.242. 2023-03-06 11:10:34 +01:00
Brendan Shanks ac031bff9e kernel32: Implement GetFirmwareType(). 2023-03-06 11:09:03 +01:00
Mohamad Al-Jaf c78cd3f554 include: Add more Windows.Foundation.Numerics structs. 2023-03-03 11:16:22 +01:00
Henry Goffin 0e85ac17a4 win32u: Invalidate all cached keys after input.
This patch addresses an issue in Second Life and potentially other
multi-threaded applications which process WM_KEYDOWN in one thread
and then verify that the key is "still down" with GetAsyncKeyState
from another thread. Wine uses a per-thread key cache, resulting
in inconsistent views of key status. Caches are now invalidated
when an input event is injected by the driver or via SendInput.
2023-03-02 10:20:01 +01:00
Alex Henrie b9627b996f ntoskrnl: Add ExGetPreviousMode and test.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54378
2023-03-01 21:39:30 +01:00
Alexandre Julliard d5468b9cac ntdll: Implement RtlAddProcessTrustLabelAce(). 2023-03-01 21:39:30 +01:00
Rémi Bernon ad5cb8305f winex11: Assume that Xkb extension is available. 2023-02-28 20:55:45 +01:00
Alexandre Julliard aa3e772abf ntdll: Mark the Wow64 TLS slots as reserved. 2023-02-24 22:23:12 +01:00
Alistair Leslie-Hughes 7582ebcd1a include: Add DBCOLUMNFLAGS_ enums values. 2023-02-24 22:23:12 +01:00
Rémi Bernon 653321a2b4 include: Allow overriding LANGID in module VERSIONINFO. 2023-02-24 10:28:37 +01:00
Mohamad Al-Jaf 80dc6df8fd include: Add windows.security.credentials.idl file. 2023-02-23 17:30:17 +01:00
Hans Leidekker 210596600c include: Add missing smart card defines. 2023-02-22 21:14:20 +01:00
Paul Gofman a97fd9f29e win32u: Expose and use ProcessEvents from drivers instead of MsgWaitForMultipleObjectsEx. 2023-02-22 18:25:29 +01:00
Alex Henrie 8f2df17e84 include: Annotate CommandLineToArgvW with __WINE_DEALLOC. 2023-02-22 18:06:08 +01:00
Mohamad Al-Jaf 079ff28fce include: Fix BluetoothRegisterForAuthentication prototype.
The first parameter is defined as const BLUETOOTH_DEVICE_INFO in MSDN and bluetoothapis.h.
2023-02-22 18:05:55 +01:00
Connor McAdams 21e6fd5076 uiautomationcore: Implement UiaLookupId for AutomationIdentifierType_ControlType GUIDs.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-22 18:05:40 +01:00
Alexandros Frantzis aa72d7d42d gdi32: Track ticks since draw start per window_surface.
Track ticks since draw start per window_surface, instead of per DC as is
currently the case. This change helps reduce visual glitches caused by
badly timed flushes when drawing to the same window_surface from
multiple DCs (e.g., for child windows).

This approach is a better fit for the current heuristic for forcing
flushing, which consults the shared window_surface bounds to decide
whether this is the start of a draw in order to reset the (currently per
DC) draw start time.

The problem in the current implementation occurs when a drawing to a DC
begins with an already damaged window_surface, e.g., due to draws from
other DCs targeting that window_surface. In such a case, the DC draw
start time is not reset and refers to the start of some previous draw
sequence using this DC, thus increasing the chances that the 50ms time
flush limit will be eventually exceeded in the middle of the current
draw sequence. In other words, the state of the (shared) window_surface
damage is not a reliable indicator of the beginning (or not) of a draw
to a DC.

An example, assuming DC1 and DC2 target the same window_surface:

DC1.start_ticks = 0
DC2.start_ticks = 0
FLUSH_PERIOD = 50

0 flush
1 draw to DC1 -> DC1.start_ticks = 1
... [no flush] ...
2 draw to DC2 -> DC2.start_ticks remains 0 since surface is damaged
...
50 flush
51 draw to DC1 -> DC1.start_ticks = 51
... [no flush] ...
52 draw to DC2 -> DC2.start_ticks remains 0 since surface is damaged,
                  current - DC2.start_ticks > FLUSH_PERIOD so we are
                  forced to flush in the middle of the drawing
                  sequence => potential glitch

Tracking the draw start per window_surface ameliorates the problem
because the beginning of a draw on a DC targeting an undamaged
window_surface resets the start time for all DCs targeting that
window_surface:

...
50 flush
51 draw to DC1 -> surface.draw_ticks = 51
... [no flush] ...
52 draw to DC2 -> surface.draw_ticks remains 51 since surface is damaged,
                  but current - surface.draw_ticks < FLUSH_PERIOD, so we
                  do not flush

Signed-off-by: Alexandros Frantzis <alexandros.frantzis@collabora.com>
2023-02-21 11:22:45 +01:00
Mohamad Al-Jaf 5d2051eb64 include: Add BluetoothRegisterForAuthenticationEx prototype. 2023-02-21 11:22:34 +01:00
Alexandre Julliard 1b9db99417 ntdll: Return the correct IOSB information when creating a named pipe. 2023-02-21 11:17:17 +01:00
Alexandre Julliard d74b084e45 ntdll: Pass the NtCreateNamedPipeFile disposition to the server. 2023-02-21 10:48:16 +01:00
Eric Pouech 417d2c0235 include: Ensure that SymRefreshModuleList() is properly defined.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-20 23:00:33 +01:00
Zhiyi Zhang 9833695855 include: Add dcomp.idl.
Note that overloaded C++ methods are renamed to avoid conflicts.
2023-02-20 23:00:33 +01:00
Zhiyi Zhang c10568fc31 include: Add dcompanimation.idl. 2023-02-20 23:00:33 +01:00
Zhiyi Zhang 74e6345712 include: Add dcomptypes.idl. 2023-02-20 23:00:33 +01:00
Zhiyi Zhang 58427faace include: Add DirectComposition error codes. 2023-02-20 23:00:33 +01:00
Alexandre Julliard f4c3801495 include: Move __builtin_ms_va_list definitions to vadefs.h. 2023-02-20 08:41:45 +01:00
Connor McAdams 88a1e94971 uiautomationcore: Register all UI Automation typelibs.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-20 08:37:21 +01:00
Eric Pouech 89d42d64d7 ntdll: Implement RtlAddressInSectionTable.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54432
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-17 18:59:29 +01:00
Paul Gofman 6bc1eea718 win32u: Remove monitor name from gdi driver monitor info. 2023-02-17 11:20:00 +01:00
Brendan Shanks 1362b0c04f include: Add __ASM_LOCAL_LABEL macro. 2023-02-16 10:38:02 +01:00
Alistair Leslie-Hughes 96e18688e9 include: Add missing SQL prototype. 2023-02-16 10:31:56 +01:00
Rémi Bernon 333ab2b4d6 include: Add Imm(Get|Set)HotKey declarations. 2023-02-15 21:48:33 +01:00
Rémi Bernon f371309f6d include: Fix ImeToAsciiEx declaration. 2023-02-15 21:48:33 +01:00
Rémi Bernon 2fdfe16c2d include: Fix ImeInquire declaration. 2023-02-15 21:48:33 +01:00
Rémi Bernon 68ff9a942e include: Move ddk/imm.h to immdev.h. 2023-02-15 21:48:33 +01:00
Connor McAdams 23c10c928b uiautomationcore: Add UiaRaiseChangesEvent stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-14 20:57:09 +01:00
Connor McAdams e84b95ef6f uiautomationcore: Add UiaRaiseNotificationEvent stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-14 20:57:09 +01:00
Connor McAdams 5e7356c8db uiautomationcore: Add UiaRaiseTextEditTextChangedEvent stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-14 20:57:09 +01:00
Connor McAdams c928ae56e4 uiautomationcore: Add UiaRaiseAsyncContentLoadedEvent stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-14 20:57:09 +01:00
Connor McAdams 8f70e20fbd uiautomationcore: Add UiaRaiseStructureChangedEvent stub.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2023-02-14 20:57:09 +01:00
Zebediah Figura 302996efae wined3d: Introduce wined3d_texture_get_swapchain(). 2023-02-14 20:57:09 +01:00
Eric Pouech 20e7eb5eba include: Add manifest constants for EnumProcessModulesEx.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
2023-02-13 17:08:46 +01:00