The gitlab scripts operate without access to the wine tree.
Requiring a trailing slash on patterns simplifies the logic
to automatically assign reviewers to MRs.
send_socket does some extra bookkeeping that's currently missing from the
register_async path. Instead of adding it to sock_queue_async(), let's just
centralize all send requests so that they go through send_socket.
recv_socket does some extra bookkeeping that's currently missing from the
register_async path. Instead of adding it to sock_queue_async(), let's just
centralize all recv requests so that they go through recv_socket.
I believe this was a mistake introduced by 831ff10200.
This fixes GL errors with multiple applications, including Ragnarok Online and
Bloodrayne: Terminal Cut.
Vulkan pipelines should be destroyed only after the last command buffer using
the pipeline is done executing. Since we do not track which pipelines are
encoded into which command buffers, defer destruction until the current command
buffer finishes.
Signed-off-by: Jan Sikorski <jsikorski@codeweavers.com>
Sometimes error event serial is zero. For example, NVIDIA driver may send X_GLXCopyContext errors
with the event serial set to zero. When it's zero, previously the error handler passes the error
to the default error handler and cause application crashes.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
If the display is not locked, another thread could take the error event and handle it with the
default error handlers and thus not handled by the current thread with the specified error handlers.
Fix Cladun X2 crash at start.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
glxCopyContext() may throw X errors and cause the current process to exit. For example, Mesa doesn't
support glxCopyContext() for direct rendering contexts and ends up using the code path for indirect
rendering contexts. When Xorg receives such requests, it rejects them because they're for direct
rendering contexts and reports an X error. We also can't use indirect rendering context because
it needs to be explicitly enabled in xorg.conf and has poor performance. So handle this error before
graphics drivers implement the support.
Fix Cladun X2 crash at start.
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Bloodrayne: Terminal Cut (and Bloodrayne 2: Terminal Cut, and probably other
games in the series) streams from a SYSTEMMEM index buffer, updating it and
drawing from it every frame. This is currently slow on Wine, since each map
needs to wait for the previous upload (on the CS) to complete.
There are a few ways to avoid waiting, but this patch takes the approach of
effectively uploading from the SYSTEMMEM buffer on the client side, while using
a dynamic buffer to avoid client/CS synchronization. This brings performance
from 20-30 FPS to a (locked) 60, on NVidia GL drivers.