[PATCH] EXA: ModifyPixmapHeader_mixed fixes.
Michel Dänzer
michel at daenzer.net
Sat Dec 5 09:23:11 PST 2009
On Sat, 2009-12-05 at 17:59 +0100, Maarten Maathuis wrote:
> 2009/12/5 Michel Dänzer <michel at daenzer.net>:
> > On Fri, 2009-12-04 at 20:28 +0100, Maarten Maathuis wrote:
> >> 2009/12/4 Michel Dänzer <michel at daenzer.net>:
> >> >
> >> > + if (pExaPixmap->pDamage && pExaPixmap->sys_ptr) {
> >> > + free(pExaPixmap->sys_ptr);
> >> > + pExaPixmap->sys_ptr = NULL;
> >> > + DamageUnregister(&pPixmap->drawable, pExaPixmap->pDamage);
> >> > + DamageDestroy(pExaPixmap->pDamage);
> >> > + pExaPixmap->pDamage = NULL;
> >> > + REGION_EMPTY(pScreen, &pExaPixmap->validSys);
> >> > +
> >> > + swap(pExaScr, pScreen, ModifyPixmapHeader);
> >> > + pScreen->ModifyPixmapHeader(pPixmap, width, height, depth,
> >> > + bitsPerPixel, devKind, pPixData);
> >> > + swap(pExaScr, pScreen, ModifyPixmapHeader);
> >> > +
> >>
> >> How is this helping, considering it's done twice (the original MPH
> >> still exists)?
> >
> > That won't be called if the driver MPH hook returns TRUE.
>
> Not every driver has an MPH hook and they certainly don't return TRUE
> all the time. Why not remove the MPH here and just stick to deleting
> the sysram copy?
I'll try that.
> (don't forget deferred pixmaps)
What do you suggest should be done about them here? Note that I was
going to propose removing deferred pixmaps again, they seem to cause
problems with optimized migration and the latter seems to help more.
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg-devel
mailing list