ColorTiling breaks output on G5

Roland Scheidegger rscheidegger_lists at hispeed.ch
Tue Feb 8 04:28:34 PST 2005


Benjamin Herrenschmidt wrote:
> Hi !
> 
> I haven't tested on other ppc / big endian machines, but the color 
> tiling option definitely breaks the output on the G5 here. The setup
>  is a G5 running debian/ppc with a 32 bits Xorg build (CVS from an 
> hour ago), a Radeon 9600 AGP, no DRM, single head on primary TMDS 
> output, 1280x1024 TFT flat panel.
> 
> With Option "ColorTiling" "off" it works fine, but when "on", I get 
> something a bit strange (I would need a digital camera...). The 
> cursor is fine, and the gray pattern looks like vertical stripes, 
> slightly ondulating, something like:
This might not actually be a problem with endianness (could be), but 
with color tiling on r300. It should work on r200 and r100 chip 
families, but it could well fail on r300. In fact that it's enabled on 
r300 is an accident (I forgot to disable it on these chips when I 
decided to enable it by default).
There could be mostly two problems why it wouldn't work on r300 I think,
either the surface info regs might need to be set up differently (they 
need different setup for r100 and r200 too so that wouldn't be 
surprising), or the blitter needs to be configured differently when 
uploading data (this one is the same for r100 and r200 though). Of 
course it could be both...
If you login, are at least some gui elements correct? If so, either 
surface regs or blitter setup is probably correct (accelerated functions 
need blitter, others need surface regs).

> I don't fully understand what the tiling is (quick explanation 
> welcome !) so I haven't looked into fixing it yet.
tiling means the frame buffer is organzied not linear. Specifically, in 
case of r100 and r200, the tile pattern is 256 bytes x8, meaning (with 
32bit bpp) the layout of the memory is 64 pixels of line 0, followed by 
64 pixels of line 1, etc. up to line 7, then again 64 pixels of line 0,...
This isn't really useful for 2d, but the 3d engine can benefit quite a 
lot (dependin on card and app, up to 40% faster in some cases).

It would be nice if someone could test color tiling with r100/r200 on 
ppc, and color tiling with r300 on x86, so I know that it's really r300 
color tiling which doesn't work, I'd just disable that by default then 
(the experimental r300 dri driver doesn't support it currently anyway).

Roland



More information about the xorg mailing list