Commit graph

159551 commits

Author SHA1 Message Date
Witold Baryluk
b819b96617 ntdll: Keep pagemap file open after first use of NtQueryVirtualMemory(MemoryWorkingSetExInformation). 2022-09-22 17:57:32 +02:00
Witold Baryluk
ffab9d9747 ntdll: Use pread in NtQueryVirtualMemory(MemoryWorkingSetExInformation).
1 syscall instead of 2 syscalls. Faster and simpler code.
2022-09-22 17:57:30 +02:00
Witold Baryluk
96a4a2b4c4 ntdll: Do not use hardcoded page shift in NtQueryVirtualMemory(MemoryWorkingSetExInformation). 2022-09-22 17:57:28 +02:00
Witold Baryluk
ee706c3e25 ntdll: Speed up NtQueryVirtualMemory(MemoryWorkingSetExInformation) by conditional page check.
Legends game periodically (every 30 seconds) calls this function
with up to 22k virtual addresses. All but 1 of them is valid. Due to
amount of queries addresses, and cost of seek+read, this causes this
function to take up to about 50ms. So framerate drops from ~150 FPS to
20FPS for about a second.

As far as I can see, returning 0 entries from this function, still makes
Apex Legend work.

But keep code correct, and optimise it by only performing pagemap read
when the address is valid.

This change get_working_set_ex reduces peek wall clock runtime from 57ms
to 0.29ms.

Tested on Linux, but similar change done for the BSD part.

Signed-off-by: Witold Baryluk <witold.baryluk@gmail.com>
2022-09-22 17:57:26 +02:00
Etaash Mathamsetty
e2a5bf7540 ntoskrnl: Implement KeGetCurrentProcessorNumberEx. 2022-09-21 21:29:20 +02:00
Hans Leidekker
7de69f49c6 secur32/tests: Fix test failure caused by expired client certificate. 2022-09-21 21:26:50 +02:00
Hans Leidekker
89225483fe winhttp/tests: Fix test failure caused by expired client certificate. 2022-09-21 21:26:50 +02:00
Paul Gofman
1120a1cb29 crypt32: Support CRYPT_STRING_HEX in CryptStringToBinary(). 2022-09-21 21:26:37 +02:00
Paul Gofman
a79ec1c584 crypt32: Support CRYPT_STRING_HEXRAW in CryptBinaryToStringA(). 2022-09-21 21:26:37 +02:00
Zebediah Figura
cd7a9386ec d3d10core/tests: Ignore random WARP failures in test_pipeline_statistics_query.
This is the d3d10core counterpart to d741742e32.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
2022-09-21 21:26:05 +02:00
Zebediah Figura
d89a017056 d3d11/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
Some drivers (AMD Radeon RX 6700 XT, with radeonsi from Mesa 22.2.0-rc3) emit
less than one invocation per pixel, presumably because they detect that the
shader control flow is uniform for all pixels. Having the control flow depend on
SV_Position avoids this test failure.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
2022-09-21 21:26:03 +02:00
Zebediah Figura
34bd0dd070 d3d10core/tests: Use a pixel shader that consumes SV_Position in test_pipeline_statistics_query().
Some drivers (AMD Radeon RX 6700 XT, with radeonsi from Mesa 22.2.0-rc3) emit
less than one invocation per pixel, presumably because they detect that the
shader control flow is uniform for all pixels. Having the control flow depend on
SV_Position avoids this test failure.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
2022-09-21 21:26:01 +02:00
André Zwing
b07e06e297 ntdll: Fix ARM vs AMD64 typo. 2022-09-20 20:53:27 +02:00
David Kahurani
903c91fc60 win32u: Use allocator mechanism to allocate DC attributes.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53645
2022-09-20 20:53:17 +02:00
Hans Leidekker
fa058bc3f0 adsldp/tests: Get rid of workarounds for Windows XP. 2022-09-20 20:53:10 +02:00
Hans Leidekker
4f9e80de0f adsldp/tests: Limit the number of search results. 2022-09-20 20:53:10 +02:00
Hans Leidekker
2281b06766 adsldp: Implement ADS_SEARCHPREF_SIZE_LIMIT. 2022-09-20 20:53:10 +02:00
Jacek Caban
9128587e4b winemac: Implement wow64 thunks. 2022-09-20 20:52:58 +02:00
Jacek Caban
1b69aae3f4 winemac: Use platform-independent types for user callback params. 2022-09-20 20:52:58 +02:00
Jacek Caban
4467589a4a win32u: Introduce NtUserSendDriverMessage.
And use it in display drivers.
2022-09-20 20:52:56 +02:00
Nikolay Sivov
5e0acc095d cryptowinrt: Implement GenerateRandomNumber().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:28:38 +02:00
Nikolay Sivov
09cb9cd1c6 cryptowinrt: Add a stub module.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:28:35 +02:00
Nikolay Sivov
307eae20a6 include: Add windows.security.cryptography.idl.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:28:35 +02:00
Zebediah Figura
d0f34c232a ntdll: Add a fast path for NtDeviceIoControlFile(INVALID_HANDLE_VALUE).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53706
2022-09-20 09:28:32 +02:00
Connor McAdams
958bba92d2 uiautomationcore: Add tests for UiaNodeFromHandle.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:30 +02:00
Connor McAdams
8642e96c19 uiautomationcore: Create UI Automation client thread.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:30 +02:00
Connor McAdams
41dd89a8e4 uiautomationcore: Implement UiaNodeFromHandle.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:29 +02:00
Connor McAdams
858596bbd5 uiautomationcore: Shutdown provider thread when all returned nodes are released.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:29 +02:00
Connor McAdams
d7c95765d0 uiautomationcore: Increment module reference count when starting provider thread.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:29 +02:00
Connor McAdams
02b87a4002 uiautomationcore: Implement UiaReturnRawElementProvider.
Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
2022-09-20 09:27:29 +02:00
Rémi Bernon
7ceac9e4c9 winegstreamer: Merge wm_syncreader.c into wm_reader.c. 2022-09-20 09:26:25 +02:00
Rémi Bernon
1dd11e63c0 winegstreamer: Aggregate a IWMSyncReader in the async reader.
Instead of an internal struct wm_reader.
2022-09-20 09:26:23 +02:00
Rémi Bernon
131ada052a winegstreamer: Get rid of the wm_reader_ops callbacks.
Controlling lifetime from the sync / async reader side.
2022-09-20 09:26:21 +02:00
Nikolay Sivov
0f25fadb14 threadpoolwinrt: Add initial implementation of RunAsync.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:26:11 +02:00
Nikolay Sivov
511be2e86d threadpoolwinrt: Add a stub module.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:26:08 +02:00
Nikolay Sivov
42e21bc5df include: Add windows.system.threading.idl.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-20 09:26:08 +02:00
Jinoh Kang
dce7a61fa4 msvcp90: Use atomic write for releasing threadsafe_queue spin lock.
This fixes data race in ARM/ARM64 platforms, and prevents potential
memory access reordering by the compiler.
2022-09-20 09:24:38 +02:00
Jinoh Kang
94512ecc12 concrt140: Use atomic write for releasing threadsafe_queue spin lock.
This fixes data race in ARM/ARM64 platforms, and prevents potential
memory access reordering by the compiler.
2022-09-20 09:24:37 +02:00
Etaash Mathamsetty
d1e23696df ntoskrnl: KeSetTargetProcessorDpcEx stub.
Required by mrac anti cheat.
2022-09-20 09:22:47 +02:00
Alistair Leslie-Hughes
df72f9a870 msdasql: Implement IColumnsRowset GetAvailableColumns.
The functions returns a series of custom columns to make a row unique.
For us, it's safe to return no extra columns at this stage.

Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-09-20 09:22:25 +02:00
Alistair Leslie-Hughes
ebf0070899 msdasql: Implement ICommandProperties SetProperties.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-09-20 09:22:25 +02:00
Alistair Leslie-Hughes
323355a848 msdasql: Implement ICommandProperties GetProperties.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2022-09-20 09:22:23 +02:00
Akihiro Sagawa
cb0e4f5f4f user32: Fix a memory allocation strategy.
Otherwise, the function allocates a heap memory when prev_size is enough.
What is worse is that it returns the buffer untouched if the prev_size
is insufficient.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53703
2022-09-19 20:13:12 +02:00
Piotr Caban
548a6afccb msvcr100: Fix crash when setting scheduler in schedule_task_proc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53672
2022-09-19 20:12:51 +02:00
Piotr Caban
bd43bb5304 msvcp90: Fix indentation in concurrent_vector_alloc_segment function. 2022-09-19 20:12:43 +02:00
Shaun Ren
6d2a9af43b msvcrt: Fix strncmp return value.
Some programs, such as Final Fantasy IV (3D remake), expect strncmp
to return exactly +/-1 when the strings are not equal.

Signed-off-by: Shaun Ren <sren@codeweavers.com>
2022-09-19 20:12:32 +02:00
Gijs Vermeulen
1b3f61d7a5 ntdll: Add RtlDosPathNameToRelativeNtPathName_U.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53700
2022-09-19 20:12:02 +02:00
Nikolay Sivov
1ceba3533e kernelbase: Add MapViewOfFileFromApp().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-19 20:11:37 +02:00
Nikolay Sivov
3ede82e2a8 kernelbase: Add CreateFileMappingFromApp().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-19 20:11:36 +02:00
Nikolay Sivov
40d0e55d4c kernelbase: Add OpenFileMappingFromApp().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-09-19 20:11:35 +02:00