drm/i915: Move instruction state invalidation from execbuffer to flush

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2010-11-30 14:07:47 +00:00
parent 7d2cb39c33
commit 70eac33e7a

View file

@ -109,6 +109,10 @@ render_ring_flush(struct intel_ring_buffer *ring,
if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION)
cmd |= MI_EXE_FLUSH;
if (invalidate_domains & I915_GEM_DOMAIN_COMMAND &&
(IS_G4X(dev) || IS_GEN5(dev)))
cmd |= MI_INVALIDATE_ISP;
#if WATCH_EXEC
DRM_INFO("%s: queue flush %08x to ring\n", __func__, cmd);
#endif
@ -583,17 +587,6 @@ render_ring_dispatch_execbuffer(struct intel_ring_buffer *ring,
intel_ring_advance(ring);
}
if (IS_G4X(dev) || IS_GEN5(dev)) {
if (intel_ring_begin(ring, 2) == 0) {
intel_ring_emit(ring, MI_FLUSH |
MI_NO_WRITE_FLUSH |
MI_INVALIDATE_ISP );
intel_ring_emit(ring, MI_NOOP);
intel_ring_advance(ring);
}
}
/* XXX breadcrumb */
return 0;
}