From: Jordan Justen Date: Thu, 1 May 2014 18:03:09 +0000 (-0700) Subject: i965/skl: Implement workaround for VF Invalidate issue X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5745aaf15cf185d56da680980aaa1ba537f3eb44;p=mesa.git i965/skl: Implement workaround for VF Invalidate issue Signed-off-by: Jordan Justen Reviewed-by: Kristian Høgsberg Reviewed-by: Kenneth Graunke Reviewed-by: Anuj Phogat --- diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c b/src/mesa/drivers/dri/i965/intel_batchbuffer.c index 71dc268a27b..cd45af6fbe2 100644 --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c @@ -648,6 +648,15 @@ intel_batchbuffer_emit_mi_flush(struct brw_context *brw) } else { int flags = PIPE_CONTROL_NO_WRITE | PIPE_CONTROL_WRITE_FLUSH; if (brw->gen >= 6) { + if (brw->gen == 9) { + /* Hardware workaround: SKL + * + * Emit Pipe Control with all bits set to zero before emitting + * a Pipe Control with VF Cache Invalidate set. + */ + brw_emit_pipe_control_flush(brw, 0); + } + flags |= PIPE_CONTROL_INSTRUCTION_FLUSH | PIPE_CONTROL_DEPTH_CACHE_FLUSH | PIPE_CONTROL_VF_CACHE_INVALIDATE |