Based on [a patch](https://www.winehq.org/mailman3/hyperkitty/list/wine-devel@winehq.or… by Jinoh Kang (@iamahuman) from February 2022.
I removed the need for the event object and implemented fast paths for Linux.
On macOS 10.14+ `thread_get_register_pointer_values` is called on every thread of the process.
On Linux 4.14+ `membarrier(MEMBARRIER_CMD_GLOBAL_EXPEDITED, ...)` is used.
On x86 Linux <= 4.13 and on other platforms `madvise(..., MADV_DONTNEED)` is used, which sends IPIs to all cores causing them to do a memory barrier.
--
v13: ntdll/tests: Add basic NtFlushProcessWriteBuffers test.
https://gitlab.winehq.org/wine/wine/-/merge_requests/741
At some point I would like to have an assembler for TPF, so that it's easier to write and modify tests. This is a first step in that direction, fixing some kind of format for serializing signatures in the comment at the beginning of the assembler code. I'm not decided yet on all details, so take this as an RFC for the moment.
--
v10: tests: Test emitting the signature.
vkd3d-compiler: Add an option to emit the signature when disassembling.
vkd3d-shader/d3d-asm: Support emitting the shader signature.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/553
It feels a bit weird storing and playing MIDI control events directly in seqtrack. I originally thought they were stored as curve items, but curve items would generate `DMUS_CURVE_PMSG`, but these MIDI control events are played verbatim as `DMUS_MIDI_PMSG`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5221