[PATCH] XAA: Verify "pixmap" ops are really called on pixmaps before reading privates.

Jamey Sharp jamey at minilop.net
Mon Jul 5 05:41:58 PDT 2010


On Mon, Jul 5, 2010 at 5:20 AM, Tiago Vignatti <tiago.vignatti at nokia.com> wrote:
> On Sun, Jul 04, 2010 at 05:44:40PM +0200, ext Jamey Sharp wrote:
>> The pixmap ops certainly are used for pixmaps (if they aren't
>> offscreen), but they're also used for windows when this screen doesn't
>> have the VT semaphore. I assume that could lead to an privates assertion
>> failure in xserver 1.9.
>
> The results: mga stills hanging somewhere and VT switch is broken for me with
> and without you patch (it's worse. Very like it's related with VGA
> arbitration. Sigh). nv driver works nicely with and without your patch.
>
> So at least in practice, your patch doesn't seems to bring anything better for
> me. It doesn't regress either.

Thanks for testing!

OK, I think maybe I finally understand the part of XAA I've been
staring at for the last week (ow ow ow), and now it makes sense that
there's no bug here. I didn't notice that when XAA's GC-private field
"flags" is 0, XAA doesn't wrap the GC ops at all. Instead I saw the
ternary conditional that "flags & OPS_ARE_ACCEL" means to use the
accelerated ops, and otherwise use the pixmap ops, and that led me to
think that the pixmap ops were used in two of the three cases.

So I retract this patch. Still tempting to submit a different patch to
delete XAA entirely though.

Jamey


More information about the xorg-devel mailing list