summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2011-12-16 11:09:22 -0800
committerEric Anholt <eric@anholt.net>2011-12-16 12:08:42 -0800
commit81f5610a68a8bd743a4dca138befbdcda94fa0d2 (patch)
tree3d4ed45c7b4cc39417dca26be7da675df3b087d5
parente87b5bfd7830a9e7c008cebe0531afee69025fd7 (diff)
drm/i915: Simplify i915_gem_object_wait_rendering().
We don't have to worry about GPU caching interactions with waiting for an object to be ready any more. Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 082cc5cf5ce..73759c6318f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2023,23 +2023,10 @@ i915_wait_request(struct intel_ring_buffer *ring,
int
i915_gem_object_wait_rendering(struct drm_i915_gem_object *obj)
{
- int ret;
-
- /* This function only exists to support waiting for existing rendering,
- * not for emitting required flushes.
- */
- BUG_ON((obj->base.write_domain & I915_GEM_GPU_DOMAINS) != 0);
-
- /* If there is rendering queued on the buffer being evicted, wait for
- * it.
- */
- if (obj->active) {
- ret = i915_wait_request(obj->ring, obj->last_rendering_seqno);
- if (ret)
- return ret;
- }
+ if (!obj->active)
+ return 0;
- return 0;
+ return i915_wait_request(obj->ring, obj->last_rendering_seqno);
}
static void i915_gem_object_finish_gtt(struct drm_i915_gem_object *obj)