mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-18 01:34:14 +08:00
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:
parent
05eff845a2
commit
6133047aa6
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user