Commit Graph

149162 Commits

Author SHA1 Message Date
Rémi Bernon 7a571127e4 xinput1_3/tests: Add some HID report tests.
This adds tests to validate the bogus HID devices exposed native XInput
driver. Interactive tests are also included to validate the HID report
values, and more specifically the weird combined triggers, which is
currently not implemented correctly in Wine.

Some third-party libraries, such as SDL, are known to rely on this bogus
HID devices and hardcode the expected report structure.

This has been tested on Windows 10 with XBox 360 controllers as well
as Xbox One S controllers.

The latter are detected as 045e:02ea on Linux, but as 045e:02ff on
Windows for some reason, and their descriptor seems a little bit
different.

Their exposed HID device also doesn't seem to work at all and ReadFile
never succeeds, so the interactive tests are skipped for these devices.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Nikolay Sivov fa20ac430b d3dx11/tests: Add some tests for D3DX11GetImageInfoFromMemory().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Nikolay Sivov ebb99bde64 d3dx9: Implement getting/setting line width.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Alexandre Julliard 2941e51855 ntdll: Avoid CDECL on internal functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Alexandre Julliard d7add38218 ntdll: Make __wine_unix_call() WINAPI to follow syscall conventions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:49 +02:00
Alexandre Julliard 6688367046 winegcc: Don't build the .spec.o file for native Unix libraries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Alexandre Julliard c697ee728b winegcc: Add a helper function to build the .spec.o file.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Zebediah Figura a3931375dd kernelbase: Return performance data when querying HKEY_PERFORMANCE_(NLS)TEXT as well.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=33037
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Zebediah Figura aa99608dfa kernelbase: Implement reading performance counter help strings.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Zebediah Figura aaf66e57de kernelbase: Implement reading performance counter name strings.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Zebediah Figura a8367f1d53 kernelbase: Do not map HKEY_PERFORMANCE_DATA to \Registry\PerfData.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 22:59:21 +02:00
Zebediah Figura 7817238a87 advapi32/tests: Expand tests for performance keys.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 11:43:39 +02:00
Nikolay Sivov f63ecaedc7 d3d10/effect: Partially implement ID3D10Effect::GetDesc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 23:01:52 +02:00
Nikolay Sivov 14ec330052 d3d10/effect: Implement GetString().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 23:01:49 +02:00
Nikolay Sivov b73ed1977c d3d10/effect: Store string annotation values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 23:01:46 +02:00
Nikolay Sivov eb2946addf d3dx10: Partially implement D3DX10CreateEffectFromFileW().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 23:01:43 +02:00
Nikolay Sivov 5279212cd9 d3dx10: Partially implement D3DX10CreateEffectFromMemory().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 23:01:40 +02:00
Giovanni Mascellani 1ca54db1bf kernelbase: Fix an incorrect allocation size.
Variable nt_privs has type TOKEN_PRIVILEGES*, not TOKEN_GROUPS*.

This fixes a crash in the Cyberpunk 2077 launcher.

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 22:48:53 +02:00
Alex Henrie c5c9c58974 ntoskrnl: Add MmGetPhysicalAddress semi-stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47047
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 19:58:31 +02:00
Eduard Permyakov 2d33f406c9 xmllite: Don't lose terminating character when shrinking buffer.
The utf16 buffer is expected to be terminated by a '0' character.
Flawed buffer shrinking logic would move the buffer contents but
forget about the terminating character, which could cause reading
junk past the end of the buffer contents.

Signed-off-by: Eduard Permyakov <epermyakov@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 19:55:54 +02:00
Alexandre Julliard 4303e75313 winepulse.drv: Convert the Unix call initialization to NtQueryVirtualMemory().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:09:50 +02:00
Alexandre Julliard 8347c686e9 wow64: Add thunks for the Unix library syscalls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:09:50 +02:00
Alexandre Julliard 572817948a ntdll: Add a custom type for the Unix functions table handle.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:07:32 +02:00
Alexandre Julliard d91d05b80a ntdll: Add a Wine-specific NtQueryVirtualMemory() query to retrieve the Unix call table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:06:50 +02:00
Alexandre Julliard c29f650474 ntdll: Load the Unix dll at the same time as the PE one, but don't map it yet.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alexandre Julliard ccd9008d8d ntdll: Don't try to load .so dlls for a different machine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alexandre Julliard 18408b18f3 ntdll: Make release_builtin_module() static.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Andrew Boyarshin 32ec7d7b94 include: Fix IRequestDictionary IID.
IRequestDictionary had the wrong UUID specified (IResponse one).
Found by using MIDL instead of WIDL to compile Wine headers:
duplicated IID caused compilation error in MIDL.

Signed-off-by: Andrew Boyarshin <andrew.boyarshin@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Luke Deller 8294b2c8ad kernelbase: Translate FILE_FLAG_SEQUENTIAL_SCAN.
Translate FILE_FLAG_SEQUENTIAL_SCAN into the corresponding flag for
NtCreateFile options

Signed-off-by: Luke Deller <luke@deller.id.au>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Luke Deller 1ca67c8ba2 msvcrt: Translate file open access pattern hints.
Translate access pattern hints supplied to fopen / _open into the
corresponding attributes for the lower level CreateFileW call.

Signed-off-by: Luke Deller <luke@deller.id.au>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Rémi Bernon ae01a6f6ad ntoskrnl.exe/tests: Restore default mute threshold.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Rémi Bernon 325984ded5 hidclass.sys: Use a simpler ring buffer with ref-counted reports.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Rémi Bernon 0a104844eb hidclass.sys: Process pending IRP queue using last read packet.
Instead of requiring the ring buffer to keep previously read packets.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Rémi Bernon 3a3e0ed2e9 hidclass.sys: Create separate report queue for each opened handle.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Rémi Bernon 2e3a0dac84 hidclass.sys: Rename WINE_HIDP_PREPARSED_DATA to struct hid_preparsed_data.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alistair Leslie-Hughes 656691feb7 hid: Validate preparsed data pointer passed in HidP functions.
Power Rangers: Battle for the Grid.

0514:trace:hidp:HidP_GetCaps preparsed_data 000000004C9566B0, caps 000000000010EF00.
0514:trace:hidp:HidP_GetCaps preparsed_data 0000000000000000, caps 000000000010F020.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Ziqing Hui 77930f1fe2 d2d1: Implement d2d_effect_GetValue().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Ziqing Hui a60e45b64b d2d1: Implement d2d_effect_SetInputCount().
Signed-off-by: Ziqing Hui <zhui@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Zebediah Figura 1ab1311708 kernelbase: Return HKEY_PERFORMANCE_TEXT when trying to open the Perflib\009 key.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Zebediah Figura 70e95447f9 server: Create the special Perflib\009 key.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Zebediah Figura e6a183f5ec advapi32/tests: Add some test for perflib keys.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Zebediah Figura acc1861ed0 server: Fix the parameter size check for IOCTL_AFD_EVENT_SELECT.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget a716b13974 server: Remove obsolete synthesized formats in release_clipboard().
Synthesized formats must be removed too if the format they depend on has
been removed.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51496
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget ce98c3b58e user32/tests: Test delayed clipboard rendering after window destruction.
If the window does not render the delayed-rendering clipboard formats
before it is destroyed, then they should be removed from the clipboard,
including the derived formats added by CloseClipboard().

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget d07d4ef799 oleaut32: Allow longer regional settings values.
Only the first character matters but the extra ones should not prevent
it from being used.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Francois Gouget 2e302e8d8c oleaut32: Fix handling of hexadecimal/octal numbers in VarParseNumFromStr().
They are incompatible with decimal numbers and currencies.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Huw Davies b63195d595 iphlpapi: Implement AllocateAndGetIpNetTableFromStack() on top of GetIpNetTable().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies a16697398b iphlpapi: Implement GetIpNetTable() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies ae3e512b77 iphlpapi: Implement GetIpNetTable2() on top of nsi.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00
Huw Davies c09c65f65c nsiproxy: Implement IPv4 neighbour enumerate_all.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:54 +02:00