Okay I spent today bisecting this and although I'm not 100% sure I got it right the whole way down, I think where I landed seems sane, so I said I'd share This seems to cause the blank rendering zones people have been reporting. Dave. commit c07496fa61f4c5cb2addd1c57f6b22fcaeea2eeb Author: Daniel Vetter <daniel.vetter at ffwll.ch> Date: Fri Apr 13 15:51:51 2012 +0200 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 at 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 at chris-wilson.co.uk> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>