i965/gen6/blorp: Remove redundant HiZ workaround
authorChad Versace <chad.versace@linux.intel.com>
Tue, 24 Dec 2013 01:49:21 +0000 (17:49 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Thu, 9 Jan 2014 23:02:45 +0000 (15:02 -0800)
Commit 1a92881 added extra flushes to fix a HiZ hang in
WebGL Google Maps. With the extra flushes emitted by the previous two
patches, the flushes added by 1a92881 are redundant.

Tested with the same criteria as in 1a92881: by zooming in and out
continuously for 2 hours on Sandybridge Chrome OS (codename
Stumpy) without a hang.

CC: Kenneth Graunke <kenneth@whitecape.org>
CC: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/mesa/drivers/dri/i965/gen6_blorp.cpp

index 9db08401aa419988f52debd513310db713802e3b..2e8e8ab4bbf8647042c974c01e071ffb7e4bcd16 100644 (file)
@@ -1015,19 +1015,6 @@ gen6_blorp_emit_primitive(struct brw_context *brw,
    brw->batch.need_workaround_flush = true;
 }
 
-static void
-gen6_emit_hiz_workaround(struct brw_context *brw, enum gen6_hiz_op hiz_op)
-{
-   /* This fixes a HiZ hang in WebGL Google Maps. A more minimal fix likely
-    * exists, but this gets the job done.
-    */
-   if (hiz_op == GEN6_HIZ_OP_DEPTH_RESOLVE ||
-       hiz_op == GEN6_HIZ_OP_HIZ_RESOLVE) {
-      intel_emit_post_sync_nonzero_flush(brw);
-      intel_emit_depth_stall_flushes(brw);
-   }
-}
-
 /**
  * \brief Execute a blit or render pass operation.
  *
@@ -1053,7 +1040,6 @@ gen6_blorp_exec(struct brw_context *brw,
    /* Emit workaround flushes when we switch from drawing to blorping. */
    brw->batch.need_workaround_flush = true;
 
-   gen6_emit_hiz_workaround(brw, params->hiz_op);
    gen6_emit_3dstate_multisample(brw, params->dst.num_samples);
    gen6_emit_3dstate_sample_mask(brw,
                                  params->dst.num_samples > 1 ?