unwrapping inside the wrapper (xf86Rotate)
Dave Airlie
airlied at redhat.com
Wed Sep 30 14:30:41 PDT 2009
(noobed up cc).
On Wed, 2009-09-30 at 14:22 -0700, Keith Packard wrote:
> Excerpts from Dave Airlie's message of Wed Sep 30 13:04:35 -0700 2009:
>
> > Lots of drivers have block handlers, and really I'd like a solution
> > for 1.7 that doesn't break API which technically this kinda does,
>
> The driver block handler is at the bottom, all X server block handlers
> stack on top of that, so the driver doesn't have to deal with
> wrapping.
>
Thats not true here at all, driver wrap, the the xf86Crtc code wraps
below us.
Dave.
> And, no, I don't know why drivers appear to believe that they need to
> deal with wrapping.
>
> > So I suggest fixing Rotate to operate like everyone else, and
> > for the future, doing it right, with a full audit.
>
> An audit of the X server should suffice here.
>
> composite/compinit.c: correct
> exa/exa.c: correct
> hw/xfree86/common/xf86VGAarbiter.c: incorrect
> hw/xfree86/dri/dri.c: incorrect (in several ways)
> hw/xfree86/modes/xf86Rotate.c: correct
> mi/misprite.c: incorrect
> render/animcur.c: correct
>
> Let's fix these. And, fix misprite to pull itself out of the block
> handler chain when there aren't any sw cursors; that function does a
> ton of stuff, and gets called frequently.
>
More information about the xorg-devel
mailing list