[PATCH] Add support for RENDER BGRA formats.
mark.kettenis at xs4all.nl
Sat Oct 31 08:17:02 PDT 2009
> From: Adam Jackson <ajax at nwnk.net>
> Date: Thu, 29 Oct 2009 18:33:20 -0400
> > To make the card work properly I still have to solve two issues:
> > 1. It seems the ACNTRL register doesn't exist on the i128v2 chip.
> > Writes to this register result in a PCI bus error. This was
> > probably never noticed, since on standard PC hardware writes to
> > non-existent registers silently fail. Do the docs contain some
> > hints suggesting this is indeed the case?
> Kind of? It's the alpha blender setup register, and described as "the
> Imagine 3 blending unit", which sort of implies it didn't exist on
> Imagine 2. I'm pretty sure Imagine 1 and 2 didn't even have a triangle
> unit, let alone an alpha blender.
Enough evidence for me to assume that register should not be written
to on the i128 and i128v2. I'll generate a diff to implement this.
> > 2. Does the hardware by any chance map the VGA legacy I/O ports within
> > one of its BARs?
> It might. BAR 5 is the I/O map, and it's 256 bytes. They're all
> defined right up to 0xBC, which smells a little suspicious since the VGA
> ports it claims to decode are 3C[0-5ACEF] and 3[BD][45A]. So while it
> doesn't _say_ the VGA ports are aliased there starting at 0xC0, I'd be
> utterly unsurprised.
> I guess I don't see how it matters though, you can already get to the
> colormap and mode, and you won't be using VGA fonts. (Unless you do VGA
> console even on non-x86 machines? That would be vile.)
You're right of course. I already disabled the VGA font save/restore
because that required mapping the legacy VGA memory area and on the
Sun Blade 1000 that I stuck this card in, that area is in use by other
Still struggling a bit with how to map BAR 5 though. I have a hack to
make things work, but I'll need to discuss the implications for the
OpenBSD kernel and libpciaccess.
More information about the xorg-devel