diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2010-02-19 05:52:01 -0500 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-02-26 16:23:22 -0500 |
commit | 922a2efc1b6ef48e2783f7efeb3a94e952c7ed14 (patch) | |
tree | 68cc2a5ee7029fa49cc8b9cccb57ea00003196b5 /drivers/gpu/drm | |
parent | 4df2faf4512c2e2ffa6793e055c73a4e7b8b5e36 (diff) |
drm/i915: clean-up i915_gem_flush_gpu_write_domain
Now that we have an exact gpu write domain tracking, we don't need
to move objects to the active list ourself. i915_add_request will
take care of that under all circumstances.
Idea stolen from a patch by Chris Wilson <chris@chris-wilson.co.uk>.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 2571d1f543ef..6fe54db8f33c 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -2748,7 +2748,6 @@ static void | |||
2748 | i915_gem_object_flush_gpu_write_domain(struct drm_gem_object *obj) | 2748 | i915_gem_object_flush_gpu_write_domain(struct drm_gem_object *obj) |
2749 | { | 2749 | { |
2750 | struct drm_device *dev = obj->dev; | 2750 | struct drm_device *dev = obj->dev; |
2751 | uint32_t seqno; | ||
2752 | uint32_t old_write_domain; | 2751 | uint32_t old_write_domain; |
2753 | 2752 | ||
2754 | if ((obj->write_domain & I915_GEM_GPU_DOMAINS) == 0) | 2753 | if ((obj->write_domain & I915_GEM_GPU_DOMAINS) == 0) |
@@ -2757,9 +2756,8 @@ i915_gem_object_flush_gpu_write_domain(struct drm_gem_object *obj) | |||
2757 | /* Queue the GPU write cache flushing we need. */ | 2756 | /* Queue the GPU write cache flushing we need. */ |
2758 | old_write_domain = obj->write_domain; | 2757 | old_write_domain = obj->write_domain; |
2759 | i915_gem_flush(dev, 0, obj->write_domain); | 2758 | i915_gem_flush(dev, 0, obj->write_domain); |
2760 | seqno = i915_add_request(dev, NULL, obj->write_domain); | 2759 | (void) i915_add_request(dev, NULL, obj->write_domain); |
2761 | BUG_ON(obj->write_domain); | 2760 | BUG_ON(obj->write_domain); |
2762 | i915_gem_object_move_to_active(obj, seqno); | ||
2763 | 2761 | ||
2764 | trace_i915_gem_object_change_domain(obj, | 2762 | trace_i915_gem_object_change_domain(obj, |
2765 | obj->read_domains, | 2763 | obj->read_domains, |