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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user