On Mon Jun 29 18:26:01 2026 +0000, Jacek Caban wrote:
Mapping, unmapping and flushing a given buffer is left unguarded, under the assumption that is is undefined to do such calls concurrently. This assumption seems questionable, where does it come from? The only situation where this could be an issue is with shared contexts used in two different threads, and one thread doing glMapBuffer / glUnmapBuffer while the other does for instance glFlushMappedBufferRange, glBufferData, glMapBuffer, or glUnmapBuffer on the same shared buffer. Each of these is correct to call only in a specific mapped or unmapped buffer state, and I don't see any reasonable scenario where it does anything useful unless guarded externally and the call sequence is correct.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/11226#note_144515