Mesa (7.11): i965: Apply post-sync non-zero workaround to homebrew workaround.

Kenneth Graunke kwg at kemper.freedesktop.org
Thu Oct 27 10:37:59 PDT 2011


Module: Mesa
Branch: 7.11
Commit: 439628318bfd4596d0d8129a0792d2c3ea849bb7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=439628318bfd4596d0d8129a0792d2c3ea849bb7

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Oct 21 01:03:37 2011 -0700

i965: Apply post-sync non-zero workaround to homebrew workaround.

In commit 3e5d3626, Eric added a homebrew workaround to fix GPU hangs in
the Mesa "engine" demo and oglc's api-texcoord test.

Unfortunately, his PIPE_CONTROL contains a Depth Stall, which
necessitates the post-sync non-zero workaround,

Fixes GPU hangs in Civilization 4, PlaneShift, Minecraft, Neverwinter
Nights, 3DMMES, and hopefully Heroes of Newerth as well.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40324
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41096
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Tested-by: Joel <k00_fol at k.kth.se> (Neverwinter Nights)
Tested-by: brot <brot at minad.de> (Minecraft)
Tested-by: Eric Anholt <eric at anholt.net> (3DMMES)
Tested-by: Kenneth Graunke <kenneth at whitecape.org> (Civ 4 & PlaneShift)

(cherry-picked from commit 3cc0a7be23ab603ed40d602595f673a44e079885)

---

 src/mesa/drivers/dri/i965/gen6_vs_state.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/gen6_vs_state.c b/src/mesa/drivers/dri/i965/gen6_vs_state.c
index b30ae26..3e62dfd 100644
--- a/src/mesa/drivers/dri/i965/gen6_vs_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_vs_state.c
@@ -178,6 +178,8 @@ upload_vs_state(struct brw_context *brw)
     * bug reports that led to this workaround, and may be more than
     * what is strictly required to avoid the issue.
     */
+   intel_emit_post_sync_nonzero_flush(intel);
+
    BEGIN_BATCH(4);
    OUT_BATCH(_3DSTATE_PIPE_CONTROL);
    OUT_BATCH(PIPE_CONTROL_DEPTH_STALL |



More information about the mesa-commit mailing list