aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa/state_tracker/st_cb_blit.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2011-05-30 22:26:52 +0200
committermarha <marha@users.sourceforge.net>2011-05-30 22:26:52 +0200
commitd60233950866066e23e8a46ac230aae9f296031e (patch)
tree30fdaf70fdb33eecd6479cffe02d26d7af812c3f /mesalib/src/mesa/state_tracker/st_cb_blit.c
parent91def498916935bc9ebd433a28981d19bf426961 (diff)
parent072157e2ba87f3303958e48815fa2548009d3410 (diff)
downloadvcxsrv-d60233950866066e23e8a46ac230aae9f296031e.tar.gz
vcxsrv-d60233950866066e23e8a46ac230aae9f296031e.tar.bz2
vcxsrv-d60233950866066e23e8a46ac230aae9f296031e.zip
Merge remote-tracking branch 'origin/released'
Conflicts: mesalib/src/mesa/main/shaderapi.c mesalib/src/mesa/state_tracker/st_cb_blit.c mesalib/src/mesa/state_tracker/st_cb_drawpixels.c mesalib/src/mesa/state_tracker/st_cb_texture.c mesalib/src/mesa/state_tracker/st_context.h mesalib/src/mesa/state_tracker/st_format.c
Diffstat (limited to 'mesalib/src/mesa/state_tracker/st_cb_blit.c')
-rw-r--r--mesalib/src/mesa/state_tracker/st_cb_blit.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/mesalib/src/mesa/state_tracker/st_cb_blit.c b/mesalib/src/mesa/state_tracker/st_cb_blit.c
index 4c3d561a4..282f84ec7 100644
--- a/mesalib/src/mesa/state_tracker/st_cb_blit.c
+++ b/mesalib/src/mesa/state_tracker/st_cb_blit.c
@@ -109,6 +109,11 @@ st_BlitFramebuffer(struct gl_context *ctx,
dstY1 = tmp;
}
+ /* Disable conditional rendering. */
+ if (st->render_condition) {
+ st->pipe->render_condition(st->pipe, NULL, 0);
+ }
+
if (mask & GL_COLOR_BUFFER_BIT) {
struct gl_renderbuffer_attachment *srcAtt =
&readFB->Attachment[readFB->_ColorReadBufferIndex];
@@ -121,7 +126,7 @@ st_BlitFramebuffer(struct gl_context *ctx,
struct pipe_surface *dstSurf = dstRb->surface;
if (!srcObj->pt)
- return;
+ goto done;
util_blit_pixels(st->blit, srcObj->pt, srcAtt->TextureLevel,
srcX0, srcY0, srcX1, srcY1,
@@ -199,6 +204,13 @@ st_BlitFramebuffer(struct gl_context *ctx,
}
}
}
+
+done:
+ /* Restore conditional rendering state. */
+ if (st->render_condition) {
+ st->pipe->render_condition(st->pipe, st->render_condition,
+ st->condition_mode);
+ }
}