[PATCH]: Fix GLX crashes on RISC cpus.

David Miller davem at davemloft.net
Fri Dec 28 13:23:16 PST 2007


From: Xavier Bestel <xavier.bestel at free.fr>
Date: Fri, 28 Dec 2007 11:47:33 +0100

> 
> On jeu, 2007-12-27 at 16:36 -0800, David Miller wrote:
> > From: Jaymz Julian <jaymz at artificial-stupidity.net>
> > Date: Thu, 27 Dec 2007 22:35:34 +1100
> > 
> > > It's not random (it rotates the result in a specific way), but
> > that's not the
> > > point - you can easily check for this bevaviour by doing something
> > like:
> > > 
> > > (warning: written into email client :-p.  Bonus points if you modify
> > > it to check endian at the same time)
> > 
> > Actually we can't implement this as a run-time check, I just tried.
> > 
> > The problem is that we can't handle cross-compilation cases properly.
> 
> Hi again,
> 
> (uninformed opinion ahead)
> I didn't look at where it's used, but if as I think it is, it's for
> aligning 64bits data, and if it doesn't cause ABI trouble it's perhaps
> even better to always define it. Processors that allow unaligned
> accesses do so at a cost, even when they don't trap.

Unfortunately this setting adds a non-trivial performance penalty to
the in-server GL code.  If the incoming GLX stream is unaligned, the
code does a memmove() of the entire transaction.

So turning this on all the time is an enormously bad idea.



More information about the xorg mailing list