[WINED3D] Avoid spinning in wined3d_cs_run. CORE-14534

Spinning here is supposed to improve performance by avoiding scheduling
overhead, but because ReactOS's Win32 subsystem does not deal with this well,
it causes the system to freeze on ROS.
As a workaround, we disable spinning and jump directly to the wait.

It should become obvious when this starts actually causing performance issues
again and it's time to undo.
This commit is contained in:
Thomas Faber 2018-08-19 13:27:04 +02:00
parent 9bffdcb6e7
commit adfbefde2b
No known key found for this signature in database
GPG key ID: 076E7C3D44720826

View file

@ -3544,7 +3544,11 @@ enum wined3d_push_constants
#define WINED3D_CS_QUERY_POLL_INTERVAL 10u #define WINED3D_CS_QUERY_POLL_INTERVAL 10u
#define WINED3D_CS_QUEUE_SIZE 0x100000u #define WINED3D_CS_QUEUE_SIZE 0x100000u
#ifdef __REACTOS__
#define WINED3D_CS_SPIN_COUNT 1u
#else
#define WINED3D_CS_SPIN_COUNT 10000000u #define WINED3D_CS_SPIN_COUNT 10000000u
#endif
struct wined3d_cs_queue struct wined3d_cs_queue
{ {