Commit graph

165204 commits

Author SHA1 Message Date
Alistair Leslie-Hughes 044fbbd5a3 wineps.drv: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes b2492ed83c winspool.drv: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes 229d078703 spoolss: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes 2833321270 localspl: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes c04ab16649 riched20: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:21:32 +02:00
Alistair Leslie-Hughes 5312580a57 combase: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes 666c3dbdb6 oledlg: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes f573cd10a8 oleacc: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes 84b101c580 oleaut32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes a1f8e6146d ole32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes 940829a6ef oledb32: Remove DECLSPEC_HIDDEN usage. 2023-07-05 11:19:15 +02:00
Alistair Leslie-Hughes ffd1608907 quartz: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes 0d9792a0ec qedit: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes a0f795e840 qdvd: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes 31c7d1e4bd qcap: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes 3628852882 qasf: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes 8654e867be devenum: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:11 +02:00
Alistair Leslie-Hughes 50fab83bb9 amstream: Remove DECLSPEC_HIDDEN usage. 2023-07-05 10:09:09 +02:00
Alex Henrie f4a8ad89d4 include: Introduce wine_dbgstr_hstring and debugstr_hstring. 2023-07-04 21:25:03 +02:00
Alex Henrie 7e366d46b2 include: Use correct header guard name in winstring.h. 2023-07-04 21:02:39 +02:00
Kevin Schmidt 29b29eddcc taskmgr: Use macro for the color black too. 2023-07-04 21:00:12 +02:00
Jiajin Cui eee640c938 shell32: Make sure wcmd has enough space to hold the string.
If the length of wszApplicationName exceeds 1024, it will cause an error
when writing to the subsequent stack space after exceeding the wcmd space,
Wcmd needs to be modified to dynamic allocation.

Signed-off-by: Jiajin Cui <cuijiajin@uniontech.com>
2023-07-04 20:58:22 +02:00
Billy Laws 41cc117b3f server: Avoid using SOL_IPX to detect whether IPX is supported. 2023-07-04 20:55:34 +02:00
Billy Laws da4e359a70 ws2_32: Avoid using SOL_IPX to detect whether IPX is supported. 2023-07-04 20:55:31 +02:00
Billy Laws 954bf9e050 ntdll: Avoid using SOL_IPX to detect whether IPX is supported.
4.18+ Linux kernels remove support for IPX but keep SOL_IPX defined, which
causes compilation errors as wine unconditionally uses IPX structures if
this is the case. Instead check for IPX_MTU to determine IPX support as it is
defined within the ipx.h header itself.
2023-07-04 20:52:17 +02:00
Vladislav Timonin a0534afab0 comdlg32: Enable visual styles when showing IFileDialog. 2023-07-04 20:47:39 +02:00
Vladislav Timonin 5bc5d36065 comdlg32: Return E_UNEXPECTED if IFileDialog is already shown. 2023-07-04 20:47:39 +02:00
Matteo Bruni 3149d84502 d3dx9/tests: Use test contexts in test_effect_commitchanges().
And do some mandatory cleanup while at it.
2023-07-04 20:46:07 +02:00
Matteo Bruni 4acb858fc6 d3dx9/tests: Use test contexts in test_effect_preshader_ops(). 2023-07-04 20:46:06 +02:00
Matteo Bruni e39e904392 d3dx9/tests: Get rid of unnecessary checks in test_effect_states(). 2023-07-04 20:46:06 +02:00
Matteo Bruni f529c5db4d d3dx9/tests: Use test contexts in test_effect_parameter_value().
And give a good clean up to the test and all its helpers.
2023-07-04 20:46:05 +02:00
Matteo Bruni 321efd4441 d3dx9/tests: Use test contexts in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni f504db74a9 d3dx9/tests: Get rid of unnecessary checks in test_D3DXCreateRenderToEnvMap(). 2023-07-04 20:46:05 +02:00
Matteo Bruni 06eede965a d3dx9/tests: Use test message contexts in test_ID3DXFont(). 2023-07-04 20:46:05 +02:00
Matteo Bruni 64d9bc872b d3dx9/tests: Get rid of unnecessary checks. 2023-07-04 20:46:05 +02:00
Eric Pouech 8031d00fed d3dx9/tests: Clean up some ok() messages. 2023-07-04 20:46:05 +02:00
Matteo Bruni a3ad4a5066 d3dx9/tests: Increase tolerance for a D3DXSHMultiply3 test.
Otherwise it fails for me on 32-bit Linux with my current compiler.
2023-07-04 20:46:03 +02:00
Zebediah Figura 2740af1448 wined3d: Create fences when the command buffer is allocated.
This shouldn't really make a difference, but does make the code a bit conceptually simpler.
2023-07-04 15:37:36 +02:00
Zebediah Figura c42b4fec1f wined3d: Reuse command buffers and fences.
Allocating and freeing fences in particular can be expensive, as much as 250 µs
per call (observed on an NVidia machine).
2023-07-04 15:37:34 +02:00
Zebediah Figura e0769f42ec wined3d: Set VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT. 2023-07-04 15:37:34 +02:00
Matteo Bruni f032ccc271 wined3d: Reduce CS spin count to 2000.
Over the last few Wine releases we greatly reduced the need for the
application thread to wait for replies from the CS thread. Compared to
the time when the command stream was initially introduced, it's now
quite likely that, when the command queues become empty, they are
going to stay like that for a while (e.g. the game is throttling the
framerate or is busy doing some CPU work on its part before generating
more commands).

As a first step, reduce the spin count to reduce the busy waiting in
wined3d_cs_run(). In my tests this significantly reduces CPU usage,
with minimally decreased performance in a few rare cases but also
significantly improved performance in many cases (notably with
integrated GPUs where freeing the CPU directly allows more power to be
allocated to the GPU).
2023-07-04 15:37:29 +02:00
Matteo Bruni fcccca153a wined3d: Make the CS thread yield CPU when it can't block waiting.
It can't block because there are pending queries.
2023-07-04 15:37:28 +02:00
Matteo Bruni ecdeab593b wined3d: Call YieldProcessor() when spinning waiting for CS commands.
Yielding to other threads might help to get new packets and (very
slightly) reduce contention on the queue head and tail pointers.
2023-07-04 15:37:26 +02:00
Matteo Bruni 30c3697017 wined3d: Block in wined3d_cs_emit_present() when we reach the latency limit.
Avoid busy spinning for a potentially long time.
2023-07-04 15:37:24 +02:00
Matteo Bruni 203cbab644 wined3d: Increase the CS queue size to 16 MiB on 64-bit architectures.
With the buffer / texture mapping acceleration bits working properly, we
can get many outstanding commands and, to avoid blocking the client thread
while waiting for free space, we need a larger queue. 16 MiB was always
enough in my testing (8 MiB wasn't in a few cases).

Keep a lower limit on 32-bit since we're often times address
space-starved there.

Tweaked by Zebediah Figura.
2023-07-04 15:37:22 +02:00
Giovanni Mascellani aeb9776f4c dxgi: Split D3D12/Vulkan resource creation and destruction.
This is to eventually hand frontend and backend resource management
to different code pieces.
2023-07-04 15:37:16 +02:00
Giovanni Mascellani b4741fd259 dxgi: Pass a VkImage to d3d12_swapchain_queue_present().
This is to eventually allow d3d12_swapchain_queue_present() to
operate on a certain VkImage even if current_buffer_index has
already been modified since the corresponding Present() call.
2023-07-04 15:37:15 +02:00
Giovanni Mascellani 89cd45bb1f dxgi: Free the frontend images memory only once. 2023-07-04 15:37:15 +02:00
Giovanni Mascellani e5c232eb4c dxgi: Consider vk_format a frontend field.
This is an oversight in eec9c3a2f6:
vk_format specifies the format used for the frontend resources. The backend
images could use a different format, depending on what the swapchain
supports.

Also, introduce the terms "frontend" and "backend" for the two sides
of the swapchain, which are probably easier to understand.
2023-07-04 15:37:12 +02:00
Giovanni Mascellani e1cdc48786 dxgi/tests: Test that the present count is updated when Present() is called. 2023-07-04 15:37:12 +02:00