2
#define XAA_SCREEN_PROLOGUE(pScreen, field)\
4
((XAAScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey()))->field)
6
#define XAA_SCREEN_EPILOGUE(pScreen, field, wrapper)\
7
((pScreen)->field = wrapper)
10
#define XAA_GC_FUNC_PROLOGUE(pGC)\
11
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
12
(pGC)->funcs = pGCPriv->wrapFuncs;\
14
(pGC)->ops = pGCPriv->wrapOps
16
#define XAA_GC_FUNC_EPILOGUE(pGC)\
17
pGCPriv->wrapFuncs = (pGC)->funcs;\
18
(pGC)->funcs = &XAAGCFuncs;\
20
pGCPriv->wrapOps = (pGC)->ops;\
21
(pGC)->ops = (pGCPriv->flags & OPS_ARE_ACCEL) ? pGCPriv->XAAOps :\
26
#define XAA_GC_OP_PROLOGUE(pGC)\
27
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
28
GCFuncs *oldFuncs = pGC->funcs;\
29
pGC->funcs = pGCPriv->wrapFuncs;\
30
pGC->ops = pGCPriv->wrapOps
32
#define XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC)\
33
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
34
GCFuncs *oldFuncs = pGC->funcs;\
35
if(!REGION_NUM_RECTS(pGC->pCompositeClip)) return; \
36
pGC->funcs = pGCPriv->wrapFuncs;\
37
pGC->ops = pGCPriv->wrapOps
40
#define XAA_GC_OP_EPILOGUE(pGC)\
41
pGCPriv->wrapOps = pGC->ops;\
42
pGC->funcs = oldFuncs;\
43
pGC->ops = pGCPriv->XAAOps
46
#define XAA_PIXMAP_OP_PROLOGUE(pGC, pDraw)\
47
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
48
XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\
49
GCFuncs *oldFuncs = pGC->funcs;\
50
pGC->funcs = pGCPriv->wrapFuncs;\
51
pGC->ops = pGCPriv->wrapOps
54
#define XAA_PIXMAP_OP_EPILOGUE(pGC)\
55
pGCPriv->wrapOps = pGC->ops;\
56
pGC->funcs = oldFuncs;\
57
pGC->ops = &XAAPixmapOps;\
58
pixPriv->flags |= DIRTY
60
#ifdef HAVE_XORG_CONFIG_H
61
#include <xorg-config.h>
65
#define XAA_RENDER_PROLOGUE(pScreen,field)\
66
(GetPictureScreen(pScreen)->field = \
67
((XAAScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey()))->field)
69
#define XAA_RENDER_EPILOGUE(pScreen, field, wrapper)\
70
(GetPictureScreen(pScreen)->field = wrapper)
73
/* This also works fine for drawables */
75
#define SYNC_CHECK(pGC) {\
76
XAAInfoRecPtr infoRec =\
77
((XAAScreenPtr)dixLookupPrivate(&(pGC)->pScreen->devPrivates, XAAGetScreenKey()))->AccelInfoRec; \
78
if(infoRec->NeedToSync) {\
79
(*infoRec->Sync)(infoRec->pScrn);\
80
infoRec->NeedToSync = FALSE;\