July 8, 2026
6:55 a.m.
Fwiw the application does glBufferData with NULL data, maps the buffer with GL_WRITE_ONLY, unmaps it, renders, and loops over. The performance regression comes from the map, which (I think?) cannot assume the buffer data is uninitialized, and needs to copy it from GL first, even if it's requested for write only. Allowing pinned memory helps here because it usually allows the mapping to succeed in low address space. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11343#note_145145