[PATCH] Add support for RENDER BGRA formats.

Michael macallan at netbsd.org
Tue Oct 13 12:22:55 PDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Oct 13, 2009, at 2:51 PM, Adam Jackson wrote:

> On Fri, 2009-10-09 at 11:26 +0200, Mark Kettenis wrote:
>
>>> Hmm, right. The two hunks above were aimed towards my first  
>>> approach for
>>> fixing radeon KMS on big endian machines, by making the root window
>>> visual BGRA. I've since abandoned that approach for a different  
>>> one, so
>>> those hunks are not needed anymore and obviously even harmful. I'll
>>> submit a patch to revert them.
>>
>> Well, it would be nice if a solution to support BGRA properly would  
>> be
>> found.  I have an i128-based card designed for Sun UltraSPARC  
>> workstations
>> that can't do the byteswaps in hardware like the radeons can.
>
> Not that you're wrong (about proper BGRA support), but I think you may
> be wrong (about i128).  I'd like to see an X log from that chip with
> Option "Debug" "on" in xorg.conf, I suspect CMD_HDF and MWn_CTRL  
> will be
> interesting.

... which reminds me - I have an SBus card with ( among others ) an  
I128. I wrote an accelerated kernel driver for NetBSD using the X  
driver as reference, but the X driver doesn't support any mono-to- 
colour expansion. Does anyone have any I128 docs? Or does the chip  
simply not support colour expansion?
I have never heard of any i128 PCI cards for Suns - do you have a  
model name or something?
Most PCI graphics chips have their (framebuffer) apertures split into  
a big endian and a little endian half, some have programmable byte  
twiddling, some have both. It would be a strange choice to pick one of  
the few chips that don't support big endian mode for a big endian  
machine. So, it's probably there somewhere.
Also, it might give you a hint or two if you ran the OF console in 24  
bit ( output-device=screen:r1152x900x76x24 works on at least some Sun  
graphics boards ) and then check if the address property agrees with  
the framebuffer BAR ( there should be an entry for it in /memory/ 
translations, 'address' is an OF virtual address after all )
Or, just check what's halfway up the framebuffer aperture.

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBStTTkMpnzkX8Yg2nAQIQKQgAkdzuuwxcFON4cPxYtMsePDIjzUXAkZhQ
H55snPB5COunbiwvD2qgq9P4H+eFw3sS675wWKDVtlWht5aKRP+PpF5oZiSSVp8z
b5LScg7CCGHGsD8LZXn6U8WmHAA/gdZGKU9EBpneJjQwzIzgFRqrVzYUt+3DyhMu
nl6+8yeKtqq+shheai1zApglDtPwD9yiAMOQUObLsE+LiN4S1zlDZfy9pp5jsNcy
FmQe99F/AaqiUdmV9O6iZ7nhgAY/rus4bR/UYmc7RnfJINZsNcYvHtCLJq9ynxGE
kIHeWOUmB03D/rKykg1Y4q67oWizjXW/ouQRA+jTE7rOilPXKa9Bsw==
=1Vw3
-----END PGP SIGNATURE-----


More information about the xorg-devel mailing list