diff options
Diffstat (limited to 'i965_drv_video/intel_batchbuffer.c')
-rw-r--r-- | i965_drv_video/intel_batchbuffer.c | 17 |
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); |