diff options
author | Keith Packard <keithp@keithp.com> | 2011-02-24 18:49:40 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-02-24 18:49:40 -0800 |
commit | 365ad68fb9f7029550505b7c276a808050cada9c (patch) | |
tree | 58305fe54c3aebd5a7376682d8be86f2f21aa5b0 | |
parent | 0801afbd7c2c644c672b37f8463f1a0cbadebd2e (diff) | |
parent | 720c895db9327bbdc32215a67236303d2ceafad4 (diff) |
Merge remote branch 'ajax/for-keithp'
-rw-r--r-- | hw/dmx/glxProxy/glxcmds.c | 80 | ||||
-rw-r--r-- | hw/dmx/glxProxy/glxsingle.c | 7 | ||||
-rw-r--r-- | hw/dmx/glxProxy/glxvendor.c | 6 | ||||
-rw-r--r-- | hw/dmx/glxProxy/render2swap.c | 54 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86Crtc.c | 10 | ||||
-rw-r--r-- | include/colormapst.h | 4 | ||||
-rw-r--r-- | include/scrnintstr.h | 2 | ||||
-rw-r--r-- | include/xorg-server.h.in | 7 |
8 files changed, 57 insertions, 113 deletions
diff --git a/hw/dmx/glxProxy/glxcmds.c b/hw/dmx/glxProxy/glxcmds.c index a58eb3554..f79264ea9 100644 --- a/hw/dmx/glxProxy/glxcmds.c +++ b/hw/dmx/glxProxy/glxcmds.c @@ -101,8 +101,8 @@ static int CreateContext(__GLXclientState *cl, int from_screen = screen; int to_screen = screen; DMXScreenInfo *dmxScreen; - VisualID be_vid; - GLXFBConfigID be_fbconfigId; + VisualID be_vid = 0; + GLXFBConfigID be_fbconfigId = 0; int num_be_screens; Display *dpy; @@ -1660,7 +1660,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, return BadMatch; } - if (fbconfigId == NULL && visual == NULL) { + if (fbconfigId == 0 && visual == 0) { return BadValue; } @@ -1733,6 +1733,7 @@ static int CreateGLXPixmap(__GLXclientState *cl, else { pVisual = NULL; pGlxVisual = NULL; + pGlxScreen = &__glXActiveScreens[pDraw->pScreen->myNum]; } pGlxPixmap = (__GLXpixmap *) malloc(sizeof(__GLXpixmap)); @@ -3295,27 +3296,23 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) int screen, rc; DMXScreenInfo *dmxScreen; CARD32 *attribs = NULL; - int attribs_size; + int attribs_size = 0; #ifdef PANORAMIX PanoramiXRes *pXinDraw = NULL; #endif if (drawId != None) { rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixGetAttrAccess); - if (rc == Success) { - if (pDraw->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr)pDraw; - be_drawable = 0; - screen = pWin->drawable.pScreen->myNum; - - } - else { - /* - ** Drawable is not a Window , GLXWindow or a GLXPixmap. - */ - client->errorValue = drawId; - return __glXBadDrawable; - } + if (rc == Success && pDraw->type == DRAWABLE_WINDOW) { + WindowPtr pWin = (WindowPtr)pDraw; + be_drawable = 0; + screen = pWin->drawable.pScreen->myNum; + } else { + /* + ** Drawable is not a Window , GLXWindow or a GLXPixmap. + */ + client->errorValue = drawId; + return __glXBadDrawable; } if (!pDraw) { @@ -3353,17 +3350,15 @@ int __glXGetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) be_drawable = pGlxPbuffer->be_xids[screen]; } } - - - if (!pDraw) { - /* - ** Drawable is not a Window , GLXWindow or a GLXPixmap. - */ - client->errorValue = drawId; - return __glXBadDrawable; - } } + if (!pDraw) { + /* + ** Drawable is not a Window , GLXWindow or a GLXPixmap. + */ + client->errorValue = drawId; + return __glXBadDrawable; + } /* if the drawable is a window or GLXWindow - * we need to find the base id on the back-end server @@ -3466,20 +3461,15 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) if (drawId != None) { rc = dixLookupDrawable(&pDraw, drawId, client, 0, DixSetAttrAccess); - if (rc == Success) { - if (pDraw->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr)pDraw; - be_drawable = 0; - screen = pWin->drawable.pScreen->myNum; - - } - else { - /* - ** Drawable is not a Window , GLXWindow or a GLXPixmap. - */ - client->errorValue = drawId; - return __glXBadDrawable; - } + if (rc == Success && pDraw->type == DRAWABLE_WINDOW) { + be_drawable = 0; + screen = pDraw->pScreen->myNum; + } else { + /* + ** Drawable is not a Window , GLXWindow or a GLXPixmap. + */ + client->errorValue = drawId; + return __glXBadDrawable; } if (!pDraw) { @@ -3517,17 +3507,15 @@ int __glXChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) be_drawable = pGlxPbuffer->be_xids[screen]; } } + } - - if (!pDraw) { + if (!pDraw) { /* ** Drawable is not a Window , GLXWindow or a GLXPixmap. */ client->errorValue = drawId; return __glXBadDrawable; - } - } - + } /* if the drawable is a window or GLXWindow - * we need to find the base id on the back-end server diff --git a/hw/dmx/glxProxy/glxsingle.c b/hw/dmx/glxProxy/glxsingle.c index 4c473ff13..33cc612a7 100644 --- a/hw/dmx/glxProxy/glxsingle.c +++ b/hw/dmx/glxProxy/glxsingle.c @@ -215,7 +215,7 @@ int __glXForwardPipe0WithReply( __GLXclientState *cl, GLbyte *pc ) xGLXSingleReply be_reply; __GLXcontext *glxc; int buf_size; - char *be_buf; + char *be_buf = NULL; int be_buf_size; DMXScreenInfo *dmxScreen; Display *dpy; @@ -297,8 +297,8 @@ int __glXForwardAllWithReply( __GLXclientState *cl, GLbyte *pc ) xGLXSingleReply be_reply; __GLXcontext *glxc; int buf_size; - char *be_buf; - int be_buf_size; + char *be_buf = NULL; + int be_buf_size = 0; int from_screen = 0; int to_screen = 0; int s; @@ -811,6 +811,7 @@ int __glXDisp_ReadPixels(__GLXclientState *cl, GLbyte *pc) } else { buf_size = 0; + buf = NULL; } if (buf_size > 0) { diff --git a/hw/dmx/glxProxy/glxvendor.c b/hw/dmx/glxProxy/glxvendor.c index 7ba727dc2..0b6ba4134 100644 --- a/hw/dmx/glxProxy/glxvendor.c +++ b/hw/dmx/glxProxy/glxvendor.c @@ -202,7 +202,7 @@ int __glXVForwardPipe0WithReply( __GLXclientState *cl, GLbyte *pc ) xGLXVendorPrivReply be_reply; __GLXcontext *glxc; int buf_size; - char *be_buf; + char *be_buf = NULL; int be_buf_size; DMXScreenInfo *dmxScreen; Display *dpy; @@ -281,8 +281,8 @@ int __glXVForwardAllWithReply( __GLXclientState *cl, GLbyte *pc ) xGLXVendorPrivReply be_reply; __GLXcontext *glxc; int buf_size; - char *be_buf; - int be_buf_size; + char *be_buf = NULL; + int be_buf_size = 0; int from_screen = 0; int to_screen = 0; int s; diff --git a/hw/dmx/glxProxy/render2swap.c b/hw/dmx/glxProxy/render2swap.c index 5754ff472..81bb501ea 100644 --- a/hw/dmx/glxProxy/render2swap.c +++ b/hw/dmx/glxProxy/render2swap.c @@ -261,60 +261,6 @@ void __glXDispSwap_CallLists(GLbyte *pc) } -static void swapArray(GLint numVals, GLenum datatype, - GLint stride, GLint numVertexes, GLbyte *pc) -{ - int i,j; - __GLX_DECLARE_SWAP_VARIABLES; - - switch (datatype) { - case GL_BYTE: - case GL_UNSIGNED_BYTE: - /* don't need to swap */ - return; - case GL_SHORT: - case GL_UNSIGNED_SHORT: - for (i=0; i<numVertexes; i++) { - GLshort *pVal = (GLshort *) pc; - for (j=0; j<numVals; j++) { - __GLX_SWAP_SHORT(&pVal[j]); - } - pc += stride; - } - break; - case GL_INT: - case GL_UNSIGNED_INT: - for (i=0; i<numVertexes; i++) { - GLint *pVal = (GLint *) pc; - for (j=0; j<numVals; j++) { - __GLX_SWAP_INT(&pVal[j]); - } - pc += stride; - } - break; - case GL_FLOAT: - for (i=0; i<numVertexes; i++) { - GLfloat *pVal = (GLfloat *) pc; - for (j=0; j<numVals; j++) { - __GLX_SWAP_FLOAT(&pVal[j]); - } - pc += stride; - } - break; - case GL_DOUBLE: - for (i=0; i<numVertexes; i++) { - GLdouble *pVal = (GLdouble *) pc; - for (j=0; j<numVals; j++) { - __GLX_SWAP_DOUBLE(&pVal[j]); - } - pc += stride; - } - break; - default: - return; - } -} - void __glXDispSwap_DrawArrays(GLbyte *pc) { __GLXdispatchDrawArraysHeader *hdr = (__GLXdispatchDrawArraysHeader *)pc; diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index a49668f84..86f038aa1 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -1565,7 +1565,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) int min_clock = 0; int max_clock = 0; double clock; - Bool add_default_modes = xf86ReturnOptValBool(output->options, OPTION_DEFAULT_MODES, TRUE); + Bool add_default_modes; Bool debug_modes = config->debug_modes || xf86Initialising; enum det_monrec_source sync_source = sync_default; @@ -1611,6 +1611,14 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY) } output_modes = (*output->funcs->get_modes) (output); + + /* + * If the user has a preference, respect it. + * Otherwise, don't second-guess the driver. + */ + if (!xf86GetOptValBool(output->options, OPTION_DEFAULT_MODES, + &add_default_modes)) + add_default_modes = (output_modes == NULL); edid_monitor = output->MonInfo; diff --git a/include/colormapst.h b/include/colormapst.h index 0ba5bd0b5..b597e2c60 100644 --- a/include/colormapst.h +++ b/include/colormapst.h @@ -103,12 +103,12 @@ typedef struct _ColormapRec { VisualPtr pVisual; short class; /* PseudoColor or DirectColor */ -#if defined(_XSERVER64) +#if defined(_LP64) short pad0; XID pad1; #endif XID mid; /* client's name for colormap */ -#if defined(_XSERVER64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN) +#if defined(_LP64) && (X_BYTE_ORDER == X_LITTLE_ENDIAN) XID pad2; #endif ScreenPtr pScreen; /* screen map is associated with */ diff --git a/include/scrnintstr.h b/include/scrnintstr.h index 9f4fbf3df..a9357e8a5 100644 --- a/include/scrnintstr.h +++ b/include/scrnintstr.h @@ -404,7 +404,7 @@ typedef void (* DeviceCursorCleanupProcPtr)( ScreenPtr /* pScreen */); typedef void (*ConstrainCursorHarderProcPtr)( - DeviceIntPtr, ScreenPtr, int *, int *); + DeviceIntPtr, ScreenPtr, int, int *, int *); typedef struct _Screen { int myNum; /* index of this instance in Screens[] */ diff --git a/include/xorg-server.h.in b/include/xorg-server.h.in index 76cab16b6..b10b9949e 100644 --- a/include/xorg-server.h.in +++ b/include/xorg-server.h.in @@ -157,9 +157,6 @@ /* Name of X server */ #undef __XSERVERNAME__ -/* Define to 1 if unsigned long is 64 bits. */ -#undef _XSERVER64 - /* Building vgahw module */ #undef WITH_VGAHW @@ -187,4 +184,8 @@ /* X Access Control Extension */ #undef XACE +#ifdef _LP64 +#define _XSERVER64 1 +#endif + #endif /* _XORG_SERVER_H_ */ |