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: Keith Packard <keithp@keithp.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Keith Packard 2008-11-20 23:14:48 -08:00 committed by Dave Airlie
parent 05eff845a2
commit 6133047aa6

View File

@ -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,