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