i965: Add Gen6 depth stall flushes before disabling depth in BLORP.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 13 Aug 2013 18:34:01 +0000 (11:34 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 16 Aug 2013 22:03:38 +0000 (15:03 -0700)
We emit these before configuring depth in the normal path, or actually
using the depth buffer in BLORP - we just failed to emit them when
disabling depth altogether.

On Sandybridge, this also requires the post_sync_nonzero flush.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
src/mesa/drivers/dri/i965/gen6_blorp.cpp

index a4a90817a8c2cb8e5a2fc8119a234863d92acd5f..129c11361a6d7ca3bb16bc6d0604fa2fb123c478 100644 (file)
@@ -914,6 +914,9 @@ static void
 gen6_blorp_emit_depth_disable(struct brw_context *brw,
                               const brw_blorp_params *params)
 {
+   intel_emit_post_sync_nonzero_flush(brw);
+   intel_emit_depth_stall_flushes(brw);
+
    BEGIN_BATCH(7);
    OUT_BATCH(_3DSTATE_DEPTH_BUFFER << 16 | (7 - 2));
    OUT_BATCH((BRW_DEPTHFORMAT_D32_FLOAT << 18) |