uxa: Correctly prepare/finishaccess of stipple in ValidateGC (and only it)
This avoids prepare/finish_access_gc overhead when we're not changing things (since GCTile is already handled) and get us the RW flag for the prepare on of the stipple pixmap so thing will be synced correctly.
This commit is contained in:
parent
e6479f96e5
commit
ecdd706873
13
uxa/uxa.c
13
uxa/uxa.c
|
|
@ -237,9 +237,16 @@ uxa_validate_gc (GCPtr pGC, unsigned long changes, DrawablePtr pDrawable)
|
|||
changes &= ~GCTile;
|
||||
}
|
||||
|
||||
uxa_prepare_access_gc(pGC);
|
||||
fbValidateGC (pGC, changes, pDrawable);
|
||||
uxa_finish_access_gc(pGC);
|
||||
if (changes & GCStipple && pGC->stipple) {
|
||||
/* We can't inline stipple handling like we do for GCTile because it sets
|
||||
* fbgc privates.
|
||||
*/
|
||||
uxa_prepare_access(&pGC->stipple->drawable, UXA_ACCESS_RW);
|
||||
fbValidateGC (pGC, changes, pDrawable);
|
||||
uxa_finish_access(&pGC->stipple->drawable);
|
||||
} else {
|
||||
fbValidateGC (pGC, changes, pDrawable);
|
||||
}
|
||||
|
||||
pGC->ops = (GCOps *) &uxa_ops;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue