I am not sure all these are really the same thing, as well as that we can sensibly implement it. It is not like Linux gives us an easy and unviersal way to wait for "vblank". Also I am not sure this specific call is directly linked to vblank really, this is about waiting for presented d3d changes to appear on screen. which, I think, might be related to DWM screen update but probably should not necessarily happen on the nearest screen update. In other words, one can't properly implement this DwmFlush with wait before implementing DWM compositor behaving similar to Windows.