Bläddra i källkod

drm/i915: fall back to shmem pwrite when the buffer is not accessible

It's too expensive to move it around just for that pwrite, especially
when we're trashing on the mappable gtt part like crazy.

Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Daniel Vetter 13 år sedan
förälder
incheckning
ffc62976d2
1 ändrade filer med 1 tillägg och 0 borttagningar
  1. 1 0
      drivers/gpu/drm/i915/i915_gem.c

+ 1 - 0
drivers/gpu/drm/i915/i915_gem.c

@@ -771,6 +771,7 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data,
 
 
 	if (obj->gtt_space &&
 	if (obj->gtt_space &&
 	    obj->cache_level == I915_CACHE_NONE &&
 	    obj->cache_level == I915_CACHE_NONE &&
+	    obj->map_and_fenceable &&
 	    obj->base.write_domain != I915_GEM_DOMAIN_CPU) {
 	    obj->base.write_domain != I915_GEM_DOMAIN_CPU) {
 		ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file);
 		ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file);
 		/* Note that the gtt paths might fail with non-page-backed user
 		/* Note that the gtt paths might fail with non-page-backed user