- 04 Jul, 2023 35 commits
-
-
Matteo Bruni authored
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).
-
Matteo Bruni authored
It can't block because there are pending queries.
-
Matteo Bruni authored
Yielding to other threads might help to get new packets and (very slightly) reduce contention on the queue head and tail pointers.
-
Matteo Bruni authored
Avoid busy spinning for a potentially long time.
-
Matteo Bruni authored
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.
-
Giovanni Mascellani authored
This is to eventually hand frontend and backend resource management to different code pieces.
-
Giovanni Mascellani authored
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.
-
Giovanni Mascellani authored
-
Giovanni Mascellani authored
This is an oversight in eec9c3a2: 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.
-
Giovanni Mascellani authored
-
Giovanni Mascellani authored
-
Fabian Maurer authored
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54978
-
Mohamad Al-Jaf authored
Needed for Revo Scan 5.
-
Mohamad Al-Jaf authored
-
Mohamad Al-Jaf authored
-
Mohamad Al-Jaf authored
-
Mohamad Al-Jaf authored
-
Mohamad Al-Jaf authored
Needed by IBluetoothAdapter in windows.devices.bluetooth.idl.
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Davide Beatrici authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
Alexandre Julliard authored
-
- 03 Jul, 2023 5 commits
-
-
Jacek Caban authored
This is used by ARM64EC importlibs.
-
Gabriel Ivăncescu authored
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
-
Alistair Leslie-Hughes authored
-
Alistair Leslie-Hughes authored
-
Ally Sommers authored
-