From ad515f817a7e669ec1b7596c88a97349094728e8 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Fri, 25 Mar 2011 22:09:28 +0100 Subject: Move gen5 blitter work-around to lib Suggested by Chris Wilson to prevent utterly strange gpu hangs. Signed-off-by: Daniel Vetter --- lib/intel_batchbuffer.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/intel_batchbuffer.c') diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index 449d46de..14446df6 100644 --- a/lib/intel_batchbuffer.c +++ b/lib/intel_batchbuffer.c @@ -72,6 +72,8 @@ intel_batchbuffer_free(struct intel_batchbuffer *batch) free(batch); } +#define CMD_POLY_STIPPLE_OFFSET 0x7906 + void intel_batchbuffer_flush(struct intel_batchbuffer *batch) { @@ -82,6 +84,13 @@ intel_batchbuffer_flush(struct intel_batchbuffer *batch) if (used == 0) return; + if (IS_GEN5(batch->devid)) { + BEGIN_BATCH(2); + OUT_BATCH(CMD_POLY_STIPPLE_OFFSET << 16); + OUT_BATCH(0); + ADVANCE_BATCH(); + } + /* Round batchbuffer usage to 2 DWORDs. */ if ((used & 4) == 0) { *(uint32_t *) (batch->ptr) = 0; /* noop */ -- cgit v1.2.3