[Mesa-dev] Gallium pixel formats on big-endian

Michel Dänzer michel at daenzer.net
Thu Jan 31 06:53:05 PST 2013


On Don, 2013-01-31 at 06:42 -0800, Jose Fonseca wrote: 
> 
> ----- Original Message -----
> > On Don, 2013-01-31 at 02:14 -0800, Jose Fonseca wrote:
> > > ----- Original Message -----
> > > > On Mit, 2013-01-30 at 08:35 -0800, Jose Fonseca wrote:
> > > > > 
> > > > > ----- Original Message -----
> > > > > > For another example (which I suspect is more relevant for
> > > > > > this
> > > > > > thread),
> > > > > > wouldn't it be nice if the software rendering drivers could
> > > > > > directly
> > > > > > represent the window system renderbuffer format as a Gallium
> > > > > > format
> > > > > > in
> > > > > > all cases?
> > > > > 
> > > > > I'm missing your point, could you give an example of where
> > > > > that's
> > > > > currently not possible?
> > > > 
> > > > E.g. an XImage of depth 16, where the pixels are generally packed
> > > > in
> > > > big
> > > > endian if the X server runs on a big endian machine. It's
> > > > impossible
> > > > to
> > > > represent that with PIPE_FORMAT_*5*6*5_UNORM packed in little
> > > > endian.
> > > 
> > > I see.
> > > 
> > > Is this something that could be worked around?
> > 
> > Basically anything can be worked around somehow, right? :)
> 
> I meant in a satisfactory manner.
> 
> > But in this example, it seems like it would require some kind of
> > sideband information to specify that PIPE_FORMAT_*5*6*5_UNORM
> > actually
> > has the reversed byte order now, and some layer of the stack to use
> > that
> > and swap the bytes accordingly. So, extra copies and an extra
> > information channel (and possibly a layering violation).
> 
> I was thinking more around blacklisting non RGBX8 visuals on the X
> server in BE platforms when GLX is enabled for this hardware. I mean,
> is it worth it to even support it?

I don't think that would be a satisfactory solution. Along those lines,
e.g. 16/32 bit component formats would have to be excluded as well
(which isn't directly relevant with X, but could be e.g. with Wayland).
Also note that the above example was specifically for a software
renderer (which I suspect is what Adam is after), where depth 16 could
give a critical boost.


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the mesa-dev mailing list