diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-12-05 16:04:18 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-12-05 18:19:37 -0500 |
commit | 6bda10d152735c22baf1dcd92937420b4b0a359a (patch) | |
tree | fe8f05dd7489131bbdb7e8c28b4ca429fb0fb392 /drivers/gpu | |
parent | 0cdab21f9a1fca50dd27e488839f5a6578e333b2 (diff) |
drm/i915: Completely disable fence pipelining.
I'm still seeing tiling corruption of PutImage and CopyArea (I think)
under mutter on pnv, so obviously the pipelining logic is deeply flawed.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index eeed2e99d247..8685b9279029 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -2484,6 +2484,9 @@ i915_gem_object_get_fence(struct drm_i915_gem_object *obj, | |||
2484 | struct drm_i915_fence_reg *reg; | 2484 | struct drm_i915_fence_reg *reg; |
2485 | int ret; | 2485 | int ret; |
2486 | 2486 | ||
2487 | /* XXX disable pipelining. There are bugs. Shocking. */ | ||
2488 | pipelined = NULL; | ||
2489 | |||
2487 | /* Just update our place in the LRU if our fence is getting reused. */ | 2490 | /* Just update our place in the LRU if our fence is getting reused. */ |
2488 | if (obj->fence_reg != I915_FENCE_REG_NONE) { | 2491 | if (obj->fence_reg != I915_FENCE_REG_NONE) { |
2489 | reg = &dev_priv->fence_regs[obj->fence_reg]; | 2492 | reg = &dev_priv->fence_regs[obj->fence_reg]; |
@@ -2556,9 +2559,8 @@ i915_gem_object_get_fence(struct drm_i915_gem_object *obj, | |||
2556 | if (old->tiling_mode) | 2559 | if (old->tiling_mode) |
2557 | i915_gem_release_mmap(old); | 2560 | i915_gem_release_mmap(old); |
2558 | 2561 | ||
2559 | /* XXX The pipelined change over appears to be incoherent. */ | ||
2560 | ret = i915_gem_object_flush_fence(old, | 2562 | ret = i915_gem_object_flush_fence(old, |
2561 | NULL, //pipelined, | 2563 | pipelined, |
2562 | interruptible); | 2564 | interruptible); |
2563 | if (ret) { | 2565 | if (ret) { |
2564 | drm_gem_object_unreference(&old->base); | 2566 | drm_gem_object_unreference(&old->base); |