[Intel-gfx] [PATCH] drm/i915: fix relaxed tiling on gen2

Chris Wilson chris at chris-wilson.co.uk
Sat Mar 26 19:23:39 CET 2011


On Sat, 26 Mar 2011 15:22:57 +0100, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> A tile on gen2 has a size of 2kb, stride of 128 bytes and 16 rows.

You know thats what it says in the gen2 docs as well under FENCE. :(
 
> Userspace was broken and assumed 8 rows. Complain with a printk_once
> and disallow such tiling requests.

However, we know that userspace only requests correctly aligned regions by
accident due to the rounding up to the next bucket size in libdrm.

> Also experiments and randoms cues from i81x docs suggest that y-tiling
> doesn't work with fences (it's already known to be broken on the blitter).
> Original idea seems to be to use y-tiling for textures with a manually
> tiling upload path. Hence also disallow y-tiling - current userspace
> doesn't use it at all, anyway.

gen2 docs say that the FENCE upload via the CPU can handle Y-tiling on
all chipsets but 855GM. Go figure. (To handle Y-tiling uploads on 855GM it
says to BLT from X to Y...)

In which case it is only an error in i915_gem_fault() for 855GM &
Y-tiling.

So whilst I think we've found the right bug, I don't quite think we've got
the right patch yet.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list