diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-13 09:51:51 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-15 13:37:42 -0400 |
commit | c07496fa61f4c5cb2addd1c57f6b22fcaeea2eeb (patch) | |
tree | fd145a28144b0b2e68b623f52c2a340edde39de1 /drivers/gpu/drm/i915/i915_gem.c | |
parent | d1e61e7fc4456c4cb9a33ed182edf40e34ddedea (diff) |
drm/i915: don't pwrite tiled objects through the gtt
... we will botch up the bit17 swizzling. Furthermore tiled pwrite is
a (now) unused slowpath, so no one really cares.
This fixes the last swizzling issues I have with i-g-t on my bit17
swizzling i915G. No regression, it's been broken since the dawn of
gem, but it's nice for regression tracking when really _all_ i-g-t
tests work.
Actually this is not true, Chris Wilson noticed while reviewing this
patch that the commit
commit d9e86c0ee60f323e890484628f351bf50fa9a15d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Wed Nov 10 16:40:20 2010 +0000
drm/i915: Pipelined fencing [infrastructure]
contained a functional change that broke things.
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem.c')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 71934dd0ee43..9415c07b6285 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -876,6 +876,7 @@ i915_gem_pwrite_ioctl(struct drm_device *dev, void *data, | |||
876 | 876 | ||
877 | if (obj->gtt_space && | 877 | if (obj->gtt_space && |
878 | obj->cache_level == I915_CACHE_NONE && | 878 | obj->cache_level == I915_CACHE_NONE && |
879 | obj->tiling_mode == I915_TILING_NONE && | ||
879 | obj->map_and_fenceable && | 880 | obj->map_and_fenceable && |
880 | obj->base.write_domain != I915_GEM_DOMAIN_CPU) { | 881 | obj->base.write_domain != I915_GEM_DOMAIN_CPU) { |
881 | ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file); | 882 | ret = i915_gem_gtt_pwrite_fast(dev, obj, args, file); |