r300g: BlitFramebuffer should follow render condition
authorMarek Olšák <marek.olsak@amd.com>
Mon, 2 Jun 2014 14:07:48 +0000 (16:07 +0200)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 3 Jun 2014 11:33:14 +0000 (13:33 +0200)
src/gallium/drivers/r300/r300_blit.c

index 2b516d284d1851f74cf0b4f057a1681c81c09228..2320abb9756063c4a09766563ea23b4937f26999 100644 (file)
@@ -45,7 +45,7 @@ enum r300_blitter_op /* bitmask */
                          R300_SAVE_TEXTURES | R300_IGNORE_RENDER_COND,
 
     R300_BLIT          = R300_STOP_QUERY | R300_SAVE_FRAMEBUFFER |
-                         R300_SAVE_TEXTURES | R300_IGNORE_RENDER_COND,
+                         R300_SAVE_TEXTURES,
 
     R300_DECOMPRESS    = R300_STOP_QUERY | R300_IGNORE_RENDER_COND,
 };
@@ -786,7 +786,7 @@ static void r300_msaa_resolve(struct pipe_context *pipe,
     blit.src.resource = tmp;
     blit.src.box.z = 0;
 
-    r300_blitter_begin(r300, R300_BLIT);
+    r300_blitter_begin(r300, R300_BLIT | R300_IGNORE_RENDER_COND);
     util_blitter_blit(r300->blitter, &blit);
     r300_blitter_end(r300);
 
@@ -845,7 +845,8 @@ static void r300_blit(struct pipe_context *pipe,
         }
     }
 
-    r300_blitter_begin(r300, R300_BLIT);
+    r300_blitter_begin(r300, R300_BLIT |
+                      (info.render_condition_enable ? 0 : R300_IGNORE_RENDER_COND));
     util_blitter_blit(r300->blitter, &info);
     r300_blitter_end(r300);
 }