mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-20 01:24:39 +08:00
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:
parent
7d2cb39c33
commit
70eac33e7a
@ -109,6 +109,10 @@ render_ring_flush(struct intel_ring_buffer *ring,
|
|||||||
if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION)
|
if (invalidate_domains & I915_GEM_DOMAIN_INSTRUCTION)
|
||||||
cmd |= MI_EXE_FLUSH;
|
cmd |= MI_EXE_FLUSH;
|
||||||
|
|
||||||
|
if (invalidate_domains & I915_GEM_DOMAIN_COMMAND &&
|
||||||
|
(IS_G4X(dev) || IS_GEN5(dev)))
|
||||||
|
cmd |= MI_INVALIDATE_ISP;
|
||||||
|
|
||||||
#if WATCH_EXEC
|
#if WATCH_EXEC
|
||||||
DRM_INFO("%s: queue flush %08x to ring\n", __func__, cmd);
|
DRM_INFO("%s: queue flush %08x to ring\n", __func__, cmd);
|
||||||
#endif
|
#endif
|
||||||
@ -583,17 +587,6 @@ render_ring_dispatch_execbuffer(struct intel_ring_buffer *ring,
|
|||||||
intel_ring_advance(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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user