Module: wine Branch: master Commit: c99e6b33a36d28376bc9c11e49ca937dd5e72f3e URL: https://source.winehq.org/git/wine.git/?a=commit;h=c99e6b33a36d28376bc9c11e4...
Author: Matteo Bruni mbruni@codeweavers.com Date: Wed Apr 27 13:21:56 2022 +0200
wined3d: Disable CSMT when fences are not supported.
Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/cs.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/dlls/wined3d/cs.c b/dlls/wined3d/cs.c index cf7debe4256..6cbc9e2e2a6 100644 --- a/dlls/wined3d/cs.c +++ b/dlls/wined3d/cs.c @@ -3421,6 +3421,15 @@ struct wined3d_cs *wined3d_cs_create(struct wined3d_device *device, if (!(cs->data = heap_alloc(cs->data_size))) goto fail;
+ if (wined3d_settings.cs_multithreaded & WINED3D_CSMT_ENABLE) + { + if (!d3d_info->fences) + { + WARN("Disabling CSMT, adapter doesn't support fences.\n"); + wined3d_settings.cs_multithreaded &= ~WINED3D_CSMT_ENABLE; + } + } + if (wined3d_settings.cs_multithreaded & WINED3D_CSMT_ENABLE && !RtlIsCriticalSectionLockedByThread(NtCurrentTeb()->Peb->LoaderLock)) {