I'm trying to read back some buffer data (~56kb) that has been generated GPU side. To avoid stalls I'm cycling through 4 buffers so that I'm reading data that was generated 4 frames ago.
I've tried MapBufferRange with GL_MAP_READ_BIT and in combination with GL_MAP_UNSYNCHRONIZED_BIT. I've also tried GetBufferData. All combinations generate the same amount of stall as when I tested calling glFlush before the call, so I'm suspecting the driver does a flush internally no matter what. (the stall is about 15-20ms)
Is the driver broken or what am I doing wrong here?