On Tue Apr 21 13:10:25 2026 +0000, Giovanni Mascellani wrote:
It doesn't seem this event is ever reset after being used; so the second time you use `struct d3d12_sync_object_release` the event will already be set. The event is created with bManualReset=FALSE, so RtwqPutWaitingWorkItem() (indirectly) resets it after the event becomes signaled. But perhaps we shouldn't rely on that - it seems unclear to me if it could be considered documented behavior. It seems like a reasonable expectation tho(?) - the threadpool worker/waitqueue has to wait on the event in some way and then become released after it fires.
It also seems like we use bManualReset=FALSE together with MFPutWaitingWorkItem() in dlls/mf/sar.c. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/9777#note_137228