summaryrefslogtreecommitdiff
path: root/i965_drv_video/intel_batchbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'i965_drv_video/intel_batchbuffer.c')
-rw-r--r--i965_drv_video/intel_batchbuffer.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/i965_drv_video/intel_batchbuffer.c b/i965_drv_video/intel_batchbuffer.c
index f52bde4..f310793 100644
--- a/i965_drv_video/intel_batchbuffer.c
+++ b/i965_drv_video/intel_batchbuffer.c
@@ -166,10 +166,19 @@ intel_batchbuffer_emit_mi_flush(struct intel_batchbuffer *batch)
if (batch->flag == I915_EXEC_RENDER) {
BEGIN_BATCH(batch, 4);
OUT_BATCH(batch, CMD_PIPE_CONTROL | 0x2);
- OUT_BATCH(batch,
- CMD_PIPE_CONTROL_WC_FLUSH |
- CMD_PIPE_CONTROL_TC_FLUSH |
- CMD_PIPE_CONTROL_NOWRITE);
+
+ if (IS_GEN6(intel->device_id))
+ OUT_BATCH(batch,
+ CMD_PIPE_CONTROL_WC_FLUSH |
+ CMD_PIPE_CONTROL_TC_FLUSH |
+ CMD_PIPE_CONTROL_NOWRITE);
+ else
+ OUT_BATCH(batch,
+ CMD_PIPE_CONTROL_WC_FLUSH |
+ CMD_PIPE_CONTROL_TC_FLUSH |
+ CMD_PIPE_CONTROL_DC_FLUSH |
+ CMD_PIPE_CONTROL_NOWRITE);
+
OUT_BATCH(batch, 0);
OUT_BATCH(batch, 0);
ADVANCE_BATCH(batch);