diff options
author | Luc Verhaegen <libv@skynet.be> | 2008-11-07 19:11:11 +0100 |
---|---|---|
committer | Luc Verhaegen <libv@skynet.be> | 2008-11-07 19:13:58 +0100 |
commit | 59f9fb4b8c031df69b3592a26b77e744ff4a556e (patch) | |
tree | 63d2d679b17f3c4f4edc5cf26b0d391a6be0768a /exa/exa_render.c | |
parent | 991c88b7542164194be73573e7644164416ea90c (diff) |
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.
(novell bug #435791)
Diffstat (limited to 'exa/exa_render.c')
0 files changed, 0 insertions, 0 deletions