st/mesa: BlitFramebuffer should not be killed by conditional rendering

NOTE: This is a candidate for the 7.10 branch.

Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák 2011-05-29 17:52:29 +02:00
parent c0277d9539
commit ccfeb90b75

View file

@ -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);
}
}