Mesa (master): st/mesa: don' t use resource_copy_region for CopyPixels with conditional render

Marek Olšák mareko at kemper.freedesktop.org
Mon May 30 17:18:30 UTC 2011


Module: Mesa
Branch: master
Commit: 1b37a41661f791b22f12b8477053a8dff6e33d6d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1b37a41661f791b22f12b8477053a8dff6e33d6d

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun May 29 06:21:39 2011 +0200

st/mesa: don't use resource_copy_region for CopyPixels with conditional render

The conditional rendering should be able to kill CopyPixels.
I assume the render condition has no effect on resource_copy_region.

This fixes piglit:
- NV_conditional_render/copypixels

NOTE: This is a candidate for the 7.10 branch.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/state_tracker/st_cb_drawpixels.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c b/src/mesa/state_tracker/st_cb_drawpixels.c
index 29c1df4..965fbcd 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -1247,7 +1247,8 @@ blit_copy_pixels(struct gl_context *ctx, GLint srcx, GLint srcy,
        !ctx->VertexProgram.Enabled &&
        !ctx->Shader.CurrentFragmentProgram &&
        st_fb_orientation(ctx->ReadBuffer) == st_fb_orientation(ctx->DrawBuffer) &&
-       ctx->DrawBuffer->_NumColorDrawBuffers == 1) {
+       ctx->DrawBuffer->_NumColorDrawBuffers == 1 &&
+       !ctx->Query.CondRenderQuery) {
       struct st_renderbuffer *rbRead, *rbDraw;
       GLint drawX, drawY;
 




More information about the mesa-commit mailing list