4017d31902
over to new system. Need to update documentation and address some remaining vestiges of old system such as CursorRec structure, fb "offman" structure, and FontRec privates.
82 lines
2.5 KiB
C
82 lines
2.5 KiB
C
|
|
#define XAA_SCREEN_PROLOGUE(pScreen, field)\
|
|
((pScreen)->field = \
|
|
((XAAScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey()))->field)
|
|
|
|
#define XAA_SCREEN_EPILOGUE(pScreen, field, wrapper)\
|
|
((pScreen)->field = wrapper)
|
|
|
|
|
|
#define XAA_GC_FUNC_PROLOGUE(pGC)\
|
|
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
|
|
(pGC)->funcs = pGCPriv->wrapFuncs;\
|
|
if(pGCPriv->flags)\
|
|
(pGC)->ops = pGCPriv->wrapOps
|
|
|
|
#define XAA_GC_FUNC_EPILOGUE(pGC)\
|
|
pGCPriv->wrapFuncs = (pGC)->funcs;\
|
|
(pGC)->funcs = &XAAGCFuncs;\
|
|
if(pGCPriv->flags) {\
|
|
pGCPriv->wrapOps = (pGC)->ops;\
|
|
(pGC)->ops = (pGCPriv->flags & OPS_ARE_ACCEL) ? pGCPriv->XAAOps :\
|
|
&XAAPixmapOps;\
|
|
}
|
|
|
|
|
|
#define XAA_GC_OP_PROLOGUE(pGC)\
|
|
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
|
|
GCFuncs *oldFuncs = pGC->funcs;\
|
|
pGC->funcs = pGCPriv->wrapFuncs;\
|
|
pGC->ops = pGCPriv->wrapOps
|
|
|
|
#define XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC)\
|
|
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
|
|
GCFuncs *oldFuncs = pGC->funcs;\
|
|
if(!REGION_NUM_RECTS(pGC->pCompositeClip)) return; \
|
|
pGC->funcs = pGCPriv->wrapFuncs;\
|
|
pGC->ops = pGCPriv->wrapOps
|
|
|
|
|
|
#define XAA_GC_OP_EPILOGUE(pGC)\
|
|
pGCPriv->wrapOps = pGC->ops;\
|
|
pGC->funcs = oldFuncs;\
|
|
pGC->ops = pGCPriv->XAAOps
|
|
|
|
|
|
#define XAA_PIXMAP_OP_PROLOGUE(pGC, pDraw)\
|
|
XAAGCPtr pGCPriv = (XAAGCPtr)dixLookupPrivate(&(pGC)->devPrivates, XAAGetGCKey()); \
|
|
XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\
|
|
GCFuncs *oldFuncs = pGC->funcs;\
|
|
pGC->funcs = pGCPriv->wrapFuncs;\
|
|
pGC->ops = pGCPriv->wrapOps
|
|
|
|
|
|
#define XAA_PIXMAP_OP_EPILOGUE(pGC)\
|
|
pGCPriv->wrapOps = pGC->ops;\
|
|
pGC->funcs = oldFuncs;\
|
|
pGC->ops = &XAAPixmapOps;\
|
|
pixPriv->flags |= DIRTY
|
|
|
|
#ifdef HAVE_XORG_CONFIG_H
|
|
#include <xorg-config.h>
|
|
#endif
|
|
|
|
#ifdef RENDER
|
|
#define XAA_RENDER_PROLOGUE(pScreen,field)\
|
|
(GetPictureScreen(pScreen)->field = \
|
|
((XAAScreenPtr)dixLookupPrivate(&(pScreen)->devPrivates, XAAGetScreenKey()))->field)
|
|
|
|
#define XAA_RENDER_EPILOGUE(pScreen, field, wrapper)\
|
|
(GetPictureScreen(pScreen)->field = wrapper)
|
|
#endif
|
|
|
|
/* This also works fine for drawables */
|
|
|
|
#define SYNC_CHECK(pGC) {\
|
|
XAAInfoRecPtr infoRec =\
|
|
((XAAScreenPtr)dixLookupPrivate(&(pGC)->pScreen->devPrivates, XAAGetScreenKey()))->AccelInfoRec; \
|
|
if(infoRec->NeedToSync) {\
|
|
(*infoRec->Sync)(infoRec->pScrn);\
|
|
infoRec->NeedToSync = FALSE;\
|
|
}}
|