Commit Graph

3 Commits

Author SHA1 Message Date
matthieu
9bd69e2c49 Fix from X.Org master git for XAA screen corruption.
XAA PixmapOps: Sync before accessing unwrapped callbacks.

    When using any XAAPixmapOps, we call into unknown but freshly
    unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
    we did so without syncing first, exposing us to all kinds of
    synchronisation issues.

    I believe that the rendering errors appeared now because *PaintWindow
    vanished (e4d11e58), and we just use miPaintWindow instead. This
    takes a less direct route to the hw and ends up at
    PolyFillRectPixmap, which very often left drawing artifacts.

    We now sync accordingly, and no longer get the rendering artifacts i
    was methodically reproducing on radeonhd, radeon, unichrome...

    Also, in order to allow driver authors to remove extensive syncing
    or flushing to hide this issue, create XAA_VERSION_ defines, put
    them in xaa.h and bump the patchlevel.

tested by naddy@ and Edd Barrett. ok oga@.
2008-11-11 20:31:42 +00:00
matthieu
60021fe985 xserver 1.5.2. tested by ckuethe@, oga@, and others. 2008-11-02 15:26:08 +00:00
matthieu
889b860699 Importing xserver from X.Org 7.2RC2 2006-11-26 18:13:41 +00:00