I know I won't get the "fastest reviewer in the west" this time, sorry and thanks for the patience. However it now looks fine. As a suggestion for the future, it seems that critical section in `d3d12_sync_object_commands_EnqueueResourceReady()` and `d3d12_sync_object_commands_EnqueueResourceReadyWait()` could be reduced to just include reading `generation`, just like `d3d12_sync_object_commands_SignalEventOnResourceReady()`. That critical section doesn't look the kind of critical section that is heavily contended, but in general I try to reduce critical section scopes as much as possible if it's easy. Indeed, it looks like `generation` could be an atomic and not require to be protected by the critical section alone. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9777#note_141652