From: Matteo Bruni mbruni@codeweavers.com
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. --- dlls/wined3d/wined3d_private.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 001534e8c38..be576fcfbde 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -5074,7 +5074,11 @@ enum wined3d_push_constants };
#define WINED3D_CS_QUERY_POLL_INTERVAL 10u +#if defined(_WIN64) +#define WINED3D_CS_QUEUE_SIZE 0x1000000u +#else #define WINED3D_CS_QUEUE_SIZE 0x400000u +#endif #define WINED3D_CS_SPIN_COUNT 10000000u #define WINED3D_CS_QUEUE_MASK (WINED3D_CS_QUEUE_SIZE - 1)