diff options
Diffstat (limited to 'freed-ora/tags/f16/3.6.11-6.fc16.gnu/drm-i915-Use-cpu-relocations-if-the-object-is-in-the.patch')
-rw-r--r-- | freed-ora/tags/f16/3.6.11-6.fc16.gnu/drm-i915-Use-cpu-relocations-if-the-object-is-in-the.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/freed-ora/tags/f16/3.6.11-6.fc16.gnu/drm-i915-Use-cpu-relocations-if-the-object-is-in-the.patch b/freed-ora/tags/f16/3.6.11-6.fc16.gnu/drm-i915-Use-cpu-relocations-if-the-object-is-in-the.patch new file mode 100644 index 000000000..0e282bf04 --- /dev/null +++ b/freed-ora/tags/f16/3.6.11-6.fc16.gnu/drm-i915-Use-cpu-relocations-if-the-object-is-in-the.patch @@ -0,0 +1,33 @@ +From 504c7267a1e84b157cbd7e9c1b805e1bc0c2c846 Mon Sep 17 00:00:00 2001 +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Thu, 23 Aug 2012 13:12:52 +0100 +Subject: [PATCH] drm/i915: Use cpu relocations if the object is in the GTT + but not mappable + +This prevents the case of unbinding the object in order to process the +relocations through the GTT and then rebinding it only to then proceed +to use cpu relocations as the object is now in the CPU write domain. By +choosing to use cpu relocations up front, we can therefore avoid the +rebind penalty. + +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> +--- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c +index f7346d8..dc87563 100644 +--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c ++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c +@@ -95,6 +95,7 @@ eb_destroy(struct eb_objects *eb) + static inline int use_cpu_reloc(struct drm_i915_gem_object *obj) + { + return (obj->base.write_domain == I915_GEM_DOMAIN_CPU || ++ !obj->map_and_fenceable || + obj->cache_level != I915_CACHE_NONE); + } + +-- +1.7.12.1 + |