aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/state_tracker/st_cb_readpixels.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c
index 273ed5770be..22abc104e22 100644
--- a/src/mesa/state_tracker/st_cb_readpixels.c
+++ b/src/mesa/state_tracker/st_cb_readpixels.c
@@ -74,9 +74,17 @@ st_readpixels(GLcontext *ctx, GLint x, GLint y, GLsizei width, GLsizei height,
return;
}
+ /* make sure rendering has completed */
+ pipe->flush(pipe, 0x0);
- /* XXX check pack->BufferObj !!! */
+ if (pack->BufferObj && pack->BufferObj->Name) {
+ /* reading into a PBO */
+ }
+ else {
+ /* reading into user memory/buffer */
+
+ }
strb = st_renderbuffer(ctx->ReadBuffer->_ColorReadBuffer);
if (!strb)