intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Relinquish any fence when changing cache levels
@ 2011-04-13 12:25 Chris Wilson
  2011-04-13 16:36 ` Eric Anholt
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Wilson @ 2011-04-13 12:25 UTC (permalink / raw)
  To: intel-gfx

This is vital to maintain our contract with the hw for not using fences
on snooped memory for older chipsets. It should have no impact
other than clearing the fence register (and updating the fence
bookkeeping) as any future IO access (page faults or pwrite/pread) will
go through the cached CPU domain for older chipsets. On SandyBridge, we
incur an extra get_fence() on the rare path that we need to perform
detiling through a pagefault (i.e. texture transfers).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_gem.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 6ca026d..2d16a23 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3355,6 +3355,10 @@ int i915_gem_object_set_cache_level(struct drm_i915_gem_object *obj,
 		if (ret)
 			return ret;
 
+		ret = i915_gem_object_put_fence(obj);
+		if (ret)
+			return ret;
+
 		ret = i915_gem_gtt_bind_object(obj, cache_level);
 		if (ret)
 			return ret;
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-04-13 21:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-04-13 12:25 [PATCH] drm/i915: Relinquish any fence when changing cache levels Chris Wilson
2011-04-13 16:36 ` Eric Anholt
2011-04-13 16:59   ` Chris Wilson
2011-04-13 18:01   ` Chris Wilson
2011-04-13 20:46     ` Daniel Vetter
2011-04-13 21:42       ` Chris Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).