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
Giovanni Mascellani
1a0c2d6b41
dxgi/tests: Test that the back buffer index is updated when Present() is called.
2023-07-04 15:37:12 +02:00
Fabian Maurer
b2c774d4d2
vbscript: Support one-line sub/function.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54978
2023-07-04 15:37:08 +02:00
Mohamad Al-Jaf
0fb31cfc5d
windows.devices.bluetooth: Implement IBluetoothAdapterStatics::GetDeviceSelector().
...
Needed for Revo Scan 5.
2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
b058274317
windows.devices.bluetooth/tests: Add IBluetoothAdapterStatics::GetDeviceSelector() tests.
2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
5e942086dc
windows.devices.bluetooth: Add IBluetoothAdapterStatics stub interface.
2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
f9305432c8
windows.devices.bluetooth: Add stub DLL.
2023-07-04 13:14:04 +02:00
Mohamad Al-Jaf
581ad52940
include: Add windows.devices.bluetooth.idl file.
2023-07-04 13:13:46 +02:00
Mohamad Al-Jaf
83cb93ee6d
include: Add windows.devices.radios.idl file.
...
Needed by IBluetoothAdapter in windows.devices.bluetooth.idl.
2023-07-04 13:13:44 +02:00
Davide Beatrici
b12e6fcc21
wineoss: Move create_session into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
a97913587e
winecoreaudio: Move create_session into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
066ac0a8f9
winealsa: Move create_session into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
75276f010d
winepulse: Move create_session into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
b61e02f798
wineoss: Move session_init_vols into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
be53319da5
winecoreaudio: Move session_init_vols into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
d0a3b11932
winealsa: Move session_init_vols into mmdevapi.
2023-07-04 13:08:31 +02:00
Davide Beatrici
8247b00f82
winepulse: Move session_init_vols into mmdevapi.
2023-07-04 13:08:31 +02:00
Alexandre Julliard
09c7cc1e36
shlwapi: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
dd1625476f
shell32/tests: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
5cb7274403
shell32: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
7c1d8b29e5
ole32/tests: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
61a06d4bcd
ole32: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
34ab144f04
oleaut32/tests: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00
Alexandre Julliard
374d74e843
oleaut32: Use nameless unions/structs.
2023-07-04 13:07:18 +02:00