aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-12-05 16:04:18 -0500
committerChris Wilson <chris@chris-wilson.co.uk>2010-12-05 18:19:37 -0500
commit6bda10d152735c22baf1dcd92937420b4b0a359a (patch)
treefe8f05dd7489131bbdb7e8c28b4ca429fb0fb392 /drivers/gpu/drm/i915/i915_gem.c
parent0cdab21f9a1fca50dd27e488839f5a6578e333b2 (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/drm/i915/i915_gem.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c6
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);