Add the FB_ACCESS_WRAPPER checks

This commit is contained in:
Alan Hourihane 2007-09-27 14:54:40 +01:00
parent e0bb33b3d2
commit c11a27ef85

View File

@ -75,7 +75,9 @@ fbPolyArc (DrawablePtr pDrawable,
cclip = fbGetCompositeClip (pGC); cclip = fbGetCompositeClip (pGC);
fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff); fbGetDrawable (pDrawable, dst, dstStride, dstBpp, dstXoff, dstYoff);
#ifdef FB_ACCESS_WRAPPER
wrapped = 1; wrapped = 1;
#endif
while (narcs--) while (narcs--)
{ {
if (miCanZeroArc (parcs)) if (miCanZeroArc (parcs))
@ -99,34 +101,42 @@ fbPolyArc (DrawablePtr pDrawable,
box.y2 = y2; box.y2 = y2;
if ( (x2 <= SHRT_MAX) && (y2 <= SHRT_MAX) && if ( (x2 <= SHRT_MAX) && (y2 <= SHRT_MAX) &&
(RECT_IN_REGION(pDrawable->pScreen, cclip, &box) == rgnIN) ) { (RECT_IN_REGION(pDrawable->pScreen, cclip, &box) == rgnIN) ) {
#ifdef FB_ACCESS_WRAPPER
if (!wrapped) { if (!wrapped) {
fbPrepareAccess (pDrawable); fbPrepareAccess (pDrawable);
wrapped = 1; wrapped = 1;
} }
#endif
(*arc) (dst, dstStride, dstBpp, (*arc) (dst, dstStride, dstBpp,
parcs, pDrawable->x + dstXoff, pDrawable->y + dstYoff, parcs, pDrawable->x + dstXoff, pDrawable->y + dstYoff,
pPriv->and, pPriv->xor); pPriv->and, pPriv->xor);
} else { } else {
#ifdef FB_ACCESS_WRAPPER
if (wrapped) { if (wrapped) {
fbFinishAccess (pDrawable); fbFinishAccess (pDrawable);
wrapped = 0; wrapped = 0;
} }
#endif
miZeroPolyArc(pDrawable, pGC, 1, parcs); miZeroPolyArc(pDrawable, pGC, 1, parcs);
} }
} }
else { else {
#ifdef FB_ACCESS_WRAPPER
if (wrapped) { if (wrapped) {
fbFinishAccess (pDrawable); fbFinishAccess (pDrawable);
wrapped = 0; wrapped = 0;
} }
#endif
miPolyArc(pDrawable, pGC, 1, parcs); miPolyArc(pDrawable, pGC, 1, parcs);
} }
parcs++; parcs++;
} }
#ifdef FB_ACCESS_WRAPPER
if (wrapped) { if (wrapped) {
fbFinishAccess (pDrawable); fbFinishAccess (pDrawable);
wrapped = 0; wrapped = 0;
} }
#endif
} }
else else
#endif #endif