diff options
Diffstat (limited to 'xorg-server/glx')
-rw-r--r-- | xorg-server/glx/glxcmds.c | 3 | ||||
-rw-r--r-- | xorg-server/glx/glxdri.c | 12 | ||||
-rw-r--r-- | xorg-server/glx/glxdri2.c | 6 | ||||
-rw-r--r-- | xorg-server/glx/glxdriswrast.c | 2 | ||||
-rw-r--r-- | xorg-server/glx/glxext.c | 18 | ||||
-rw-r--r-- | xorg-server/glx/glxscreens.c | 7 | ||||
-rw-r--r-- | xorg-server/glx/single2.c | 6 | ||||
-rw-r--r-- | xorg-server/glx/singlesize.c | 394 | ||||
-rw-r--r-- | xorg-server/glx/xfont.c | 4 |
9 files changed, 225 insertions, 227 deletions
diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c index 0ec118e97..a4ac2b86b 100644 --- a/xorg-server/glx/glxcmds.c +++ b/xorg-server/glx/glxcmds.c @@ -2435,8 +2435,7 @@ int __glXDisp_ClientInfo(__GLXclientState *cl, GLbyte *pc) cl->GLClientmajorVersion = req->major;
cl->GLClientminorVersion = req->minor;
- if (cl->GLClientextensions)
- free(cl->GLClientextensions);
+ free(cl->GLClientextensions);
buf = (const char *)(req+1);
cl->GLClientextensions = xstrdup(buf);
diff --git a/xorg-server/glx/glxdri.c b/xorg-server/glx/glxdri.c index e9e7ea5a9..73f6051f6 100644 --- a/xorg-server/glx/glxdri.c +++ b/xorg-server/glx/glxdri.c @@ -471,7 +471,7 @@ nooverride: pRegion = NULL;
} else {
pRegion = DamageRegion(driDraw->pDamage);
- if (REGION_NIL(pRegion))
+ if (RegionNil(pRegion))
return Success;
}
@@ -534,8 +534,8 @@ nooverride: int i, numRects;
BoxPtr p;
- numRects = REGION_NUM_RECTS (pRegion);
- p = REGION_RECTS (pRegion);
+ numRects = RegionNumRects (pRegion);
+ p = RegionRects (pRegion);
CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, 0) );
CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, 0) );
@@ -835,12 +835,12 @@ static void __glXReportDamage(__DRIdrawable *driDraw, __glXenterServer(GL_FALSE);
- REGION_INIT(pDraw->pScreen, ®ion, (BoxPtr) rects, num_rects);
- REGION_TRANSLATE(pScreen, ®ion, pDraw->x, pDraw->y);
+ RegionInit(®ion, (BoxPtr) rects, num_rects);
+ RegionTranslate(®ion, pDraw->x, pDraw->y);
DamageRegionAppend(pDraw, ®ion);
/* This is wrong, this needs a seperate function. */
DamageRegionProcessPending(pDraw);
- REGION_UNINIT(pDraw->pScreen, ®ion);
+ RegionUninit(®ion);
__glXleaveServer(GL_FALSE);
}
diff --git a/xorg-server/glx/glxdri2.c b/xorg-server/glx/glxdri2.c index 1faefb002..f4cb76383 100644 --- a/xorg-server/glx/glxdri2.c +++ b/xorg-server/glx/glxdri2.c @@ -122,7 +122,7 @@ __glXDRIdrawableCopySubBuffer(__GLXdrawable *drawable, box.y1 = private->height - y - h;
box.x2 = x + w;
box.y2 = private->height - y;
- REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0);
+ RegionInit(®ion, &box, 0);
DRI2CopyRegion(drawable->pDraw, ®ion,
DRI2BufferFrontLeft, DRI2BufferBackLeft);
@@ -139,7 +139,7 @@ __glXDRIdrawableWaitX(__GLXdrawable *drawable) box.y1 = 0;
box.x2 = private->width;
box.y2 = private->height;
- REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0);
+ RegionInit(®ion, &box, 0);
DRI2CopyRegion(drawable->pDraw, ®ion,
DRI2BufferFakeFrontLeft, DRI2BufferFrontLeft);
@@ -156,7 +156,7 @@ __glXDRIdrawableWaitGL(__GLXdrawable *drawable) box.y1 = 0;
box.x2 = private->width;
box.y2 = private->height;
- REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0);
+ RegionInit(®ion, &box, 0);
DRI2CopyRegion(drawable->pDraw, ®ion,
DRI2BufferFrontLeft, DRI2BufferFakeFrontLeft);
diff --git a/xorg-server/glx/glxdriswrast.c b/xorg-server/glx/glxdriswrast.c index ed4b373c7..9bc8d3b6e 100644 --- a/xorg-server/glx/glxdriswrast.c +++ b/xorg-server/glx/glxdriswrast.c @@ -341,7 +341,7 @@ __glXDRIscreenCreateDrawable(ClientPtr client, gcvals[0].val = GXcopy;
ChangeGC(NullClient, private->gc, GCFunction, gcvals);
gcvals[1].val = FALSE;
- ChangeGC(NullClient, private->gc, GCFunction | GCGraphicsExposures, gcvals);
+ ChangeGC(NullClient, private->swapgc, GCFunction | GCGraphicsExposures, gcvals);
private->driDrawable =
(*driScreen->swrast->createNewDrawable)(driScreen->driScreen,
diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c index 1f2174e93..e48a90da6 100644 --- a/xorg-server/glx/glxext.c +++ b/xorg-server/glx/glxext.c @@ -69,8 +69,8 @@ RESTYPE __glXSwapBarrierRes; */
xGLXSingleReply __glXReply;
-static int glxClientPrivateKeyIndex;
-static DevPrivateKey glxClientPrivateKey = &glxClientPrivateKeyIndex;
+static DevPrivateKeyRec glxClientPrivateKeyRec;
+#define glxClientPrivateKey (&glxClientPrivateKeyRec)
/*
** Client that called into GLX dispatch.
@@ -211,8 +211,8 @@ GLboolean __glXFreeContext(__GLXcontext *cx) {
if (cx->idExists || cx->isCurrent) return GL_FALSE;
- if (cx->feedbackBuf) free(cx->feedbackBuf);
- if (cx->selectBuf) free(cx->selectBuf);
+ free(cx->feedbackBuf);
+ free(cx->selectBuf);
if (cx == __glXLastContext) {
__glXFlushContextCache();
}
@@ -329,10 +329,10 @@ glxClientCallback (CallbackListPtr *list, }
}
- if (cl->returnBuf) free(cl->returnBuf);
- if (cl->largeCmdBuf) free(cl->largeCmdBuf);
- if (cl->currentContexts) free(cl->currentContexts);
- if (cl->GLClientextensions) free(cl->GLClientextensions);
+ free(cl->returnBuf);
+ free(cl->largeCmdBuf);
+ free(cl->currentContexts);
+ free(cl->GLClientextensions);
break;
default:
@@ -370,7 +370,7 @@ void GlxExtensionInit(void) if (!__glXContextRes || !__glXDrawableRes || !__glXSwapBarrierRes)
return;
- if (!dixRequestPrivate(glxClientPrivateKey, sizeof (__GLXclientState)))
+ if (!dixRegisterPrivateKey(&glxClientPrivateKeyRec, PRIVATE_CLIENT, sizeof (__GLXclientState)))
return;
if (!AddCallback (&ClientStateCallback, glxClientCallback, 0))
return;
diff --git a/xorg-server/glx/glxscreens.c b/xorg-server/glx/glxscreens.c index 1d647596a..3d91e20d2 100644 --- a/xorg-server/glx/glxscreens.c +++ b/xorg-server/glx/glxscreens.c @@ -48,8 +48,8 @@ #include "glxext.h"
#include "protocol-versions.h"
-static int glxScreenPrivateKeyIndex;
-static DevPrivateKey glxScreenPrivateKey = &glxScreenPrivateKeyIndex;
+static DevPrivateKeyRec glxScreenPrivateKeyRec;
+#define glxScreenPrivateKey (&glxScreenPrivateKeyRec)
const char GLServerVersion[] = "1.4";
static const char GLServerExtensions[] =
@@ -356,6 +356,9 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen) __GLXconfig *config;
int i;
+ if (!dixRegisterPrivateKey(&glxScreenPrivateKeyRec, PRIVATE_SCREEN, 0))
+ return;
+
pGlxScreen->pScreen = pScreen;
pGlxScreen->GLextensions = xstrdup(GLServerExtensions);
pGlxScreen->GLXvendor = xstrdup(GLXServerVendorName);
diff --git a/xorg-server/glx/single2.c b/xorg-server/glx/single2.c index 4d8aeaa83..d0f0c83bb 100644 --- a/xorg-server/glx/single2.c +++ b/xorg-server/glx/single2.c @@ -276,10 +276,8 @@ char *__glXcombine_strings(const char *cext_string, const char *sext_string) s2 = sext_string;
}
if (!combo_string || !s1) {
- if (combo_string)
- free(combo_string);
- if (s1)
- free(s1);
+ free(combo_string);
+ free(s1);
return NULL;
}
combo_string[0] = '\0';
diff --git a/xorg-server/glx/singlesize.c b/xorg-server/glx/singlesize.c index a9a2be66b..85fa9871c 100644 --- a/xorg-server/glx/singlesize.c +++ b/xorg-server/glx/singlesize.c @@ -1,197 +1,197 @@ -/* - * 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. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include <dix-config.h> -#else - -#include "glheader.h" - -#endif - -#include <GL/gl.h> -#include "glxserver.h" -#include "singlesize.h" -#include "indirect_size_get.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" - -/* -** These routines compute the size of variable-size returned parameters. -** Unlike the similar routines that do the same thing for variable-size -** incoming parameters, the samplegl library itself doesn't use these routines. -** Hence, they are located here, in the GLX extension library. -*/ - -GLint __glReadPixels_size(GLenum format, GLenum type, GLint w, GLint h) -{ - return __glXImageSize( format, type, 0, w, h, 1, 0, 0, 0, 0, 4 ); -} - -GLint __glGetMap_size(GLenum target, GLenum query) -{ - GLint k, order=0, majorMinor[2]; - - /* - ** Assume target and query are both valid. - */ - switch (target) { - case GL_MAP1_COLOR_4: - case GL_MAP1_NORMAL: - case GL_MAP1_INDEX: - case GL_MAP1_TEXTURE_COORD_1: - case GL_MAP1_TEXTURE_COORD_2: - case GL_MAP1_TEXTURE_COORD_3: - case GL_MAP1_TEXTURE_COORD_4: - case GL_MAP1_VERTEX_3: - case GL_MAP1_VERTEX_4: - switch (query) { - case GL_COEFF: - k = __glMap1d_size(target); - CALL_GetMapiv( GET_DISPATCH(), (target, GL_ORDER, &order) ); - /* - ** The query above might fail, but then order will be zero anyway. - */ - return (order * k); - case GL_DOMAIN: - return 2; - case GL_ORDER: - return 1; - } - break; - case GL_MAP2_COLOR_4: - case GL_MAP2_NORMAL: - case GL_MAP2_INDEX: - case GL_MAP2_TEXTURE_COORD_1: - case GL_MAP2_TEXTURE_COORD_2: - case GL_MAP2_TEXTURE_COORD_3: - case GL_MAP2_TEXTURE_COORD_4: - case GL_MAP2_VERTEX_3: - case GL_MAP2_VERTEX_4: - switch (query) { - case GL_COEFF: - k = __glMap2d_size(target); - majorMinor[0] = majorMinor[1] = 0; - CALL_GetMapiv( GET_DISPATCH(), (target, GL_ORDER, majorMinor) ); - /* - ** The query above might fail, but then majorMinor will be zeroes - */ - return (majorMinor[0] * majorMinor[1] * k); - case GL_DOMAIN: - return 4; - case GL_ORDER: - return 2; - } - break; - } - return -1; -} - -GLint __glGetMapdv_size(GLenum target, GLenum query) -{ - return __glGetMap_size(target, query); -} - -GLint __glGetMapfv_size(GLenum target, GLenum query) -{ - return __glGetMap_size(target, query); -} - -GLint __glGetMapiv_size(GLenum target, GLenum query) -{ - return __glGetMap_size(target, query); -} - -GLint __glGetPixelMap_size(GLenum map) -{ - GLint size; - GLenum query; - - switch (map) { - case GL_PIXEL_MAP_I_TO_I: - query = GL_PIXEL_MAP_I_TO_I_SIZE; - break; - case GL_PIXEL_MAP_S_TO_S: - query = GL_PIXEL_MAP_S_TO_S_SIZE; - break; - case GL_PIXEL_MAP_I_TO_R: - query = GL_PIXEL_MAP_I_TO_R_SIZE; - break; - case GL_PIXEL_MAP_I_TO_G: - query = GL_PIXEL_MAP_I_TO_G_SIZE; - break; - case GL_PIXEL_MAP_I_TO_B: - query = GL_PIXEL_MAP_I_TO_B_SIZE; - break; - case GL_PIXEL_MAP_I_TO_A: - query = GL_PIXEL_MAP_I_TO_A_SIZE; - break; - case GL_PIXEL_MAP_R_TO_R: - query = GL_PIXEL_MAP_R_TO_R_SIZE; - break; - case GL_PIXEL_MAP_G_TO_G: - query = GL_PIXEL_MAP_G_TO_G_SIZE; - break; - case GL_PIXEL_MAP_B_TO_B: - query = GL_PIXEL_MAP_B_TO_B_SIZE; - break; - case GL_PIXEL_MAP_A_TO_A: - query = GL_PIXEL_MAP_A_TO_A_SIZE; - break; - default: - return -1; - } - CALL_GetIntegerv( GET_DISPATCH(), (query, &size) ); - return size; -} - -GLint __glGetPixelMapfv_size(GLenum map) -{ - return __glGetPixelMap_size(map); -} - -GLint __glGetPixelMapuiv_size(GLenum map) -{ - return __glGetPixelMap_size(map); -} - -GLint __glGetPixelMapusv_size(GLenum map) -{ - return __glGetPixelMap_size(map); -} - -GLint __glGetTexImage_size(GLenum target, GLint level, GLenum format, - GLenum type, GLint width, GLint height, GLint depth) -{ - return __glXImageSize( format, type, target, width, height, depth, - 0, 0, 0, 0, 4 ); -} +/*
+ * 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.
+ */
+
+#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#else
+
+#include "glheader.h"
+
+#endif
+
+#include <GL/gl.h>
+#include "glxserver.h"
+#include "singlesize.h"
+#include "indirect_size_get.h"
+#include "glapitable.h"
+#include "glapi.h"
+#include "glthread.h"
+#include "dispatch.h"
+
+/*
+** These routines compute the size of variable-size returned parameters.
+** Unlike the similar routines that do the same thing for variable-size
+** incoming parameters, the samplegl library itself doesn't use these routines.
+** Hence, they are located here, in the GLX extension library.
+*/
+
+GLint __glReadPixels_size(GLenum format, GLenum type, GLint w, GLint h)
+{
+ return __glXImageSize( format, type, 0, w, h, 1, 0, 0, 0, 0, 4 );
+}
+
+GLint __glGetMap_size(GLenum target, GLenum query)
+{
+ GLint k, order=0, majorMinor[2];
+
+ /*
+ ** Assume target and query are both valid.
+ */
+ switch (target) {
+ case GL_MAP1_COLOR_4:
+ case GL_MAP1_NORMAL:
+ case GL_MAP1_INDEX:
+ case GL_MAP1_TEXTURE_COORD_1:
+ case GL_MAP1_TEXTURE_COORD_2:
+ case GL_MAP1_TEXTURE_COORD_3:
+ case GL_MAP1_TEXTURE_COORD_4:
+ case GL_MAP1_VERTEX_3:
+ case GL_MAP1_VERTEX_4:
+ switch (query) {
+ case GL_COEFF:
+ k = __glMap1d_size(target);
+ CALL_GetMapiv( GET_DISPATCH(), (target, GL_ORDER, &order) );
+ /*
+ ** The query above might fail, but then order will be zero anyway.
+ */
+ return order * k;
+ case GL_DOMAIN:
+ return 2;
+ case GL_ORDER:
+ return 1;
+ }
+ break;
+ case GL_MAP2_COLOR_4:
+ case GL_MAP2_NORMAL:
+ case GL_MAP2_INDEX:
+ case GL_MAP2_TEXTURE_COORD_1:
+ case GL_MAP2_TEXTURE_COORD_2:
+ case GL_MAP2_TEXTURE_COORD_3:
+ case GL_MAP2_TEXTURE_COORD_4:
+ case GL_MAP2_VERTEX_3:
+ case GL_MAP2_VERTEX_4:
+ switch (query) {
+ case GL_COEFF:
+ k = __glMap2d_size(target);
+ majorMinor[0] = majorMinor[1] = 0;
+ CALL_GetMapiv( GET_DISPATCH(), (target, GL_ORDER, majorMinor) );
+ /*
+ ** The query above might fail, but then majorMinor will be zeroes
+ */
+ return majorMinor[0] * majorMinor[1] * k;
+ case GL_DOMAIN:
+ return 4;
+ case GL_ORDER:
+ return 2;
+ }
+ break;
+ }
+ return -1;
+}
+
+GLint __glGetMapdv_size(GLenum target, GLenum query)
+{
+ return __glGetMap_size(target, query);
+}
+
+GLint __glGetMapfv_size(GLenum target, GLenum query)
+{
+ return __glGetMap_size(target, query);
+}
+
+GLint __glGetMapiv_size(GLenum target, GLenum query)
+{
+ return __glGetMap_size(target, query);
+}
+
+GLint __glGetPixelMap_size(GLenum map)
+{
+ GLint size;
+ GLenum query;
+
+ switch (map) {
+ case GL_PIXEL_MAP_I_TO_I:
+ query = GL_PIXEL_MAP_I_TO_I_SIZE;
+ break;
+ case GL_PIXEL_MAP_S_TO_S:
+ query = GL_PIXEL_MAP_S_TO_S_SIZE;
+ break;
+ case GL_PIXEL_MAP_I_TO_R:
+ query = GL_PIXEL_MAP_I_TO_R_SIZE;
+ break;
+ case GL_PIXEL_MAP_I_TO_G:
+ query = GL_PIXEL_MAP_I_TO_G_SIZE;
+ break;
+ case GL_PIXEL_MAP_I_TO_B:
+ query = GL_PIXEL_MAP_I_TO_B_SIZE;
+ break;
+ case GL_PIXEL_MAP_I_TO_A:
+ query = GL_PIXEL_MAP_I_TO_A_SIZE;
+ break;
+ case GL_PIXEL_MAP_R_TO_R:
+ query = GL_PIXEL_MAP_R_TO_R_SIZE;
+ break;
+ case GL_PIXEL_MAP_G_TO_G:
+ query = GL_PIXEL_MAP_G_TO_G_SIZE;
+ break;
+ case GL_PIXEL_MAP_B_TO_B:
+ query = GL_PIXEL_MAP_B_TO_B_SIZE;
+ break;
+ case GL_PIXEL_MAP_A_TO_A:
+ query = GL_PIXEL_MAP_A_TO_A_SIZE;
+ break;
+ default:
+ return -1;
+ }
+ CALL_GetIntegerv( GET_DISPATCH(), (query, &size) );
+ return size;
+}
+
+GLint __glGetPixelMapfv_size(GLenum map)
+{
+ return __glGetPixelMap_size(map);
+}
+
+GLint __glGetPixelMapuiv_size(GLenum map)
+{
+ return __glGetPixelMap_size(map);
+}
+
+GLint __glGetPixelMapusv_size(GLenum map)
+{
+ return __glGetPixelMap_size(map);
+}
+
+GLint __glGetTexImage_size(GLenum target, GLint level, GLenum format,
+ GLenum type, GLint width, GLint height, GLint depth)
+{
+ return __glXImageSize( format, type, target, width, height, depth,
+ 0, 0, 0, 0, 4 );
+}
diff --git a/xorg-server/glx/xfont.c b/xorg-server/glx/xfont.c index af0b21831..5f5d7efba 100644 --- a/xorg-server/glx/xfont.c +++ b/xorg-server/glx/xfont.c @@ -101,9 +101,7 @@ static int __glXMakeBitmapFromGlyph(FontPtr font, CharInfoPtr pci) pci->metrics.characterWidth, 0,
allocbuf ? allocbuf : buf) );
- if (allocbuf) {
- free(allocbuf);
- }
+ free(allocbuf);
return Success;
#undef __GL_CHAR_BUF_SIZE
}
|