summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-05-29 18:20:36 +0200
committerMarek Olšák <[email protected]>2011-05-30 10:51:03 +0200
commit8d45bbc4221d83bc2bfd0295f56b0f6d35b16a99 (patch)
tree9f77f5b89cc110a4c6e65fa075701057898f6af5
parent91e56c88972448079b5aafbc2b876d0ea0e28a39 (diff)
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 <[email protected]>
-rw-r--r--src/mesa/state_tracker/st_cb_texture.c11
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 c7c4da68418..88f62902b25 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,