Mesa (master): st/mesa: conditional rendering should not kill texture decompression via blit

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


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Sun May 29 18:20:36 2011 +0200

st/mesa: conditional rendering should not kill texture decompression via blit

NOTE: This is a candidate for the 7.10 branch.

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

---

 src/mesa/state_tracker/st_cb_texture.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c
index c7c4da6..88f6290 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -795,6 +795,11 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level,
       return;
    }
 
+   /* Disable conditional rendering. */
+   if (st->render_condition) {
+      pipe->render_condition(pipe, NULL, 0);
+   }
+
    /* blit/render/decompress */
    util_blit_pixels_tex(st->blit,
                         src_view,      /* pipe_resource (src) */
@@ -806,6 +811,12 @@ decompress_with_blit(struct gl_context * ctx, GLenum target, GLint level,
                         0.0,              /* z */
                         PIPE_TEX_MIPFILTER_NEAREST);
 
+   /* Restore conditional rendering state. */
+   if (st->render_condition) {
+      pipe->render_condition(pipe, st->render_condition,
+                             st->condition_mode);
+   }
+
    /* map the dst_surface so we can read from it */
    tex_xfer = pipe_get_transfer(pipe,
                                 dst_texture, 0, 0,




More information about the mesa-commit mailing list