From 3815190d52f8ae453c2458335394eb5b18ab9bf5 Mon Sep 17 00:00:00 2001 From: marha Date: Tue, 14 Sep 2010 13:17:20 +0000 Subject: xserver libX11 pixman git update 14/9/2010 --- xorg-server/hw/dmx/dmxinit.c | 9 - xorg-server/hw/dmx/glxProxy/glxcmds.c | 55 +- xorg-server/hw/dmx/glxProxy/glxcmdsswap.c | 4 +- xorg-server/hw/dmx/glxProxy/glxext.c | 76 +-- xorg-server/hw/dmx/glxProxy/glxext.h | 170 +++--- xorg-server/hw/dmx/glxProxy/glxscreens.c | 5 - xorg-server/hw/dmx/glxProxy/glxsingle.c | 5 - xorg-server/hw/dmx/glxProxy/glxutil.c | 75 --- xorg-server/hw/dmx/glxProxy/glxutil.h | 90 ++-- xorg-server/hw/dmx/glxProxy/glxvendor.c | 5 - xorg-server/hw/dmx/glxProxy/glxvisuals.c | 388 +------------- xorg-server/hw/dmx/glxProxy/glxvisuals.h | 92 ++-- xorg-server/hw/xfree86/common/xf86VGAarbiter.c | 5 +- xorg-server/hw/xfree86/loader/sdksyms.sh | 1 - xorg-server/hw/xfree86/shadowfb/shadow.c | 1 - xorg-server/hw/xfree86/xaa/Makefile.am | 148 +++--- xorg-server/hw/xfree86/xaa/xaaFallback.c | 703 ++++++++++++------------- xorg-server/hw/xfree86/xaa/xaaGC.c | 6 - xorg-server/hw/xfree86/xaa/xaaWrapper.c | 477 ----------------- xorg-server/hw/xfree86/xaa/xaaWrapper.h | 10 - xorg-server/hw/xnest/Color.c | 5 +- xorg-server/hw/xnest/Color.h | 113 ++-- xorg-server/hw/xnest/GC.c | 5 - xorg-server/hw/xnest/Screen.c | 2 + xorg-server/hw/xquartz/xpr/driWrap.c | 6 +- xorg-server/hw/xquartz/xpr/xprFrame.c | 4 - xorg-server/hw/xquartz/xpr/xprScreen.c | 6 - xorg-server/hw/xwin/win.h | 10 - xorg-server/hw/xwin/wingc.c | 5 - xorg-server/hw/xwin/winscrinit.c | 6 - xorg-server/hw/xwin/winwin32rootless.c | 22 - 31 files changed, 696 insertions(+), 1813 deletions(-) delete mode 100644 xorg-server/hw/xfree86/xaa/xaaWrapper.c delete mode 100644 xorg-server/hw/xfree86/xaa/xaaWrapper.h (limited to 'xorg-server/hw') diff --git a/xorg-server/hw/dmx/dmxinit.c b/xorg-server/hw/dmx/dmxinit.c index 0871ab5f5..e0e5d1228 100644 --- a/xorg-server/hw/dmx/dmxinit.c +++ b/xorg-server/hw/dmx/dmxinit.c @@ -69,12 +69,6 @@ #include "dmx_glxvisuals.h" #include #include - -extern void GlxSetVisualConfigs( - int nconfigs, - __GLXvisualConfig *configs, - void **configprivs -); #endif /* GLXEXT */ /* Global variables available to all Xserver/hw/dmx routines. */ @@ -768,9 +762,6 @@ void InitOutput(ScreenInfo *pScreenInfo, int argc, char *argv[]) } } - /* Hand out the glx configs to glx extension */ - GlxSetVisualConfigs(nconfigs, configs, (void**)configprivs); - XFlush(dmxScreen->beDisplay); } } diff --git a/xorg-server/hw/dmx/glxProxy/glxcmds.c b/xorg-server/hw/dmx/glxProxy/glxcmds.c index d0e3a9b77..f1893656f 100644 --- a/xorg-server/hw/dmx/glxProxy/glxcmds.c +++ b/xorg-server/hw/dmx/glxProxy/glxcmds.c @@ -38,11 +38,6 @@ #include "dmxfont.h" #include "dmxsync.h" -#undef Xmalloc -#undef Xcalloc -#undef Xrealloc -#undef Xfree - #include "glxserver.h" #include #include "g_disptab.h" @@ -144,7 +139,7 @@ static int CreateContext(__GLXclientState *cl, /* ** Allocate memory for the new context */ - glxc = __glXCalloc(1, sizeof(__GLXcontext)); + glxc = calloc(1, sizeof(__GLXcontext)); if (!glxc) { return BadAlloc; } @@ -156,7 +151,7 @@ static int CreateContext(__GLXclientState *cl, glxc->pFBConfig = glxLookupFBConfig( fbconfigId ); if (!glxc->pFBConfig) { client->errorValue = fbconfigId; - __glXFree( glxc ); + free( glxc ); return BadValue; } visual = glxc->pFBConfig->associatedVisualId; @@ -177,7 +172,7 @@ static int CreateContext(__GLXclientState *cl, } if (i == pScreen->numVisuals) { client->errorValue = visual; - __glXFree( glxc ); + free( glxc ); return BadValue; } @@ -192,7 +187,7 @@ static int CreateContext(__GLXclientState *cl, ** Visual not support on this screen by this OpenGL implementation. */ client->errorValue = visual; - __glXFree( glxc ); + free( glxc ); return BadValue; } @@ -203,7 +198,7 @@ static int CreateContext(__GLXclientState *cl, /* * visual does not have an FBConfig ??? client->errorValue = visual; - __glXFree( glxc ); + free( glxc ); return BadValue; */ } @@ -223,11 +218,11 @@ static int CreateContext(__GLXclientState *cl, * allocate memory for back-end servers info */ num_be_screens = to_screen - from_screen + 1; - glxc->real_ids = (XID *)__glXMalloc(sizeof(XID) * num_be_screens); + glxc->real_ids = (XID *)malloc(sizeof(XID) * num_be_screens); if (!glxc->real_ids) { return BadAlloc; } - glxc->real_vids = (XID *)__glXMalloc(sizeof(XID) * num_be_screens); + glxc->real_vids = (XID *)malloc(sizeof(XID) * num_be_screens); if (!glxc->real_vids) { return BadAlloc; } @@ -252,9 +247,9 @@ static int CreateContext(__GLXclientState *cl, if (!be_vid) { /* visual is not supported on the back-end server */ - __glXFree( glxc->real_ids ); - __glXFree( glxc->real_vids ); - __glXFree( glxc ); + free( glxc->real_ids ); + free( glxc->real_vids ); + free( glxc ); return BadValue; } } @@ -346,9 +341,9 @@ static int CreateContext(__GLXclientState *cl, ** Register this context as a resource. */ if (!AddResource(gcId, __glXContextRes, (pointer)glxc)) { - __glXFree( glxc->real_ids ); - __glXFree( glxc->real_vids ); - __glXFree( glxc ); + free( glxc->real_ids ); + free( glxc->real_vids ); + free( glxc ); client->errorValue = gcId; return BadAlloc; } @@ -585,16 +580,16 @@ static int AddCurrentContext(__GLXclientState *cl, __GLXcontext *glxc, DrawableP ** Didn't find a free slot, so we'll have to grow the table. */ if (!num) { - table = (__GLXcontext **) __glXMalloc(sizeof(__GLXcontext *)); - cl->currentDrawables = (DrawablePtr *) __glXMalloc(sizeof(DrawablePtr)); - cl->be_currentCTag = (GLXContextTag *) __glXMalloc(screenInfo.numScreens *sizeof(GLXContextTag)); + table = (__GLXcontext **) malloc(sizeof(__GLXcontext *)); + cl->currentDrawables = (DrawablePtr *) malloc(sizeof(DrawablePtr)); + cl->be_currentCTag = (GLXContextTag *) malloc(screenInfo.numScreens *sizeof(GLXContextTag)); } else { - table = (__GLXcontext **) __glXRealloc(table, + table = (__GLXcontext **) realloc(table, (num+1)*sizeof(__GLXcontext *)); - cl->currentDrawables = (DrawablePtr *) __glXRealloc( + cl->currentDrawables = (DrawablePtr *) realloc( cl->currentDrawables , (num+1)*sizeof(DrawablePtr)); - cl->be_currentCTag = (GLXContextTag *) __glXRealloc(cl->be_currentCTag, + cl->be_currentCTag = (GLXContextTag *) realloc(cl->be_currentCTag, (num+1)*screenInfo.numScreens*sizeof(GLXContextTag)); } table[num] = glxc; @@ -1721,13 +1716,13 @@ static int CreateGLXPixmap(__GLXclientState *cl, pGlxVisual = NULL; } - pGlxPixmap = (__GLXpixmap *) __glXMalloc(sizeof(__GLXpixmap)); + pGlxPixmap = (__GLXpixmap *) malloc(sizeof(__GLXpixmap)); if (!pGlxPixmap) { return BadAlloc; } - pGlxPixmap->be_xids = (XID *) __glXMalloc(sizeof(XID) * screenInfo.numScreens); + pGlxPixmap->be_xids = (XID *) malloc(sizeof(XID) * screenInfo.numScreens); if (!pGlxPixmap->be_xids) { - __glXFree( pGlxPixmap ); + free( pGlxPixmap ); return BadAlloc; } @@ -1832,7 +1827,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, } else { client->errorValue = ( visual ? visual : fbconfigId ); - __glXFree( pGlxPixmap ); + free( pGlxPixmap ); return BadValue; } @@ -1840,7 +1835,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, } if (!(AddResource(glxpixmapId, __glXPixmapRes, pGlxPixmap))) { - __glXFree( pGlxPixmap ); + free( pGlxPixmap ); return BadAlloc; } @@ -2570,7 +2565,7 @@ int __glXClientInfo(__GLXclientState *cl, GLbyte *pc) cl->GLClientmajorVersion = req->major; cl->GLClientminorVersion = req->minor; - if (cl->GLClientextensions) __glXFree(cl->GLClientextensions); + if (cl->GLClientextensions) free(cl->GLClientextensions); buf = (const char *)(req+1); cl->GLClientextensions = strdup(buf); diff --git a/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c b/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c index 8a2efaa73..da5956952 100644 --- a/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c +++ b/xorg-server/hw/dmx/glxProxy/glxcmdsswap.c @@ -702,9 +702,9 @@ int __glXSwapRenderLarge(__GLXclientState *cl, GLbyte *pc) */ if (cl->largeCmdBufSize < hdr->length) { if (!cl->largeCmdBuf) { - cl->largeCmdBuf = (GLbyte *) __glXMalloc(hdr->length); + cl->largeCmdBuf = (GLbyte *) malloc(hdr->length); } else { - cl->largeCmdBuf = (GLbyte *) __glXRealloc(cl->largeCmdBuf, hdr->length); + cl->largeCmdBuf = (GLbyte *) realloc(cl->largeCmdBuf, hdr->length); } if (!cl->largeCmdBuf) { cl->largeCmdRequestsTotal = 0; diff --git a/xorg-server/hw/dmx/glxProxy/glxext.c b/xorg-server/hw/dmx/glxProxy/glxext.c index 6589e43bb..01cbd6e08 100644 --- a/xorg-server/hw/dmx/glxProxy/glxext.c +++ b/xorg-server/hw/dmx/glxProxy/glxext.c @@ -77,10 +77,10 @@ static void ResetClientState(int clientIndex) Display **keep_be_displays; int i; - if (cl->returnBuf) __glXFree(cl->returnBuf); - if (cl->currentContexts) __glXFree(cl->currentContexts); - if (cl->currentDrawables) __glXFree(cl->currentDrawables); - if (cl->largeCmdBuf) __glXFree(cl->largeCmdBuf); + if (cl->returnBuf) free(cl->returnBuf); + if (cl->currentContexts) free(cl->currentContexts); + if (cl->currentDrawables) free(cl->currentDrawables); + if (cl->largeCmdBuf) free(cl->largeCmdBuf); for (i=0; i< screenInfo.numScreens; i++) { if (cl->be_displays[i]) @@ -97,7 +97,7 @@ static void ResetClientState(int clientIndex) */ cl->GLClientmajorVersion = 1; cl->GLClientminorVersion = 0; - if (cl->GLClientextensions) __glXFree(cl->GLClientextensions); + if (cl->GLClientextensions) free(cl->GLClientextensions); memset(cl->be_displays, 0, screenInfo.numScreens * sizeof(Display *)); } @@ -167,8 +167,8 @@ void __glXFreeGLXPixmap( __GLXpixmap *pGlxPixmap ) ** only if it's zero. */ (*pGlxPixmap->pScreen->DestroyPixmap)(pPixmap); - __glXFree(pGlxPixmap->be_xids); - __glXFree(pGlxPixmap); + free(pGlxPixmap->be_xids); + free(pGlxPixmap); } } @@ -222,10 +222,10 @@ GLboolean __glXFreeContext(__GLXcontext *cx) { if (cx->idExists || cx->isCurrent) return GL_FALSE; - if (cx->feedbackBuf) __glXFree(cx->feedbackBuf); - if (cx->selectBuf) __glXFree(cx->selectBuf); - if (cx->real_ids) __glXFree(cx->real_ids); - if (cx->real_vids) __glXFree(cx->real_vids); + if (cx->feedbackBuf) free(cx->feedbackBuf); + if (cx->selectBuf) free(cx->selectBuf); + if (cx->real_ids) free(cx->real_ids); + if (cx->real_vids) free(cx->real_vids); if (cx->pGlxPixmap) { /* @@ -263,7 +263,7 @@ GLboolean __glXFreeContext(__GLXcontext *cx) cx->pGlxReadWindow = 0; } - __glXFree(cx); + free(cx); if (cx == __glXLastContext) { __glXFlushContextCache(); @@ -367,46 +367,6 @@ Bool __glXCoreType(void) /************************************************************************/ -void GlxSetVisualConfigs(int nconfigs, - __GLXvisualConfig *configs, void **privates) -{ - glxSetVisualConfigs(nconfigs, configs, privates); -} - -static miInitVisualsProcPtr saveInitVisualsProc; - -Bool GlxInitVisuals(VisualPtr *visualp, DepthPtr *depthp, - int *nvisualp, int *ndepthp, - int *rootDepthp, VisualID *defaultVisp, - unsigned long sizes, int bitsPerRGB, - int preferredVis) -{ - Bool ret; - - if (saveInitVisualsProc) { - ret = saveInitVisualsProc(visualp, depthp, nvisualp, ndepthp, - rootDepthp, defaultVisp, sizes, bitsPerRGB, - preferredVis); - if (!ret) - return False; - } - - glxInitVisuals(nvisualp, visualp, defaultVisp, *ndepthp, *depthp,*rootDepthp); - - return True; -} - -void -GlxWrapInitVisuals(miInitVisualsProcPtr *initVisProc) -{ - if (dmxGLXProxy) { - saveInitVisualsProc = *initVisProc; - *initVisProc = GlxInitVisuals; - } -} - -/************************************************************************/ - void __glXFlushContextCache(void) { __glXLastContext = 0; @@ -427,15 +387,15 @@ static int __glXDispatch(ClientPtr client) opcode = stuff->glxCode; cl = __glXClients[client->index]; if (!cl) { - cl = __glXCalloc(1, sizeof(__GLXclientState)); + cl = calloc(1, sizeof(__GLXclientState)); __glXClients[client->index] = cl; if (!cl) { return BadAlloc; } - cl->be_displays = __glXCalloc(screenInfo.numScreens, sizeof(Display *)); + cl->be_displays = calloc(screenInfo.numScreens, sizeof(Display *)); if (!cl->be_displays) { - __glXFree( cl ); + free( cl ); return BadAlloc; } } @@ -479,15 +439,15 @@ static int __glXSwapDispatch(ClientPtr client) opcode = stuff->glxCode; cl = __glXClients[client->index]; if (!cl) { - cl = __glXCalloc(1, sizeof(__GLXclientState)); + cl = calloc(1, sizeof(__GLXclientState)); __glXClients[client->index] = cl; if (!cl) { return BadAlloc; } - cl->be_displays = __glXCalloc(screenInfo.numScreens, sizeof(Display *)); + cl->be_displays = calloc(screenInfo.numScreens, sizeof(Display *)); if (!cl->be_displays) { - __glXFree( cl ); + free( cl ); return BadAlloc; } } diff --git a/xorg-server/hw/dmx/glxProxy/glxext.h b/xorg-server/hw/dmx/glxProxy/glxext.h index b9f75b46b..3e3e5b7f3 100644 --- a/xorg-server/hw/dmx/glxProxy/glxext.h +++ b/xorg-server/hw/dmx/glxProxy/glxext.h @@ -1,92 +1,78 @@ -#ifndef _glxext_h_ -#define _glxext_h_ - -/* - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice including the dates of first publication and - * either this permission notice or a reference to - * http://oss.sgi.com/projects/FreeB/ - * shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Except as contained in this notice, the name of Silicon Graphics, Inc. - * shall not be used in advertising or otherwise to promote the sale, use or - * other dealings in this Software without prior written authorization from - * Silicon Graphics, Inc. - */ - -/* - * Added by VA Linux for XFree86 4.0.x - */ -typedef struct { - int type; - void (*resetExtension)(void); - Bool (*initVisuals)( - VisualPtr * visualp, - DepthPtr * depthp, - int * nvisualp, - int * ndepthp, - int * rootDepthp, - VisualID * defaultVisp, - unsigned long sizes, - int bitsPerRGB - ); - void (*setVisualConfigs)( - int nconfigs, - __GLXvisualConfig *configs, - void **privates - ); -} __GLXextensionInfo; - -extern GLboolean __glXFreeContext(__GLXcontext *glxc); -extern void __glXFlushContextCache(void); - -extern void __glXFreeGLXWindow(__glXWindow *pGlxWindow); -extern void __glXFreeGLXPixmap( __GLXpixmap *pGlxPixmap ); - -extern void __glXNoSuchRenderOpcode(GLbyte*); -extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*); -extern void __glXErrorCallBack(GLenum code); -extern void __glXClearErrorOccured(void); -extern GLboolean __glXErrorOccured(void); -extern void __glXResetLargeCommandStatus(__GLXclientState*); - -extern int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc); -extern int __glXSwapQueryContextInfoEXT(__GLXclientState *cl, char *pc); - -extern void GlxExtensionInit(void); - -extern Bool __glXCoreType(void); - -extern int GlxInitVisuals( -#if NeedFunctionPrototypes - VisualPtr * visualp, - DepthPtr * depthp, - int * nvisualp, - int * ndepthp, - int * rootDepthp, - VisualID * defaultVisp, - unsigned long sizes, - int bitsPerRGB, - int preferredVis -#endif -); - -#endif /* _glxext_h_ */ - +#ifndef _glxext_h_ +#define _glxext_h_ + +/* + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ + +/* + * Added by VA Linux for XFree86 4.0.x + */ +typedef struct { + int type; + void (*resetExtension)(void); + Bool (*initVisuals)( + VisualPtr * visualp, + DepthPtr * depthp, + int * nvisualp, + int * ndepthp, + int * rootDepthp, + VisualID * defaultVisp, + unsigned long sizes, + int bitsPerRGB + ); + void (*setVisualConfigs)( + int nconfigs, + __GLXvisualConfig *configs, + void **privates + ); +} __GLXextensionInfo; + +extern GLboolean __glXFreeContext(__GLXcontext *glxc); +extern void __glXFlushContextCache(void); + +extern void __glXFreeGLXWindow(__glXWindow *pGlxWindow); +extern void __glXFreeGLXPixmap( __GLXpixmap *pGlxPixmap ); + +extern void __glXNoSuchRenderOpcode(GLbyte*); +extern int __glXNoSuchSingleOpcode(__GLXclientState*, GLbyte*); +extern void __glXErrorCallBack(GLenum code); +extern void __glXClearErrorOccured(void); +extern GLboolean __glXErrorOccured(void); +extern void __glXResetLargeCommandStatus(__GLXclientState*); + +extern int __glXQueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc); +extern int __glXSwapQueryContextInfoEXT(__GLXclientState *cl, char *pc); + +extern void GlxExtensionInit(void); + +extern Bool __glXCoreType(void); + +#endif /* _glxext_h_ */ + diff --git a/xorg-server/hw/dmx/glxProxy/glxscreens.c b/xorg-server/hw/dmx/glxProxy/glxscreens.c index 6425a2bfe..df49fe50d 100644 --- a/xorg-server/hw/dmx/glxProxy/glxscreens.c +++ b/xorg-server/hw/dmx/glxProxy/glxscreens.c @@ -35,11 +35,6 @@ #include "dmx.h" #include "dmxlog.h" -#undef Xmalloc -#undef Xcalloc -#undef Xrealloc -#undef Xfree - #include "glxserver.h" #include diff --git a/xorg-server/hw/dmx/glxProxy/glxsingle.c b/xorg-server/hw/dmx/glxProxy/glxsingle.c index 056c74066..7856f5884 100644 --- a/xorg-server/hw/dmx/glxProxy/glxsingle.c +++ b/xorg-server/hw/dmx/glxProxy/glxsingle.c @@ -39,11 +39,6 @@ #include "dmxfont.h" #include "dmxcb.h" -#undef Xmalloc -#undef Xcalloc -#undef Xrealloc -#undef Xfree - #include "glxserver.h" #include "glxext.h" #include "g_disptab.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxutil.c b/xorg-server/hw/dmx/glxProxy/glxutil.c index ad34eef05..1b9ad6962 100644 --- a/xorg-server/hw/dmx/glxProxy/glxutil.c +++ b/xorg-server/hw/dmx/glxProxy/glxutil.c @@ -29,81 +29,6 @@ */ #include "glxserver.h" -#include -#include -#include #include "glxutil.h" -#include - -/************************************************************************/ void __glXNop(void) {} - -/************************************************************************/ - -/* Memory Allocation for GLX */ - -void * -__glXMalloc(size_t size) -{ - void *addr; - - if (size == 0) { - return NULL; - } - addr = malloc(size); - if (addr == NULL) { - /* XXX: handle out of memory error */ - return NULL; - } - return addr; -} - -void * -__glXCalloc(size_t numElements, size_t elementSize) -{ - void *addr; - size_t size; - - if ((numElements == 0) || (elementSize == 0)) { - return NULL; - } - addr = calloc(numElements, elementSize); - if (addr == NULL) { - /* XXX: handle out of memory error */ - return NULL; - } - return addr; -} - -void * -__glXRealloc(void *addr, size_t newSize) -{ - void *newAddr; - - if (addr) { - if (newSize == 0) { - free(addr); - return NULL; - } else { - newAddr = realloc(addr, newSize); - } - } else { - if (newSize == 0) { - return NULL; - } else { - newAddr = malloc(newSize); - } - } - if (newAddr == NULL) { - return NULL; /* XXX: out of memory */ - } - - return newAddr; -} - -void -__glXFree(void *addr) -{ - free(addr); -} diff --git a/xorg-server/hw/dmx/glxProxy/glxutil.h b/xorg-server/hw/dmx/glxProxy/glxutil.h index 6487ca716..15237b258 100644 --- a/xorg-server/hw/dmx/glxProxy/glxutil.h +++ b/xorg-server/hw/dmx/glxProxy/glxutil.h @@ -1,48 +1,42 @@ -#ifndef _glxcmds_h_ -#define _glxcmds_h_ - -/* - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice including the dates of first publication and - * either this permission notice or a reference to - * http://oss.sgi.com/projects/FreeB/ - * shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Except as contained in this notice, the name of Silicon Graphics, Inc. - * shall not be used in advertising or otherwise to promote the sale, use or - * other dealings in this Software without prior written authorization from - * Silicon Graphics, Inc. - */ - -extern void __glXNop(void); - -/* memory management */ -extern void *__glXMalloc(size_t size); -extern void *__glXCalloc(size_t numElements, size_t elementSize); -extern void *__glXRealloc(void *addr, size_t newSize); -extern void __glXFree(void *ptr); - -/* context helper routines */ -extern __GLXcontext *__glXLookupContextByTag(__GLXclientState*, GLXContextTag); -extern DrawablePtr __glXLookupDrawableByTag(__GLXclientState *cl, GLXContextTag tag); - - -#endif /* _glxcmds_h_ */ - +#ifndef _glxcmds_h_ +#define _glxcmds_h_ + +/* + * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) + * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice including the dates of first publication and + * either this permission notice or a reference to + * http://oss.sgi.com/projects/FreeB/ + * shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF + * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + * Except as contained in this notice, the name of Silicon Graphics, Inc. + * shall not be used in advertising or otherwise to promote the sale, use or + * other dealings in this Software without prior written authorization from + * Silicon Graphics, Inc. + */ + +extern void __glXNop(void); + +/* context helper routines */ +extern __GLXcontext *__glXLookupContextByTag(__GLXclientState*, GLXContextTag); +extern DrawablePtr __glXLookupDrawableByTag(__GLXclientState *cl, GLXContextTag tag); + + +#endif /* _glxcmds_h_ */ + diff --git a/xorg-server/hw/dmx/glxProxy/glxvendor.c b/xorg-server/hw/dmx/glxProxy/glxvendor.c index 02c8ad73d..26a9c92fb 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvendor.c +++ b/xorg-server/hw/dmx/glxProxy/glxvendor.c @@ -38,11 +38,6 @@ #include "dmxpixmap.h" #include "dmxfont.h" -#undef Xmalloc -#undef Xcalloc -#undef Xrealloc -#undef Xfree - #include "glxserver.h" #include "glxext.h" #include "g_disptab.h" diff --git a/xorg-server/hw/dmx/glxProxy/glxvisuals.c b/xorg-server/hw/dmx/glxProxy/glxvisuals.c index aaace39b6..ae5e86772 100644 --- a/xorg-server/hw/dmx/glxProxy/glxvisuals.c +++ b/xorg-server/hw/dmx/glxProxy/glxvisuals.c @@ -32,16 +32,8 @@ #include #endif -#include -#include "dmx.h" #include "glxserver.h" -#include "glxutil.h" -#include "dmx_glxvisuals.h" -#include - -static int numConfigs = 0; -static __GLXvisualConfig *visualConfigs = NULL; -static void **visualPrivates = NULL; +#include "glxvisuals.h" int glxVisualsMatch( __GLXvisualConfig *v1, __GLXvisualConfig *v2 ) { @@ -158,381 +150,3 @@ VisualPtr glxMatchVisual( ScreenPtr pScreen, VisualPtr pVisual, ScreenPtr pMatch return 0; } - -void glxSetVisualConfigs(int nconfigs, __GLXvisualConfig *configs, - void **privates) -{ - numConfigs = nconfigs; - visualConfigs = configs; - visualPrivates = privates; -} - -static int count_bits(unsigned int n) -{ - int bits = 0; - - while (n > 0) { - if (n & 1) bits++; - n >>= 1; - } - return bits; -} - -static VisualID FindClosestVisual( VisualPtr pVisual, int rootDepth, - DepthPtr pdepth, int ndepths, - VisualPtr pNewVisual, int numNewVisuals) -{ - int d, v; - VisualPtr vis; - - /* - * find the first visual with the same or deeper depth - * of the same class. - */ - for (d=0; d= rootDepth) { - for (v=0; vvid ) vis++; - - if (vis->class == pVisual->class) { - return pdepth[d].vids[v]; - } - } - } - } - - /* - * did not find any. - * try to look for the same class only. - */ - for (d=0; dvid ) vis++; - - if (vis->class == pVisual->class) { - return pdepth[d].vids[v]; - } - } - } - - /* - * if not found - just take the first visual - */ - return pdepth[0].vids[0]; -} - -Bool glxInitVisuals(int *nvisualp, VisualPtr *visualp, - VisualID *defaultVisp, - int ndepth, DepthPtr pdepth, - int rootDepth) -{ - int numRGBconfigs; - int numCIconfigs; - int numVisuals = *nvisualp; - int numNewVisuals; - int numNewConfigs; - VisualPtr pVisual = *visualp; - VisualPtr pVisualNew = NULL; - VisualID *orig_vid = NULL; - __GLXvisualConfig *glXVisualPtr = NULL; - __GLXvisualConfig *pNewVisualConfigs = NULL; - void **glXVisualPriv; - dmxGlxVisualPrivate **pNewVisualPriv; - int found_default; - int i, j, k; - int numGLXvis = 0; - GLint *isGLXvis; - - if (numConfigs > 0) - numNewConfigs = numConfigs; - else - return False; - - MAXSCREENSALLOC(__glXActiveScreens); - if (!__glXActiveScreens) - return False; - - /* Alloc space for the list of new GLX visuals */ - pNewVisualConfigs = (__GLXvisualConfig *) - __glXMalloc(numNewConfigs * sizeof(__GLXvisualConfig)); - if (!pNewVisualConfigs) { - return FALSE; - } - - /* Alloc space for the list of new GLX visual privates */ - pNewVisualPriv = (dmxGlxVisualPrivate **) __glXMalloc(numNewConfigs * sizeof(dmxGlxVisualPrivate *)); - if (!pNewVisualPriv) { - __glXFree(pNewVisualConfigs); - return FALSE; - } - - /* copy driver's visual config info */ - for (i = 0; i < numConfigs; i++) { - pNewVisualConfigs[i] = visualConfigs[i]; - pNewVisualPriv[i] = (dmxGlxVisualPrivate *)visualPrivates[i]; - } - -#if 1 - /* FIXME: This is a hack to workaround a hang in xtest caused by a - * mismatch between what the front end (i.e., DMX) server calculates - * for the visual configs and what the back-end servers have. - */ - { - int numTCRGBconfigs = 0; - int numDCRGBconfigs = 0; - - numRGBconfigs = 0; - numCIconfigs = 0; - - for (i = 0; i < numNewConfigs; i++) { - if (pNewVisualConfigs[i].rgba) { - if (pNewVisualConfigs[i].class == TrueColor) - numTCRGBconfigs++; - else - numDCRGBconfigs++; - numRGBconfigs++; - } else - numCIconfigs++; - } - - /* Count the total number of visuals to compute */ - numNewVisuals = 0; - for (i = 0; i < numVisuals; i++) { - numNewVisuals += - (pVisual[i].class == TrueColor) ? numTCRGBconfigs : - (pVisual[i].class == DirectColor) ? numDCRGBconfigs : - numCIconfigs; - } - } -#else - /* Count the number of RGB and CI visual configs */ - numRGBconfigs = 0; - numCIconfigs = 0; - for (i = 0; i < numNewConfigs; i++) { - if (pNewVisualConfigs[i].rgba) - numRGBconfigs++; - else - numCIconfigs++; - } - - /* Count the total number of visuals to compute */ - numNewVisuals = 0; - for (i = 0; i < numVisuals; i++) { - numNewVisuals += - (pVisual[i].class == TrueColor || pVisual[i].class == DirectColor) - ? numRGBconfigs : numCIconfigs; - } -#endif - - /* Reset variables for use with the next screen/driver's visual configs */ - visualConfigs = NULL; - numConfigs = 0; - - /* Alloc temp space for the list of orig VisualIDs for each new visual */ - orig_vid = (VisualID *)__glXMalloc(numNewVisuals * sizeof(VisualID)); - if (!orig_vid) { - __glXFree(pNewVisualPriv); - __glXFree(pNewVisualConfigs); - return FALSE; - } - - /* Alloc space for the list of glXVisuals */ - glXVisualPtr = (__GLXvisualConfig *)__glXMalloc(numNewVisuals * - sizeof(__GLXvisualConfig)); - if (!glXVisualPtr) { - __glXFree(orig_vid); - __glXFree(pNewVisualPriv); - __glXFree(pNewVisualConfigs); - return FALSE; - } - - /* Alloc space for the list of glXVisualPrivates */ - glXVisualPriv = (void **)__glXMalloc(numNewVisuals * sizeof(void *)); - if (!glXVisualPriv) { - __glXFree(glXVisualPtr); - __glXFree(orig_vid); - __glXFree(pNewVisualPriv); - __glXFree(pNewVisualConfigs); - return FALSE; - } - - /* Alloc space for the new list of the X server's visuals */ - pVisualNew = (VisualPtr)__glXMalloc(numNewVisuals * sizeof(VisualRec)); - if (!pVisualNew) { - __glXFree(glXVisualPriv); - __glXFree(glXVisualPtr); - __glXFree(orig_vid); - __glXFree(pNewVisualPriv); - __glXFree(pNewVisualConfigs); - return FALSE; - } - - isGLXvis = (GLint *) __glXMalloc(numNewVisuals * sizeof(GLint)); - if (!isGLXvis) { - __glXFree(glXVisualPriv); - __glXFree(glXVisualPtr); - __glXFree(orig_vid); - __glXFree(pNewVisualPriv); - __glXFree(pNewVisualConfigs); - __glXFree(pVisualNew); - return FALSE; - } - - /* Initialize the new visuals */ - found_default = FALSE; - for (i = j = 0; i < numVisuals; i++) { - - for (k = 0; k < numNewConfigs; k++) { - - int new_depth; - int depth; - int d,v; - - /* find the depth of the new visual config */ - new_depth = pNewVisualPriv[k]->x_visual_depth; - - /* find the depth of the original visual */ - depth = 0; - d = 0; - while( (depth==0) && (d < ndepth) ) { - v = 0; - while( (depth==0) && (v < pdepth[d].numVids) ) { - if (pdepth[d].vids[v] == pVisual[i].vid) { - depth = pdepth[d].depth; - } - v++; - } - d++; - } - - /* check that the visual has the same class and depth - * as the new config - */ - if ( pVisual[i].class != pNewVisualPriv[k]->x_visual_class || - (depth != new_depth) ) - continue; - - /* Initialize the new visual */ - pVisualNew[j] = pVisual[i]; - pVisualNew[j].vid = FakeClientID(0); - - /* Check for the default visual */ - if (!found_default && pVisual[i].vid == *defaultVisp) { - *defaultVisp = pVisualNew[j].vid; - found_default = TRUE; - } - - /* Save the old VisualID */ - orig_vid[j] = pVisual[i].vid; - - /* Initialize the glXVisual */ - glXVisualPtr[j] = pNewVisualConfigs[k]; - glXVisualPtr[j].vid = pVisualNew[j].vid; - - /* - * If the class is -1, then assume the X visual information - * is identical to what GLX needs, and take them from the X - * visual. NOTE: if class != -1, then all other fields MUST - * be initialized. - */ - if (glXVisualPtr[j].class == -1) { - glXVisualPtr[j].class = pVisual[i].class; - glXVisualPtr[j].redSize = count_bits(pVisual[i].redMask); - glXVisualPtr[j].greenSize = count_bits(pVisual[i].greenMask); - glXVisualPtr[j].blueSize = count_bits(pVisual[i].blueMask); - glXVisualPtr[j].alphaSize = glXVisualPtr[j].alphaSize; - glXVisualPtr[j].redMask = pVisual[i].redMask; - glXVisualPtr[j].greenMask = pVisual[i].greenMask; - glXVisualPtr[j].blueMask = pVisual[i].blueMask; - glXVisualPtr[j].alphaMask = glXVisualPtr[j].alphaMask; - glXVisualPtr[j].bufferSize = rootDepth; - } - - /* Save the device-dependent private for this visual */ - glXVisualPriv[j] = pNewVisualPriv[k]; - - isGLXvis[j] = glxMatchGLXVisualInConfigList( &glXVisualPtr[j], - dmxScreens[screenInfo.numScreens-1].glxVisuals, - dmxScreens[screenInfo.numScreens-1].numGlxVisuals ); - if (isGLXvis[j]) numGLXvis++; - - j++; - } - } - - assert(j <= numNewVisuals); - numNewVisuals = j; /* correct number of new visuals */ - - /* Save the GLX visuals in the screen structure */ - __glXActiveScreens[screenInfo.numScreens-1].numVisuals = numNewVisuals; - __glXActiveScreens[screenInfo.numScreens-1].numGLXVisuals = numGLXvis; - __glXActiveScreens[screenInfo.numScreens-1].isGLXvis = isGLXvis; - __glXActiveScreens[screenInfo.numScreens-1].pGlxVisual = glXVisualPtr; - - - /* Set up depth's VisualIDs */ - for (i = 0; i < ndepth; i++) { - int numVids = 0; - VisualID *pVids = NULL; - int k, n = 0; - - /* Count the new number of VisualIDs at this depth */ - for (j = 0; j < pdepth[i].numVids; j++) - for (k = 0; k < numNewVisuals; k++) - if (pdepth[i].vids[j] == orig_vid[k]) - numVids++; - - /* Allocate a new list of VisualIDs for this depth */ - pVids = (VisualID *)__glXMalloc(numVids * sizeof(VisualID)); - - /* Initialize the new list of VisualIDs for this depth */ - for (j = 0; j < pdepth[i].numVids; j++) - for (k = 0; k < numNewVisuals; k++) - if (pdepth[i].vids[j] == orig_vid[k]) - pVids[n++] = pVisualNew[k].vid; - - /* Update this depth's list of VisualIDs */ - __glXFree(pdepth[i].vids); - pdepth[i].vids = pVids; - pdepth[i].numVids = numVids; - } - - /* - * if the default visual was rejected - need to choose new - * default visual ! - */ - if ( !found_default ) { - - for (i=0; iCreateGC)(pGC); - VGAPut(); GC_WRAP(pGC); SCREEN_EPILOG(CreateGC,VGAarbiterCreateGC); @@ -1123,7 +1120,7 @@ void xf86VGAarbiterLock(ScrnInfoPtr pScrn) {} void xf86VGAarbiterUnlock(ScrnInfoPtr pScrn) {} Bool xf86VGAarbiterAllowDRI(ScreenPtr pScreen) { return TRUE; } void xf86VGAarbiterScrnInit(ScrnInfoPtr pScrn) {} -void xf86VGAarbiterDeviceDecodes(ScrnInfoPtr pScrn) {} +void xf86VGAarbiterDeviceDecodes(ScrnInfoPtr pScrn, int rsrc) {} Bool xf86VGAarbiterWrapFunctions(void) { return FALSE; } #endif diff --git a/xorg-server/hw/xfree86/loader/sdksyms.sh b/xorg-server/hw/xfree86/loader/sdksyms.sh index 6fce0ec2e..ca1474371 100644 --- a/xorg-server/hw/xfree86/loader/sdksyms.sh +++ b/xorg-server/hw/xfree86/loader/sdksyms.sh @@ -178,7 +178,6 @@ cat > sdksyms.c << EOF #include "xaa.h" #include "xaalocal.h" #include "xaarop.h" -#include "xaaWrapper.h" */ diff --git a/xorg-server/hw/xfree86/shadowfb/shadow.c b/xorg-server/hw/xfree86/shadowfb/shadow.c index 20e70d6ce..741d6a1b7 100644 --- a/xorg-server/hw/xfree86/shadowfb/shadow.c +++ b/xorg-server/hw/xfree86/shadowfb/shadow.c @@ -1730,6 +1730,5 @@ GCOps ShadowGCOps = { ShadowPolyText16, ShadowImageText8, ShadowImageText16, ShadowImageGlyphBlt, ShadowPolyGlyphBlt, ShadowPushPixels, - {NULL} /* devPrivate */ }; diff --git a/xorg-server/hw/xfree86/xaa/Makefile.am b/xorg-server/hw/xfree86/xaa/Makefile.am index e9f5e687c..ccba713a6 100644 --- a/xorg-server/hw/xfree86/xaa/Makefile.am +++ b/xorg-server/hw/xfree86/xaa/Makefile.am @@ -1,74 +1,74 @@ -LSB_FIRST = l-xaaBitmap.c l-xaaStipple.c l-xaaTEGlyph.c -LSB_3_FIRST = l3-xaaBitmap.c l3-xaaStipple.c -MSB_FIRST = m-xaaBitmap.c m-xaaStipple.c m-xaaTEGlyph.c -MSB_3_FIRST = m3-xaaBitmap.c m3-xaaStipple.c -LSB_FIXED = lf-xaaBitmap.c lf-xaaStipple.c lf-xaaTEGlyph.c -LSB_3_FIXED = lf3-xaaBitmap.c lf3-xaaStipple.c -MSB_FIXED = mf-xaaBitmap.c mf-xaaStipple.c mf-xaaTEGlyph.c -MSB_3_FIXED = mf3-xaaBitmap.c mf3-xaaStipple.c -POLYSEG = s-xaaLine.c s-xaaDashLine.c - -libxaa_la_LDFLAGS = -avoid-version -if COMPOSITE -libxaa_la_LIBADD = $(top_builddir)/miext/cw/libcw.la -endif - -module_LTLIBRARIES = libxaa.la -libxaa_la_SOURCES = xaaInit.c xaaGC.c xaaInitAccel.c xaaFallback.c \ - xaaBitBlt.c xaaCpyArea.c xaaGCmisc.c xaaCpyWin.c \ - xaaCpyPlane.c xaaFillRect.c xaaTEText.c xaaNonTEText.c \ - xaaPCache.c xaaSpans.c xaaROP.c xaaImage.c xaaWrapper.c \ - xaaRect.c xaaLineMisc.c xaaBitOrder.c \ - xaaFillPoly.c xaaWideLine.c xaaTables.c xaaFillArc.c \ - xaaLine.c xaaDashLine.c xaaOverlay.c xaaOffscreen.c \ - xaaOverlayDF.c xaaStateChange.c xaaPict.c $(POLYSEG) \ - $(LSB_FIRST) $(MSB_FIRST) $(LSB_FIXED) $(MSB_FIXED) \ - $(LSB_3_FIRST) $(MSB_3_FIRST) $(LSB_3_FIXED) $(MSB_3_FIXED) -${POLYSEG}: - echo "#define POLYSEGMENT" > $@ - echo '#include "$(srcdir)/${@:s-%=%}"' >> $@ -${LSB_FIRST}: - echo "#define LSBFIRST" > $@ - echo '#include "$(srcdir)/${@:l-%=%}"' >> $@ -${LSB_3_FIRST}: - echo "#define LSBFIRST" > $@ - echo "#define TRIPLE_BITS" >> $@ - echo '#include "$(srcdir)/${@:l3-%=%}"' >> $@ -${LSB_FIXED}: - echo "#define LSBFIRST" > $@ - echo "#define FIXEDBASE" >> $@ - echo '#include "$(srcdir)/${@:lf-%=%}"' >> $@ -${LSB_3_FIXED}: - echo "#define LSBFIRST" > $@ - echo "#define TRIPLE_BITS" >> $@ - echo "#define FIXEDBASE" >> $@ - echo '#include "$(srcdir)/${@:lf3-%=%}"' >> $@ -${MSB_FIRST}: - echo "#define MSBFIRST" > $@ - echo '#include "$(srcdir)/${@:m-%=%}"' >> $@ -${MSB_3_FIRST}: - echo "#define MSBFIRST" > $@ - echo "#define TRIPLE_BITS" >> $@ - echo '#include "$(srcdir)/${@:m3-%=%}"' >> $@ -${MSB_FIXED}: - echo "#define MSBFIRST" > $@ - echo "#define FIXEDBASE" >> $@ - echo '#include "$(srcdir)/${@:mf-%=%}"' >> $@ -${MSB_3_FIXED}: - echo "#define MSBFIRST" > $@ - echo "#define TRIPLE_BITS" >> $@ - echo "#define FIXEDBASE" >> $@ - echo '#include "$(srcdir)/${@:mf3-%=%}"' >> $@ - -DISTCLEANFILES = $(POLYSEG) \ - $(LSB_FIRST) $(LSB_FIXED) $(MSB_FIRST) $(MSB_FIXED) \ - $(LSB_3_FIRST) $(LSB_3_FIXED) $(MSB_3_FIRST) $(MSB_3_FIXED) - -sdk_HEADERS = xaa.h xaalocal.h xaarop.h xaaWrapper.h -EXTRA_DIST = xaacexp.h xaawrap.h xaaLine.c xaaDashLine.c \ - xaaStipple.c xaaTEGlyph.c xaaNonTEGlyph.c xaaBitmap.c \ - XAA.HOWTO - -INCLUDES = $(XORG_INCS) -I$(srcdir)/../../../miext/cw - -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) +LSB_FIRST = l-xaaBitmap.c l-xaaStipple.c l-xaaTEGlyph.c +LSB_3_FIRST = l3-xaaBitmap.c l3-xaaStipple.c +MSB_FIRST = m-xaaBitmap.c m-xaaStipple.c m-xaaTEGlyph.c +MSB_3_FIRST = m3-xaaBitmap.c m3-xaaStipple.c +LSB_FIXED = lf-xaaBitmap.c lf-xaaStipple.c lf-xaaTEGlyph.c +LSB_3_FIXED = lf3-xaaBitmap.c lf3-xaaStipple.c +MSB_FIXED = mf-xaaBitmap.c mf-xaaStipple.c mf-xaaTEGlyph.c +MSB_3_FIXED = mf3-xaaBitmap.c mf3-xaaStipple.c +POLYSEG = s-xaaLine.c s-xaaDashLine.c + +libxaa_la_LDFLAGS = -avoid-version +if COMPOSITE +libxaa_la_LIBADD = $(top_builddir)/miext/cw/libcw.la +endif + +module_LTLIBRARIES = libxaa.la +libxaa_la_SOURCES = xaaInit.c xaaGC.c xaaInitAccel.c xaaFallback.c \ + xaaBitBlt.c xaaCpyArea.c xaaGCmisc.c xaaCpyWin.c \ + xaaCpyPlane.c xaaFillRect.c xaaTEText.c xaaNonTEText.c \ + xaaPCache.c xaaSpans.c xaaROP.c xaaImage.c \ + xaaRect.c xaaLineMisc.c xaaBitOrder.c \ + xaaFillPoly.c xaaWideLine.c xaaTables.c xaaFillArc.c \ + xaaLine.c xaaDashLine.c xaaOverlay.c xaaOffscreen.c \ + xaaOverlayDF.c xaaStateChange.c xaaPict.c $(POLYSEG) \ + $(LSB_FIRST) $(MSB_FIRST) $(LSB_FIXED) $(MSB_FIXED) \ + $(LSB_3_FIRST) $(MSB_3_FIRST) $(LSB_3_FIXED) $(MSB_3_FIXED) +${POLYSEG}: + echo "#define POLYSEGMENT" > $@ + echo '#include "$(srcdir)/${@:s-%=%}"' >> $@ +${LSB_FIRST}: + echo "#define LSBFIRST" > $@ + echo '#include "$(srcdir)/${@:l-%=%}"' >> $@ +${LSB_3_FIRST}: + echo "#define LSBFIRST" > $@ + echo "#define TRIPLE_BITS" >> $@ + echo '#include "$(srcdir)/${@:l3-%=%}"' >> $@ +${LSB_FIXED}: + echo "#define LSBFIRST" > $@ + echo "#define FIXEDBASE" >> $@ + echo '#include "$(srcdir)/${@:lf-%=%}"' >> $@ +${LSB_3_FIXED}: + echo "#define LSBFIRST" > $@ + echo "#define TRIPLE_BITS" >> $@ + echo "#define FIXEDBASE" >> $@ + echo '#include "$(srcdir)/${@:lf3-%=%}"' >> $@ +${MSB_FIRST}: + echo "#define MSBFIRST" > $@ + echo '#include "$(srcdir)/${@:m-%=%}"' >> $@ +${MSB_3_FIRST}: + echo "#define MSBFIRST" > $@ + echo "#define TRIPLE_BITS" >> $@ + echo '#include "$(srcdir)/${@:m3-%=%}"' >> $@ +${MSB_FIXED}: + echo "#define MSBFIRST" > $@ + echo "#define FIXEDBASE" >> $@ + echo '#include "$(srcdir)/${@:mf-%=%}"' >> $@ +${MSB_3_FIXED}: + echo "#define MSBFIRST" > $@ + echo "#define TRIPLE_BITS" >> $@ + echo "#define FIXEDBASE" >> $@ + echo '#include "$(srcdir)/${@:mf3-%=%}"' >> $@ + +DISTCLEANFILES = $(POLYSEG) \ + $(LSB_FIRST) $(LSB_FIXED) $(MSB_FIRST) $(MSB_FIXED) \ + $(LSB_3_FIRST) $(LSB_3_FIXED) $(MSB_3_FIRST) $(MSB_3_FIXED) + +sdk_HEADERS = xaa.h xaalocal.h xaarop.h +EXTRA_DIST = xaacexp.h xaawrap.h xaaLine.c xaaDashLine.c \ + xaaStipple.c xaaTEGlyph.c xaaNonTEGlyph.c xaaBitmap.c \ + XAA.HOWTO + +INCLUDES = $(XORG_INCS) -I$(srcdir)/../../../miext/cw + +AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) diff --git a/xorg-server/hw/xfree86/xaa/xaaFallback.c b/xorg-server/hw/xfree86/xaa/xaaFallback.c index 7ab4031f8..744fd0a21 100644 --- a/xorg-server/hw/xfree86/xaa/xaaFallback.c +++ b/xorg-server/hw/xfree86/xaa/xaaFallback.c @@ -1,352 +1,351 @@ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include "misc.h" -#include "xf86.h" -#include "xf86_OSproc.h" - -#include -#include "scrnintstr.h" -#include "xf86str.h" -#include "xaa.h" -#include "xaalocal.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "xaawrap.h" - - - -static void -XAAFillSpansFallback( - DrawablePtr pDraw, - GC *pGC, - int nInit, - DDXPointPtr pptInit, - int *pwidthInit, - int fSorted ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAASetSpansFallback( - DrawablePtr pDraw, - GCPtr pGC, - char *pcharsrc, - register DDXPointPtr ppt, - int *pwidth, - int nspans, - int fSorted ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPutImageFallback( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, int y, int w, int h, - int leftPad, - int format, - char *pImage ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, - leftPad, format, pImage); - XAA_GC_OP_EPILOGUE(pGC); -} - -static RegionPtr -XAACopyAreaFallback( - DrawablePtr pSrc, - DrawablePtr pDst, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty ) -{ - RegionPtr ret; - - XAA_GC_OP_PROLOGUE(pGC); - if((pSrc->type == DRAWABLE_WINDOW) || (pDst->type == DRAWABLE_WINDOW) || - IS_OFFSCREEN_PIXMAP(pSrc) || IS_OFFSCREEN_PIXMAP(pDst)) { - SYNC_CHECK(pGC); - } - ret = (*pGC->ops->CopyArea)(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty); - XAA_GC_OP_EPILOGUE(pGC); - return ret; -} - -static RegionPtr -XAACopyPlaneFallback( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane ) -{ - RegionPtr ret; - - XAA_GC_OP_PROLOGUE(pGC); - if((pSrc->type == DRAWABLE_WINDOW) || (pDst->type == DRAWABLE_WINDOW) || - IS_OFFSCREEN_PIXMAP(pSrc) || IS_OFFSCREEN_PIXMAP(pDst)) { - SYNC_CHECK(pGC); - } - ret = (*pGC->ops->CopyPlane)(pSrc, pDst, - pGC, srcx, srcy, width, height, dstx, dsty, bitPlane); - XAA_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -XAAPolyPointFallback( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - xPoint *pptInit ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); - XAA_GC_OP_EPILOGUE(pGC); -} - - -static void -XAAPolylinesFallback( - DrawablePtr pDraw, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pptInit ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPolySegmentFallback( - DrawablePtr pDraw, - GCPtr pGC, - int nseg, - xSegment *pSeg ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPolyRectangleFallback( - DrawablePtr pDraw, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPolyArcFallback( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAFillPolygonFallback( - DrawablePtr pDraw, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); - XAA_GC_OP_EPILOGUE(pGC); -} - - -static void -XAAPolyFillRectFallback( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); - XAA_GC_OP_EPILOGUE(pGC); -} - - -static void -XAAPolyFillArcFallback( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); - XAA_GC_OP_EPILOGUE(pGC); -} - -static int -XAAPolyText8Fallback( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars ) -{ - int ret; - - XAA_GC_OP_PROLOGUE(pGC); - SYNC_CHECK(pGC); - ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); - XAA_GC_OP_EPILOGUE(pGC); - return ret; -} - -static int -XAAPolyText16Fallback( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars ) -{ - int ret; - - XAA_GC_OP_PROLOGUE(pGC); - SYNC_CHECK(pGC); - ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); - XAA_GC_OP_EPILOGUE(pGC); - return ret; -} - -static void -XAAImageText8Fallback( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - char *chars ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAImageText16Fallback( - DrawablePtr pDraw, - GCPtr pGC, - int x, - int y, - int count, - unsigned short *chars ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); - XAA_GC_OP_EPILOGUE(pGC); -} - - -static void -XAAImageGlyphBltFallback( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, ppci, pglyphBase); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPolyGlyphBltFallback( - DrawablePtr pDraw, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, ppci, pglyphBase); - XAA_GC_OP_EPILOGUE(pGC); -} - -static void -XAAPushPixelsFallback( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDraw, - int dx, int dy, int xOrg, int yOrg ) -{ - XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); - SYNC_CHECK(pGC); - (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); - XAA_GC_OP_EPILOGUE(pGC); -} - -GCOps XAAFallbackOps = { - XAAFillSpansFallback, XAASetSpansFallback, - XAAPutImageFallback, XAACopyAreaFallback, - XAACopyPlaneFallback, XAAPolyPointFallback, - XAAPolylinesFallback, XAAPolySegmentFallback, - XAAPolyRectangleFallback, XAAPolyArcFallback, - XAAFillPolygonFallback, XAAPolyFillRectFallback, - XAAPolyFillArcFallback, XAAPolyText8Fallback, - XAAPolyText16Fallback, XAAImageText8Fallback, - XAAImageText16Fallback, XAAImageGlyphBltFallback, - XAAPolyGlyphBltFallback, XAAPushPixelsFallback, - {NULL} /* devPrivate */ -}; - -GCOps *XAAGetFallbackOps(void) -{ - return &XAAFallbackOps; -} + +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include "misc.h" +#include "xf86.h" +#include "xf86_OSproc.h" + +#include +#include "scrnintstr.h" +#include "xf86str.h" +#include "xaa.h" +#include "xaalocal.h" +#include "gcstruct.h" +#include "pixmapstr.h" +#include "xaawrap.h" + + + +static void +XAAFillSpansFallback( + DrawablePtr pDraw, + GC *pGC, + int nInit, + DDXPointPtr pptInit, + int *pwidthInit, + int fSorted ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->FillSpans)(pDraw, pGC, nInit, pptInit, pwidthInit, fSorted); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAASetSpansFallback( + DrawablePtr pDraw, + GCPtr pGC, + char *pcharsrc, + register DDXPointPtr ppt, + int *pwidth, + int nspans, + int fSorted ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->SetSpans)(pDraw, pGC, pcharsrc, ppt, pwidth, nspans, fSorted); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPutImageFallback( + DrawablePtr pDraw, + GCPtr pGC, + int depth, + int x, int y, int w, int h, + int leftPad, + int format, + char *pImage ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PutImage)(pDraw, pGC, depth, x, y, w, h, + leftPad, format, pImage); + XAA_GC_OP_EPILOGUE(pGC); +} + +static RegionPtr +XAACopyAreaFallback( + DrawablePtr pSrc, + DrawablePtr pDst, + GC *pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty ) +{ + RegionPtr ret; + + XAA_GC_OP_PROLOGUE(pGC); + if((pSrc->type == DRAWABLE_WINDOW) || (pDst->type == DRAWABLE_WINDOW) || + IS_OFFSCREEN_PIXMAP(pSrc) || IS_OFFSCREEN_PIXMAP(pDst)) { + SYNC_CHECK(pGC); + } + ret = (*pGC->ops->CopyArea)(pSrc, pDst, + pGC, srcx, srcy, width, height, dstx, dsty); + XAA_GC_OP_EPILOGUE(pGC); + return ret; +} + +static RegionPtr +XAACopyPlaneFallback( + DrawablePtr pSrc, + DrawablePtr pDst, + GCPtr pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty, + unsigned long bitPlane ) +{ + RegionPtr ret; + + XAA_GC_OP_PROLOGUE(pGC); + if((pSrc->type == DRAWABLE_WINDOW) || (pDst->type == DRAWABLE_WINDOW) || + IS_OFFSCREEN_PIXMAP(pSrc) || IS_OFFSCREEN_PIXMAP(pDst)) { + SYNC_CHECK(pGC); + } + ret = (*pGC->ops->CopyPlane)(pSrc, pDst, + pGC, srcx, srcy, width, height, dstx, dsty, bitPlane); + XAA_GC_OP_EPILOGUE(pGC); + return ret; +} + +static void +XAAPolyPointFallback( + DrawablePtr pDraw, + GCPtr pGC, + int mode, + int npt, + xPoint *pptInit ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyPoint)(pDraw, pGC, mode, npt, pptInit); + XAA_GC_OP_EPILOGUE(pGC); +} + + +static void +XAAPolylinesFallback( + DrawablePtr pDraw, + GCPtr pGC, + int mode, + int npt, + DDXPointPtr pptInit ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPolySegmentFallback( + DrawablePtr pDraw, + GCPtr pGC, + int nseg, + xSegment *pSeg ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolySegment)(pDraw, pGC, nseg, pSeg); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPolyRectangleFallback( + DrawablePtr pDraw, + GCPtr pGC, + int nRectsInit, + xRectangle *pRectsInit ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyRectangle)(pDraw, pGC, nRectsInit, pRectsInit); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPolyArcFallback( + DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc *parcs ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyArc)(pDraw, pGC, narcs, parcs); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAFillPolygonFallback( + DrawablePtr pDraw, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->FillPolygon)(pDraw, pGC, shape, mode, count, ptsIn); + XAA_GC_OP_EPILOGUE(pGC); +} + + +static void +XAAPolyFillRectFallback( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyFillRect)(pDraw, pGC, nrectFill, prectInit); + XAA_GC_OP_EPILOGUE(pGC); +} + + +static void +XAAPolyFillArcFallback( + DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc *parcs ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyFillArc)(pDraw, pGC, narcs, parcs); + XAA_GC_OP_EPILOGUE(pGC); +} + +static int +XAAPolyText8Fallback( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + char *chars ) +{ + int ret; + + XAA_GC_OP_PROLOGUE(pGC); + SYNC_CHECK(pGC); + ret = (*pGC->ops->PolyText8)(pDraw, pGC, x, y, count, chars); + XAA_GC_OP_EPILOGUE(pGC); + return ret; +} + +static int +XAAPolyText16Fallback( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + unsigned short *chars ) +{ + int ret; + + XAA_GC_OP_PROLOGUE(pGC); + SYNC_CHECK(pGC); + ret = (*pGC->ops->PolyText16)(pDraw, pGC, x, y, count, chars); + XAA_GC_OP_EPILOGUE(pGC); + return ret; +} + +static void +XAAImageText8Fallback( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + char *chars ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->ImageText8)(pDraw, pGC, x, y, count, chars); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAImageText16Fallback( + DrawablePtr pDraw, + GCPtr pGC, + int x, + int y, + int count, + unsigned short *chars ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->ImageText16)(pDraw, pGC, x, y, count, chars); + XAA_GC_OP_EPILOGUE(pGC); +} + + +static void +XAAImageGlyphBltFallback( + DrawablePtr pDraw, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->ImageGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, ppci, pglyphBase); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPolyGlyphBltFallback( + DrawablePtr pDraw, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PolyGlyphBlt)(pDraw, pGC, xInit, yInit, nglyph, ppci, pglyphBase); + XAA_GC_OP_EPILOGUE(pGC); +} + +static void +XAAPushPixelsFallback( + GCPtr pGC, + PixmapPtr pBitMap, + DrawablePtr pDraw, + int dx, int dy, int xOrg, int yOrg ) +{ + XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC); + SYNC_CHECK(pGC); + (*pGC->ops->PushPixels)(pGC, pBitMap, pDraw, dx, dy, xOrg, yOrg); + XAA_GC_OP_EPILOGUE(pGC); +} + +GCOps XAAFallbackOps = { + XAAFillSpansFallback, XAASetSpansFallback, + XAAPutImageFallback, XAACopyAreaFallback, + XAACopyPlaneFallback, XAAPolyPointFallback, + XAAPolylinesFallback, XAAPolySegmentFallback, + XAAPolyRectangleFallback, XAAPolyArcFallback, + XAAFillPolygonFallback, XAAPolyFillRectFallback, + XAAPolyFillArcFallback, XAAPolyText8Fallback, + XAAPolyText16Fallback, XAAImageText8Fallback, + XAAImageText16Fallback, XAAImageGlyphBltFallback, + XAAPolyGlyphBltFallback, XAAPushPixelsFallback, +}; + +GCOps *XAAGetFallbackOps(void) +{ + return &XAAFallbackOps; +} diff --git a/xorg-server/hw/xfree86/xaa/xaaGC.c b/xorg-server/hw/xfree86/xaa/xaaGC.c index 4bd3750cb..f9c1070f9 100644 --- a/xorg-server/hw/xfree86/xaa/xaaGC.c +++ b/xorg-server/hw/xfree86/xaa/xaaGC.c @@ -48,11 +48,6 @@ XAACreateGC(GCPtr pGC) pGCPriv->wrapOps = NULL; pGCPriv->wrapFuncs = pGC->funcs; pGCPriv->XAAOps = &XAAFallbackOps; - pGCPriv->flags = 0; - pGCPriv->DashLength = 0; - pGCPriv->DashPattern = NULL; - pGCPriv->changes = 0; - /* initialize any other private fields here */ pGC->funcs = &XAAGCFuncs; } @@ -651,5 +646,4 @@ GCOps XAAPixmapOps = { XAAPolyText16Pixmap, XAAImageText8Pixmap, XAAImageText16Pixmap, XAAImageGlyphBltPixmap, XAAPolyGlyphBltPixmap, XAAPushPixelsPixmap, - {NULL} /* devPrivate */ }; diff --git a/xorg-server/hw/xfree86/xaa/xaaWrapper.c b/xorg-server/hw/xfree86/xaa/xaaWrapper.c deleted file mode 100644 index 09644c9ac..000000000 --- a/xorg-server/hw/xfree86/xaa/xaaWrapper.c +++ /dev/null @@ -1,477 +0,0 @@ -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "scrnintstr.h" -#include "gcstruct.h" -#include "glyphstr.h" -#include "window.h" -#include "windowstr.h" -#include "picture.h" -#include "picturestr.h" -#include "colormapst.h" -#include "xaa.h" -#include "xaalocal.h" -#include "xaaWrapper.h" - -void XAASync(ScreenPtr pScreen); - -/* #include "render.h" */ - -#if 1 -#define COND(pDraw) \ - ((pDraw)->depth \ - != (xaaWrapperGetScrPriv(((DrawablePtr)(pDraw))->pScreen))->depth) -#else -#define COND(pDraw) 1 -#endif - -static Bool xaaWrapperCreateGC(GCPtr pGC); -static void xaaWrapperValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDraw); -static void xaaWrapperDestroyGC(GCPtr pGC); -static void xaaWrapperChangeGC (GCPtr pGC, unsigned long mask); -static void xaaWrapperCopyGC (GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst); -static void xaaWrapperChangeClip (GCPtr pGC, int type, pointer pvalue, int nrects); - -static void xaaWrapperCopyClip(GCPtr pgcDst, GCPtr pgcSrc); -static void xaaWrapperDestroyClip(GCPtr pGC); - - -static void -xaaWrapperComposite (CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, - INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height); -static void -xaaWrapperGlyphs (CARD8 op, PicturePtr pSrc, PicturePtr pDst, - PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist, - GlyphListPtr list, GlyphPtr *glyphs); - - -typedef struct { - CloseScreenProcPtr CloseScreen; - CreateScreenResourcesProcPtr CreateScreenResources; - CreateWindowProcPtr CreateWindow; - CopyWindowProcPtr CopyWindow; - WindowExposuresProcPtr WindowExposures; - CreateGCProcPtr CreateGC; - CreateColormapProcPtr CreateColormap; - DestroyColormapProcPtr DestroyColormap; - InstallColormapProcPtr InstallColormap; - UninstallColormapProcPtr UninstallColormap; - ListInstalledColormapsProcPtr ListInstalledColormaps; - StoreColorsProcPtr StoreColors; - CompositeProcPtr Composite; - GlyphsProcPtr Glyphs; - - CloseScreenProcPtr wrapCloseScreen; - CreateScreenResourcesProcPtr wrapCreateScreenResources; - CreateWindowProcPtr wrapCreateWindow; - CopyWindowProcPtr wrapCopyWindow; - WindowExposuresProcPtr wrapWindowExposures; - CreateGCProcPtr wrapCreateGC; - CreateColormapProcPtr wrapCreateColormap; - DestroyColormapProcPtr wrapDestroyColormap; - InstallColormapProcPtr wrapInstallColormap; - UninstallColormapProcPtr wrapUninstallColormap; - ListInstalledColormapsProcPtr wrapListInstalledColormaps; - StoreColorsProcPtr wrapStoreColors; - CompositeProcPtr wrapComposite; - GlyphsProcPtr wrapGlyphs; - int depth; -} xaaWrapperScrPrivRec, *xaaWrapperScrPrivPtr; - -#define xaaWrapperGetScrPriv(s) ((xaaWrapperScrPrivPtr) \ - dixLookupPrivate(&(s)->devPrivates, xaaWrapperScrPrivateKey)) -#define xaaWrapperScrPriv(s) xaaWrapperScrPrivPtr pScrPriv = xaaWrapperGetScrPriv(s) - -#define wrap(priv,real,mem,func) {\ - priv->mem = real->mem; \ - real->mem = func; \ -} - -#define unwrap(priv,real,mem) {\ - real->mem = priv->mem; \ -} - -#define cond_wrap(priv,cond,real,mem,wrapmem,func) {\ - if (COND(cond)) \ - priv->wrapmem = real->mem; \ - else \ - priv->mem = real->mem; \ - real->mem = func; \ -} - -#define cond_unwrap(priv,cond,real,mem,wrapmem) {\ - if (COND(cond)) \ - real->mem = priv->wrapmem; \ - else \ - real->mem = priv->mem; \ -} - -#define get(priv,real,func,wrap) \ - priv->wrap = real->func; - -typedef struct _xaaWrapperGCPriv { - GCOps *ops; - Bool wrap; - GCFuncs *funcs; - GCOps *wrapops; -} xaaWrapperGCPrivRec, *xaaWrapperGCPrivPtr; - -#define xaaWrapperGetGCPriv(pGC) ((xaaWrapperGCPrivPtr) \ - dixLookupPrivate(&(pGC)->devPrivates, xaaWrapperGCPrivateKey)) -#define xaaWrapperGCPriv(pGC) xaaWrapperGCPrivPtr pGCPriv = xaaWrapperGetGCPriv(pGC) - - -static DevPrivateKeyRec xaaWrapperScrPrivateKeyRec; -#define xaaWrapperScrPrivateKey (&xaaWrapperScrPrivateKeyRec) -static DevPrivateKeyRec xaaWrapperGCPrivateKeyRec; -#define xaaWrapperGCPrivateKey (&xaaWrapperGCPrivateKeyRec) - -static Bool -xaaWrapperCreateScreenResources(ScreenPtr pScreen) -{ - xaaWrapperScrPriv(pScreen); - Bool ret; - - unwrap (pScrPriv,pScreen, CreateScreenResources); - ret = pScreen->CreateScreenResources(pScreen); - wrap(pScrPriv,pScreen,CreateScreenResources,xaaWrapperCreateScreenResources); - return ret; -} - -static Bool -xaaWrapperCloseScreen (int iScreen, ScreenPtr pScreen) -{ - xaaWrapperScrPriv(pScreen); - Bool ret; - - unwrap (pScrPriv,pScreen, CloseScreen); - ret = pScreen->CloseScreen(iScreen,pScreen); - return TRUE; -} - -static Bool -xaaWrapperCreateWindow(WindowPtr pWin) -{ - xaaWrapperScrPriv(pWin->drawable.pScreen); - Bool ret; - - cond_unwrap(pScrPriv, &pWin->drawable, pWin->drawable.pScreen, - CreateWindow, wrapCreateWindow); - ret = pWin->drawable.pScreen->CreateWindow(pWin); - cond_wrap(pScrPriv, &pWin->drawable, pWin->drawable.pScreen, CreateWindow, - wrapCreateWindow, xaaWrapperCreateWindow); - - return ret; -} - -static void -xaaWrapperCopyWindow(WindowPtr pWin, - DDXPointRec ptOldOrg, - RegionPtr prgnSrc) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - xaaWrapperScrPriv(pScreen); - - unwrap (pScrPriv, pScreen, CopyWindow); -#if 0 - if (COND(&pWin->drawable)) - pWin->drawable.pScreen->CopyWindow = pScrPriv->wrapCopyWindow; -#endif - pScreen->CopyWindow(pWin, ptOldOrg, prgnSrc); - wrap(pScrPriv, pScreen, CopyWindow, xaaWrapperCopyWindow); -} - -static void -xaaWrapperWindowExposures (WindowPtr pWin, - RegionPtr prgn, - RegionPtr other_exposed) -{ - xaaWrapperScrPriv(pWin->drawable.pScreen); - - cond_unwrap(pScrPriv, &pWin->drawable, pWin->drawable.pScreen, - WindowExposures, wrapWindowExposures); - pWin->drawable.pScreen->WindowExposures(pWin, prgn, other_exposed); - cond_wrap(pScrPriv, &pWin->drawable, pWin->drawable.pScreen, - WindowExposures, wrapWindowExposures, xaaWrapperWindowExposures); -} - -static Bool -xaaWrapperCreateColormap(ColormapPtr pmap) -{ - xaaWrapperScrPriv(pmap->pScreen); - Bool ret; - unwrap(pScrPriv,pmap->pScreen, CreateColormap); - ret = pmap->pScreen->CreateColormap(pmap); - wrap(pScrPriv,pmap->pScreen,CreateColormap,xaaWrapperCreateColormap); - - return ret; -} - -static void -xaaWrapperDestroyColormap(ColormapPtr pmap) -{ - xaaWrapperScrPriv(pmap->pScreen); - unwrap(pScrPriv,pmap->pScreen, DestroyColormap); - pmap->pScreen->DestroyColormap(pmap); - wrap(pScrPriv,pmap->pScreen,DestroyColormap,xaaWrapperDestroyColormap); -} - -static void -xaaWrapperStoreColors(ColormapPtr pmap, int nColors, xColorItem *pColors) -{ - xaaWrapperScrPriv(pmap->pScreen); - unwrap(pScrPriv,pmap->pScreen, StoreColors); - pmap->pScreen->StoreColors(pmap,nColors,pColors); - wrap(pScrPriv,pmap->pScreen,StoreColors,xaaWrapperStoreColors); -} - -static void -xaaWrapperInstallColormap(ColormapPtr pmap) -{ - xaaWrapperScrPriv(pmap->pScreen); - - unwrap(pScrPriv,pmap->pScreen, InstallColormap); - pmap->pScreen->InstallColormap(pmap); - wrap(pScrPriv,pmap->pScreen,InstallColormap,xaaWrapperInstallColormap); -} - -static void -xaaWrapperUninstallColormap(ColormapPtr pmap) -{ - xaaWrapperScrPriv(pmap->pScreen); - - unwrap(pScrPriv,pmap->pScreen, UninstallColormap); - pmap->pScreen->UninstallColormap(pmap); - wrap(pScrPriv,pmap->pScreen,UninstallColormap,xaaWrapperUninstallColormap); -} - -static int -xaaWrapperListInstalledColormaps(ScreenPtr pScreen, Colormap *pCmapIds) -{ - int n; - xaaWrapperScrPriv(pScreen); - - unwrap(pScrPriv,pScreen, ListInstalledColormaps); - n = pScreen->ListInstalledColormaps(pScreen, pCmapIds); - wrap (pScrPriv,pScreen,ListInstalledColormaps,xaaWrapperListInstalledColormaps); - return n; -} - -Bool -xaaSetupWrapper(ScreenPtr pScreen, XAAInfoRecPtr infoPtr, int depth, SyncFunc *func) -{ - Bool ret; - xaaWrapperScrPrivPtr pScrPriv; - PictureScreenPtr ps = GetPictureScreenIfSet(pScreen); - - if (!dixRegisterPrivateKey(&xaaWrapperGCPrivateKeyRec, PRIVATE_GC, sizeof(xaaWrapperGCPrivRec))) - return FALSE; - - if (!dixRegisterPrivateKey(&xaaWrapperScrPrivateKeyRec, PRIVATE_SCREEN, 0)) - return FALSE; - - pScrPriv = (xaaWrapperScrPrivPtr) malloc(sizeof (xaaWrapperScrPrivRec)); - if (!pScrPriv) - return FALSE; - - get (pScrPriv, pScreen, CloseScreen, wrapCloseScreen); - get (pScrPriv, pScreen, CreateScreenResources, wrapCreateScreenResources); - get (pScrPriv, pScreen, CreateWindow, wrapCreateWindow); - get (pScrPriv, pScreen, CopyWindow, wrapCopyWindow); - get (pScrPriv, pScreen, WindowExposures, wrapWindowExposures); - get (pScrPriv, pScreen, CreateGC, wrapCreateGC); - get (pScrPriv, pScreen, CreateColormap, wrapCreateColormap); - get (pScrPriv, pScreen, DestroyColormap, wrapDestroyColormap); - get (pScrPriv, pScreen, InstallColormap, wrapInstallColormap); - get (pScrPriv, pScreen, UninstallColormap, wrapUninstallColormap); - get (pScrPriv, pScreen, ListInstalledColormaps, wrapListInstalledColormaps); - get (pScrPriv, pScreen, StoreColors, wrapStoreColors); - if (ps) { - get (pScrPriv, ps, Glyphs, wrapGlyphs); - get (pScrPriv, ps, Composite, wrapComposite); - } - if (!(ret = XAAInit(pScreen,infoPtr))) - return FALSE; - - wrap (pScrPriv, pScreen, CloseScreen, xaaWrapperCloseScreen); - wrap (pScrPriv, pScreen, CreateScreenResources, - xaaWrapperCreateScreenResources); - wrap (pScrPriv, pScreen, CreateWindow, xaaWrapperCreateWindow); - wrap (pScrPriv, pScreen, CopyWindow, xaaWrapperCopyWindow); - wrap (pScrPriv, pScreen, WindowExposures, xaaWrapperWindowExposures); - wrap (pScrPriv, pScreen, CreateGC, xaaWrapperCreateGC); - wrap (pScrPriv, pScreen, CreateColormap, xaaWrapperCreateColormap); - wrap (pScrPriv, pScreen, DestroyColormap, xaaWrapperDestroyColormap); - wrap (pScrPriv, pScreen, InstallColormap, xaaWrapperInstallColormap); - wrap (pScrPriv, pScreen, UninstallColormap, xaaWrapperUninstallColormap); - wrap (pScrPriv, pScreen, ListInstalledColormaps, - xaaWrapperListInstalledColormaps); - wrap (pScrPriv, pScreen, StoreColors, xaaWrapperStoreColors); - - if (ps) { - wrap (pScrPriv, ps, Glyphs, xaaWrapperGlyphs); - wrap (pScrPriv, ps, Composite, xaaWrapperComposite); - } - pScrPriv->depth = depth; - dixSetPrivate(&pScreen->devPrivates, xaaWrapperScrPrivateKey, pScrPriv); - - *func = XAASync; - - return ret; -} - -GCFuncs xaaWrapperGCFuncs = { - xaaWrapperValidateGC, xaaWrapperChangeGC, xaaWrapperCopyGC, - xaaWrapperDestroyGC, xaaWrapperChangeClip, xaaWrapperDestroyClip, - xaaWrapperCopyClip -}; - -#define XAAWRAPPER_GC_FUNC_PROLOGUE(pGC) \ - xaaWrapperGCPriv(pGC); \ - unwrap(pGCPriv, pGC, funcs); \ - if (pGCPriv->wrap) unwrap(pGCPriv, pGC, ops) - -#define XAAWRAPPER_GC_FUNC_EPILOGUE(pGC) \ - wrap(pGCPriv, pGC, funcs, &xaaWrapperGCFuncs); \ - if (pGCPriv->wrap) wrap(pGCPriv, pGC, ops, pGCPriv->wrapops) - -static Bool -xaaWrapperCreateGC(GCPtr pGC) -{ - ScreenPtr pScreen = pGC->pScreen; - xaaWrapperScrPriv(pScreen); - xaaWrapperGCPriv(pGC); - Bool ret; - - unwrap (pScrPriv, pScreen, CreateGC); - if((ret = (*pScreen->CreateGC) (pGC))) { - pGCPriv->wrap = FALSE; - pGCPriv->funcs = pGC->funcs; - pGCPriv->wrapops = pGC->ops; - pGC->funcs = &xaaWrapperGCFuncs; - } - wrap (pScrPriv, pScreen, CreateGC, xaaWrapperCreateGC); - - return ret; -} - -static void -xaaWrapperValidateGC( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDraw -){ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->ValidateGC)(pGC, changes, pDraw); - - if(COND(pDraw)) - pGCPriv->wrap = TRUE; - - XAAWRAPPER_GC_FUNC_EPILOGUE (pGC); -} - -static void -xaaWrapperDestroyGC(GCPtr pGC) -{ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->DestroyGC)(pGC); - XAAWRAPPER_GC_FUNC_EPILOGUE (pGC); -} - -static void -xaaWrapperChangeGC ( - GCPtr pGC, - unsigned long mask -){ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->ChangeGC) (pGC, mask); - XAAWRAPPER_GC_FUNC_EPILOGUE (pGC); -} - -static void -xaaWrapperCopyGC ( - GCPtr pGCSrc, - unsigned long mask, - GCPtr pGCDst -){ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGCDst); - (*pGCDst->funcs->CopyGC) (pGCSrc, mask, pGCDst); - XAAWRAPPER_GC_FUNC_EPILOGUE (pGCDst); -} - -static void -xaaWrapperChangeClip ( - GCPtr pGC, - int type, - pointer pvalue, - int nrects -){ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGC); - (*pGC->funcs->ChangeClip) (pGC, type, pvalue, nrects); - XAAWRAPPER_GC_FUNC_EPILOGUE (pGC); -} - -static void -xaaWrapperCopyClip(GCPtr pgcDst, GCPtr pgcSrc) -{ - XAAWRAPPER_GC_FUNC_PROLOGUE (pgcDst); - (* pgcDst->funcs->CopyClip)(pgcDst, pgcSrc); - XAAWRAPPER_GC_FUNC_EPILOGUE (pgcDst); -} - -static void -xaaWrapperDestroyClip(GCPtr pGC) -{ - XAAWRAPPER_GC_FUNC_PROLOGUE (pGC); - (* pGC->funcs->DestroyClip)(pGC); - XAAWRAPPER_GC_FUNC_EPILOGUE (pGC); -} - -static void -xaaWrapperComposite (CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, - INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - xaaWrapperScrPriv(pScreen); - - unwrap (pScrPriv, ps, Composite); - (*ps->Composite) (op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, - xDst, yDst, width, height); - wrap (pScrPriv, ps, Composite, xaaWrapperComposite); -} - - -static void -xaaWrapperGlyphs (CARD8 op, PicturePtr pSrc, PicturePtr pDst, - PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, int nlist, - GlyphListPtr list, GlyphPtr *glyphs) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - xaaWrapperScrPriv(pScreen); - - unwrap (pScrPriv, ps, Glyphs); - (*ps->Glyphs) (op, pSrc, pDst, maskFormat, xSrc, ySrc, - nlist, list, glyphs); - wrap (pScrPriv, ps, Glyphs, xaaWrapperGlyphs); - -} - -void -XAASync(ScreenPtr pScreen) -{ - XAAScreenPtr pScreenPriv = (XAAScreenPtr) - dixLookupPrivate(&pScreen->devPrivates, XAAGetScreenKey()); - XAAInfoRecPtr infoRec = pScreenPriv->AccelInfoRec; - - if(infoRec->NeedToSync) { - (*infoRec->Sync)(infoRec->pScrn); - infoRec->NeedToSync = FALSE; - } -} diff --git a/xorg-server/hw/xfree86/xaa/xaaWrapper.h b/xorg-server/hw/xfree86/xaa/xaaWrapper.h deleted file mode 100644 index f554741c6..000000000 --- a/xorg-server/hw/xfree86/xaa/xaaWrapper.h +++ /dev/null @@ -1,10 +0,0 @@ - -#ifndef _XAA_WRAPPER_H -# define _XAA_WRAPPER_H - -typedef void (*SyncFunc)(ScreenPtr); - -extern _X_EXPORT Bool xaaSetupWrapper(ScreenPtr pScreen, - XAAInfoRecPtr infoPtr, int depth, SyncFunc *func); - -#endif diff --git a/xorg-server/hw/xnest/Color.c b/xorg-server/hw/xnest/Color.c index bb215fc45..2548f9495 100644 --- a/xorg-server/hw/xnest/Color.c +++ b/xorg-server/hw/xnest/Color.c @@ -34,6 +34,8 @@ is" without express or implied warranty. #include "XNWindow.h" #include "Args.h" +DevPrivateKeyRec xnestColormapPrivateKeyRec; + static DevPrivateKeyRec cmapScrPrivateKeyRec; #define cmapScrPrivateKey (&cmapScrPrivateKeyRec) @@ -52,8 +54,6 @@ xnestCreateColormap(ColormapPtr pCmap) pVisual = pCmap->pVisual; ncolors = pVisual->ColormapEntries; - pCmap->devPriv = (pointer)malloc(sizeof(xnestPrivColormap)); - xnestColormapPriv(pCmap)->colormap = XCreateColormap(xnestDisplay, xnestDefaultWindows[pCmap->pScreen->myNum], @@ -130,7 +130,6 @@ void xnestDestroyColormap(ColormapPtr pCmap) { XFreeColormap(xnestDisplay, xnestColormap(pCmap)); - free(pCmap->devPriv); } #define SEARCH_PREDICATE \ diff --git a/xorg-server/hw/xnest/Color.h b/xorg-server/hw/xnest/Color.h index f00bde47f..3c75fef2f 100644 --- a/xorg-server/hw/xnest/Color.h +++ b/xorg-server/hw/xnest/Color.h @@ -1,56 +1,57 @@ -/* - -Copyright 1993 by Davor Matic - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation. Davor Matic makes no representations about -the suitability of this software for any purpose. It is provided "as -is" without express or implied warranty. - -*/ - -#ifndef XNESTCOLOR_H -#define XNESTCOLOR_H - -#define DUMB_WINDOW_MANAGERS - -#define MAXCMAPS 1 -#define MINCMAPS 1 - -typedef struct { - Colormap colormap; -} xnestPrivColormap; - -typedef struct { - int numCmapIDs; - Colormap *cmapIDs; - int numWindows; - Window *windows; - int index; -} xnestInstalledColormapWindows; - -#define xnestColormapPriv(pCmap) \ - ((xnestPrivColormap *)((pCmap)->devPriv)) - -#define xnestColormap(pCmap) (xnestColormapPriv(pCmap)->colormap) - -#define xnestPixel(pixel) (pixel) - -Bool xnestCreateColormap(ColormapPtr pCmap); -void xnestDestroyColormap(ColormapPtr pCmap); -void xnestSetInstalledColormapWindows(ScreenPtr pScreen); -void xnestSetScreenSaverColormapWindow(ScreenPtr pScreen); -void xnestDirectInstallColormaps(ScreenPtr pScreen); -void xnestDirectUninstallColormaps(ScreenPtr pScreen); -void xnestInstallColormap(ColormapPtr pCmap); -void xnestUninstallColormap(ColormapPtr pCmap); -int xnestListInstalledColormaps(ScreenPtr pScreen, Colormap *pCmapIDs); -void xnestStoreColors(ColormapPtr pCmap, int nColors, xColorItem *pColors); -void xnestResolveColor(unsigned short *pRed, unsigned short *pGreen, - unsigned short *pBlue, VisualPtr pVisual); -Bool xnestCreateDefaultColormap(ScreenPtr pScreen); - -#endif /* XNESTCOLOR_H */ +/* + +Copyright 1993 by Davor Matic + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. Davor Matic makes no representations about +the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +*/ + +#ifndef XNESTCOLOR_H +#define XNESTCOLOR_H + +#define DUMB_WINDOW_MANAGERS + +#define MAXCMAPS 1 +#define MINCMAPS 1 + +typedef struct { + Colormap colormap; +} xnestPrivColormap; + +typedef struct { + int numCmapIDs; + Colormap *cmapIDs; + int numWindows; + Window *windows; + int index; +} xnestInstalledColormapWindows; + +extern DevPrivateKeyRec xnestColormapPrivateKeyRec; +#define xnestColormapPriv(pCmap) \ + ((xnestPrivColormap *) dixLookupPrivate(&(pCmap)->devPrivates, &xnestColormapPrivateKeyRec)) + +#define xnestColormap(pCmap) (xnestColormapPriv(pCmap)->colormap) + +#define xnestPixel(pixel) (pixel) + +Bool xnestCreateColormap(ColormapPtr pCmap); +void xnestDestroyColormap(ColormapPtr pCmap); +void xnestSetInstalledColormapWindows(ScreenPtr pScreen); +void xnestSetScreenSaverColormapWindow(ScreenPtr pScreen); +void xnestDirectInstallColormaps(ScreenPtr pScreen); +void xnestDirectUninstallColormaps(ScreenPtr pScreen); +void xnestInstallColormap(ColormapPtr pCmap); +void xnestUninstallColormap(ColormapPtr pCmap); +int xnestListInstalledColormaps(ScreenPtr pScreen, Colormap *pCmapIDs); +void xnestStoreColors(ColormapPtr pCmap, int nColors, xColorItem *pColors); +void xnestResolveColor(unsigned short *pRed, unsigned short *pGreen, + unsigned short *pBlue, VisualPtr pVisual); +Bool xnestCreateDefaultColormap(ScreenPtr pScreen); + +#endif /* XNESTCOLOR_H */ diff --git a/xorg-server/hw/xnest/GC.c b/xorg-server/hw/xnest/GC.c index 3c0074cc9..0aaef6904 100644 --- a/xorg-server/hw/xnest/GC.c +++ b/xorg-server/hw/xnest/GC.c @@ -73,9 +73,6 @@ static GCOps xnestOps = { Bool xnestCreateGC(GCPtr pGC) { - pGC->clientClipType = CT_NONE; - pGC->clientClip = NULL; - pGC->funcs = &xnestFuncs; pGC->ops = &xnestOps; @@ -92,8 +89,6 @@ xnestCreateGC(GCPtr pGC) void xnestValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) { - pGC->lastWinOrg.x = pDrawable->x; - pGC->lastWinOrg.y = pDrawable->y; } void diff --git a/xorg-server/hw/xnest/Screen.c b/xorg-server/hw/xnest/Screen.c index cf225d0ab..f4e5cbd0a 100644 --- a/xorg-server/hw/xnest/Screen.c +++ b/xorg-server/hw/xnest/Screen.c @@ -151,6 +151,8 @@ xnestOpenScreen(int index, ScreenPtr pScreen, int argc, char *argv[]) return FALSE; if (!dixRegisterPrivateKey(&xnestPixmapPrivateKeyRec, PRIVATE_PIXMAP, sizeof (xnestPrivPixmap))) return FALSE; + if (!dixRegisterPrivateKey(&xnestColormapPrivateKeyRec, PRIVATE_COLORMAP, sizeof (xnestPrivColormap))) + return FALSE; if (!dixRegisterPrivateKey(&xnestCursorScreenKeyRec, PRIVATE_SCREEN, 0)) return FALSE; diff --git a/xorg-server/hw/xquartz/xpr/driWrap.c b/xorg-server/hw/xquartz/xpr/driWrap.c index 37cb8cf5a..c38761555 100644 --- a/xorg-server/hw/xquartz/xpr/driWrap.c +++ b/xorg-server/hw/xquartz/xpr/driWrap.c @@ -41,7 +41,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. typedef struct { GCOps *originalOps; - GCOps *driOps; } DRIGCRec; typedef struct { @@ -86,9 +85,7 @@ DRIUnwrapGC(GCPtr pGC) { static void DRIWrapGC(GCPtr pGC) { - DRIGCRec *pGCPriv = DRIGetGCPriv(pGC); - - pGC->ops = pGCPriv->driOps; + pGC->ops = &driGCOps; } static void @@ -513,7 +510,6 @@ DRICreateGC(GCPtr pGC) { if(ret) { pGCPriv->originalOps = pGC->ops; pGC->ops = &driGCOps; - pGCPriv->driOps = &driGCOps; } wrap(pScreenPriv, pScreen, CreateGC, DRICreateGC); diff --git a/xorg-server/hw/xquartz/xpr/xprFrame.c b/xorg-server/hw/xquartz/xpr/xprFrame.c index 5a40cbf41..121f1de3d 100644 --- a/xorg-server/hw/xquartz/xpr/xprFrame.c +++ b/xorg-server/hw/xquartz/xpr/xprFrame.c @@ -463,8 +463,6 @@ static RootlessFrameProcsRec xprRootlessProcs = { xprHideWindow, xprUpdateColormap, xp_copy_bytes, - xp_fill_bytes, - xp_composite_pixels, xprCopyWindow }; @@ -480,8 +478,6 @@ xprInit(ScreenPtr pScreen) TA_SERVER(); rootless_CopyBytes_threshold = xp_copy_bytes_threshold; - rootless_FillBytes_threshold = xp_fill_bytes_threshold; - rootless_CompositePixels_threshold = xp_composite_area_threshold; rootless_CopyWindow_threshold = xp_scroll_area_threshold; return TRUE; diff --git a/xorg-server/hw/xquartz/xpr/xprScreen.c b/xorg-server/hw/xquartz/xpr/xprScreen.c index d4fef8e0a..260bfee89 100644 --- a/xorg-server/hw/xquartz/xpr/xprScreen.c +++ b/xorg-server/hw/xquartz/xpr/xprScreen.c @@ -367,12 +367,6 @@ xprAddScreen(int index, ScreenPtr pScreen) static Bool xprSetupScreen(int index, ScreenPtr pScreen) { - // Initialize accelerated rootless drawing - // Note that this must be done before DamageSetup(). - - // These are crashing ugly... better to be stable and not crash for now. - //RootlessAccelInit(pScreen); - #ifdef DAMAGE // The Damage extension needs to wrap underneath the // generic rootless layer, so do it now. diff --git a/xorg-server/hw/xwin/win.h b/xorg-server/hw/xwin/win.h index 85104090e..5cc4dbc69 100644 --- a/xorg-server/hw/xwin/win.h +++ b/xorg-server/hw/xwin/win.h @@ -1376,16 +1376,6 @@ winMWExtWMCopyBytes (unsigned int width, unsigned int height, const void *src, unsigned int srcRowBytes, void *dst, unsigned int dstRowBytes); -void -winMWExtWMFillBytes (unsigned int width, unsigned int height, unsigned int value, - void *dst, unsigned int dstRowBytes); - -int -winMWExtWMCompositePixels (unsigned int width, unsigned int height, unsigned int function, - void *src[2], unsigned int srcRowBytes[2], - void *mask, unsigned int maskRowBytes, - void *dst[2], unsigned int dstRowBytes[2]); - void winMWExtWMCopyWindow (RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, int dx, int dy); diff --git a/xorg-server/hw/xwin/wingc.c b/xorg-server/hw/xwin/wingc.c index 7f26ea1d4..a131264b9 100644 --- a/xorg-server/hw/xwin/wingc.c +++ b/xorg-server/hw/xwin/wingc.c @@ -137,11 +137,6 @@ winCreateGCNativeGDI (GCPtr pGC) pGC->depth); #endif - pGC->clientClip = NULL; - pGC->clientClipType = CT_NONE; - pGC->freeCompClip = FALSE; - pGC->pCompositeClip = 0; - pGC->ops = (GCOps *) &winGCOps; pGC->funcs = (GCFuncs *) &winGCFuncs; diff --git a/xorg-server/hw/xwin/winscrinit.c b/xorg-server/hw/xwin/winscrinit.c index 179eff8d0..03d7c6014 100644 --- a/xorg-server/hw/xwin/winscrinit.c +++ b/xorg-server/hw/xwin/winscrinit.c @@ -54,17 +54,13 @@ winMWExtWMProcs = { winMWExtWMStartDrawing, winMWExtWMStopDrawing, winMWExtWMUpdateRegion, -#ifndef ROOTLESS_TRACK_DAMAGE winMWExtWMDamageRects, -#endif winMWExtWMRootlessSwitchWindow, NULL,//winMWExtWMDoReorderWindow, NULL,//winMWExtWMHideWindow, NULL,//winMWExtWMUpdateColorMap, NULL,//winMWExtWMCopyBytes, - NULL,//winMWExtWMFillBytes, - NULL,//winMWExtWMCompositePixels, winMWExtWMCopyWindow }; #endif @@ -465,8 +461,6 @@ winFinishScreenInitFB (int index, winDebug ("winScreenInit - MultiWindowExtWM - RootlessInit returned\n"); rootless_CopyBytes_threshold = 0; - rootless_FillBytes_threshold = 0; - rootless_CompositePixels_threshold = 0; /* FIXME: How many? Profiling needed? */ rootless_CopyWindow_threshold = 1; diff --git a/xorg-server/hw/xwin/winwin32rootless.c b/xorg-server/hw/xwin/winwin32rootless.c index 5bad44638..92c7ca500 100644 --- a/xorg-server/hw/xwin/winwin32rootless.c +++ b/xorg-server/hw/xwin/winwin32rootless.c @@ -1006,28 +1006,6 @@ winMWExtWMCopyBytes (unsigned int width, unsigned int height, #endif } -void -winMWExtWMFillBytes (unsigned int width, unsigned int height, unsigned int value, - void *dst, unsigned int dstRowBytes) -{ -#if CYGMULTIWINDOW_DEBUG - winDebug ("winMWExtWMFillBytes - Not implemented\n"); -#endif -} - -int -winMWExtWMCompositePixels (unsigned int width, unsigned int height, unsigned int function, - void *src[2], unsigned int srcRowBytes[2], - void *mask, unsigned int maskRowBytes, - void *dst[2], unsigned int dstRowBytes[2]) -{ -#if CYGMULTIWINDOW_DEBUG - winDebug ("winMWExtWMCompositePixels - Not implemented\n"); -#endif - return 0; -} - - void winMWExtWMCopyWindow (RootlessFrameID wid, int nDstRects, const BoxRec *pDstRects, int nDx, int nDy) -- cgit v1.2.3