From 8d45bbc4221d83bc2bfd0295f56b0f6d35b16a99 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 29 May 2011 18:20:36 +0200 Subject: [PATCH] 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 --- src/mesa/state_tracker/st_cb_texture.c | 11 +++++++++++ 1 file changed, 11 insertions(+) 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, -- 2.30.2