Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6133047a authored by Keith Packard's avatar Keith Packard Committed by Dave Airlie
Browse files

drm/i915: execbuffer pins objects, no need to ensure they're still in the GTT



Before we had the notion of pinning objects, we had a kludge around to make
sure all of the objects were still resident in the GTT before we committed
to executing a batch buffer. We don't need this any longer, and it sticks an
error return in the middle of object domain computations that must be
associated with a subsequent flush/invalidate emmission into the ring.

Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 05eff845
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -1866,17 +1866,6 @@ i915_gem_execbuffer(struct drm_device *dev, void *data,

	for (i = 0; i < args->buffer_count; i++) {
		struct drm_gem_object *obj = object_list[i];
		struct drm_i915_gem_object *obj_priv = obj->driver_private;

		if (obj_priv->gtt_space == NULL) {
			/* We evicted the buffer in the process of validating
			 * our set of buffers in.  We could try to recover by
			 * kicking them everything out and trying again from
			 * the start.
			 */
			ret = -ENOMEM;
			goto err;
		}

		/* make sure all previous memory operations have passed */
		ret = i915_gem_object_set_domain(obj,