From e78c5bc3c2df117b4c8e5e4bd24c985cd89c49ad Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Fri, 1 Jul 2016 13:54:10 +0200 Subject: remove shm code from libNX_Xext --- .../extras/Mesa/src/mesa/drivers/x11/glxheader.h | 2 +- nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h | 2 +- nx-X11/include/extensions/Imakefile | 1 - nx-X11/include/extensions/XShm.h | 161 -------- nx-X11/include/extensions/shmstr.h | 217 ---------- nx-X11/lib/Xext/Imakefile | 7 - nx-X11/lib/Xext/XShm.c | 437 --------------------- nx-X11/programs/Xserver/Xext/extmod/modinit.h | 2 +- nx-X11/programs/Xserver/Xext/shm.c | 4 +- nx-X11/programs/Xserver/Xext/xvdisp.c | 2 +- nx-X11/programs/Xserver/mi/miinitext.c | 2 +- nx-X11/programs/Xserver/mi/miscrinit.c | 2 +- nxcompshad/X11.h | 2 +- 13 files changed, 9 insertions(+), 832 deletions(-) delete mode 100644 nx-X11/include/extensions/XShm.h delete mode 100644 nx-X11/include/extensions/shmstr.h delete mode 100644 nx-X11/lib/Xext/XShm.c diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/x11/glxheader.h b/nx-X11/extras/Mesa/src/mesa/drivers/x11/glxheader.h index 1e4db26f7..33d937f1c 100644 --- a/nx-X11/extras/Mesa/src/mesa/drivers/x11/glxheader.h +++ b/nx-X11/extras/Mesa/src/mesa/drivers/x11/glxheader.h @@ -48,7 +48,7 @@ # ifdef USE_XSHM /* was SHM */ # include # include -# include +# include # endif # include diff --git a/nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h b/nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h index 640bdf954..26255ae56 100644 --- a/nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h +++ b/nx-X11/extras/Mesa/src/mesa/drivers/x11/xmesaP.h @@ -31,7 +31,7 @@ # include "GL/xf86glx.h" # include "xf86glx_util.h" #elif defined(USE_XSHM) -# include +# include #endif #include "GL/xmesa.h" #include "mtypes.h" diff --git a/nx-X11/include/extensions/Imakefile b/nx-X11/include/extensions/Imakefile index 3a26bed58..3b4760414 100644 --- a/nx-X11/include/extensions/Imakefile +++ b/nx-X11/include/extensions/Imakefile @@ -63,7 +63,6 @@ HEADERS = Xext.h \ xtestconst.h xtestext1.h xteststr.h \ XKB.h XKBgeom.h XKBproto.h XKBstr.h XKBsrv.h \ Xdbeproto.h \ - XShm.h shmstr.h \ $(EXTRAHEADERS) \ record.h recordstr.h \ security.h securstr.h \ diff --git a/nx-X11/include/extensions/XShm.h b/nx-X11/include/extensions/XShm.h deleted file mode 100644 index 4b0d01bef..000000000 --- a/nx-X11/include/extensions/XShm.h +++ /dev/null @@ -1,161 +0,0 @@ -/* $XFree86: xc/include/extensions/XShm.h,v 1.11 2003/04/03 15:11:07 dawes Exp $ */ -/************************************************************ - -Copyright 1989, 1998 The Open Group - -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. - -The above copyright notice and this permission notice 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 THE -OPEN GROUP 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 The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -********************************************************/ - -/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ - -/* $Xorg: XShm.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ - -#ifndef _XSHM_H_ -#define _XSHM_H_ - -#include - -#define X_ShmQueryVersion 0 -#define X_ShmAttach 1 -#define X_ShmDetach 2 -#define X_ShmPutImage 3 -#define X_ShmGetImage 4 -#define X_ShmCreatePixmap 5 - -#define ShmCompletion 0 -#define ShmNumberEvents (ShmCompletion + 1) - -#define BadShmSeg 0 -#define ShmNumberErrors (BadShmSeg + 1) - -typedef unsigned long ShmSeg; - -#ifndef _XSHM_SERVER_ -typedef struct { - int type; /* of event */ - unsigned long serial; /* # of last request processed by server */ - Bool send_event; /* true if this came frome a SendEvent request */ - Display *display; /* Display the event was read from */ - Drawable drawable; /* drawable of request */ - int major_code; /* ShmReqCode */ - int minor_code; /* X_ShmPutImage */ - ShmSeg shmseg; /* the ShmSeg used in the request */ - unsigned long offset; /* the offset into ShmSeg used in the request */ -} XShmCompletionEvent; - -typedef struct { - ShmSeg shmseg; /* resource id */ - int shmid; /* kernel id */ - char *shmaddr; /* address in client */ - Bool readOnly; /* how the server should attach it */ -} XShmSegmentInfo; - -_XFUNCPROTOBEGIN - -Bool XShmQueryExtension( - Display* /* dpy */ -); - -int XShmGetEventBase( - Display* /* dpy */ -); - -Bool XShmQueryVersion( - Display* /* dpy */, - int* /* majorVersion */, - int* /* minorVersion */, - Bool* /* sharedPixmaps */ -); - -int XShmPixmapFormat( - Display* /* dpy */ -); - -Status XShmAttach( - Display* /* dpy */, - XShmSegmentInfo* /* shminfo */ -); - -Status XShmDetach( - Display* /* dpy */, - XShmSegmentInfo* /* shminfo */ -); - -Status XShmPutImage( - Display* /* dpy */, - Drawable /* d */, - GC /* gc */, - XImage* /* image */, - int /* src_x */, - int /* src_y */, - int /* dst_x */, - int /* dst_y */, - unsigned int /* src_width */, - unsigned int /* src_height */, - Bool /* send_event */ -); - -Status XShmGetImage( - Display* /* dpy */, - Drawable /* d */, - XImage* /* image */, - int /* x */, - int /* y */, - unsigned long /* plane_mask */ -); - -XImage *XShmCreateImage( - Display* /* dpy */, - Visual* /* visual */, - unsigned int /* depth */, - int /* format */, - char* /* data */, - XShmSegmentInfo* /* shminfo */, - unsigned int /* width */, - unsigned int /* height */ -); - -Pixmap XShmCreatePixmap( - Display* /* dpy */, - Drawable /* d */, - char* /* data */, - XShmSegmentInfo* /* shminfo */, - unsigned int /* width */, - unsigned int /* height */, - unsigned int /* depth */ -); - -_XFUNCPROTOEND - -#else /* _XSHM_SERVER_ */ - -#include "screenint.h" -#include "pixmap.h" -#include "gc.h" - -extern void ShmRegisterFbFuncs( - ScreenPtr /* pScreen */ -); - -#endif - -#endif diff --git a/nx-X11/include/extensions/shmstr.h b/nx-X11/include/extensions/shmstr.h deleted file mode 100644 index b15538d4e..000000000 --- a/nx-X11/include/extensions/shmstr.h +++ /dev/null @@ -1,217 +0,0 @@ -/* $XFree86: xc/include/extensions/shmstr.h,v 3.3 2001/12/14 19:53:29 dawes Exp $ */ -/************************************************************ - -Copyright 1989, 1998 The Open Group - -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. - -The above copyright notice and this permission notice 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 THE -OPEN GROUP 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 The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -********************************************************/ - -/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ - -#ifndef _SHMSTR_H_ -#define _SHMSTR_H_ - -/* $Xorg: shmstr.h,v 1.4 2001/02/09 02:03:24 xorgcvs Exp $ */ - -#include "XShm.h" - -#define ShmSeg CARD32 -#define Drawable CARD32 -#define VisualID CARD32 -#define GContext CARD32 -#define Pixmap CARD32 - -#define SHMNAME "MIT-SHM" - -#define SHM_MAJOR_VERSION 1 /* current version numbers */ -#define SHM_MINOR_VERSION 1 - -#ifdef _XSHM_SERVER_ -#define XSHM_PUT_IMAGE_ARGS \ - DrawablePtr /* dst */, \ - GCPtr /* pGC */, \ - int /* depth */, \ - unsigned int /* format */, \ - int /* w */, \ - int /* h */, \ - int /* sx */, \ - int /* sy */, \ - int /* sw */, \ - int /* sh */, \ - int /* dx */, \ - int /* dy */, \ - char * /* data */ - -#define XSHM_CREATE_PIXMAP_ARGS \ - ScreenPtr /* pScreen */, \ - int /* width */, \ - int /* height */, \ - int /* depth */, \ - char * /* addr */ - -typedef struct _ShmFuncs { - PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS); - void (* PutImage)(XSHM_PUT_IMAGE_ARGS); -} ShmFuncs, *ShmFuncsPtr; -#endif - -typedef struct _ShmQueryVersion { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmQueryVersion */ - CARD16 length B16; -} xShmQueryVersionReq; -#define sz_xShmQueryVersionReq 4 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL sharedPixmaps; - CARD16 sequenceNumber B16; - CARD32 length B32; - CARD16 majorVersion B16; /* major version of SHM protocol */ - CARD16 minorVersion B16; /* minor version of SHM protocol */ - CARD16 uid B16; - CARD16 gid B16; - CARD8 pixmapFormat; - CARD8 pad0; - CARD16 pad1 B16; - CARD32 pad2 B32; - CARD32 pad3 B32; - CARD32 pad4 B32; -} xShmQueryVersionReply; -#define sz_xShmQueryVersionReply 32 - -typedef struct _ShmAttach { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmAttach */ - CARD16 length B16; - ShmSeg shmseg B32; - CARD32 shmid B32; - BOOL readOnly; - BYTE pad0; - CARD16 pad1 B16; -} xShmAttachReq; -#define sz_xShmAttachReq 16 - -typedef struct _ShmDetach { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmDetach */ - CARD16 length B16; - ShmSeg shmseg B32; -} xShmDetachReq; -#define sz_xShmDetachReq 8 - -typedef struct _ShmPutImage { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmPutImage */ - CARD16 length B16; - Drawable drawable B32; - GContext gc B32; - CARD16 totalWidth B16; - CARD16 totalHeight B16; - CARD16 srcX B16; - CARD16 srcY B16; - CARD16 srcWidth B16; - CARD16 srcHeight B16; - INT16 dstX B16; - INT16 dstY B16; - CARD8 depth; - CARD8 format; - CARD8 sendEvent; - CARD8 bpad; - ShmSeg shmseg B32; - CARD32 offset B32; -} xShmPutImageReq; -#define sz_xShmPutImageReq 40 - -typedef struct _ShmGetImage { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmGetImage */ - CARD16 length B16; - Drawable drawable B32; - INT16 x B16; - INT16 y B16; - CARD16 width B16; - CARD16 height B16; - CARD32 planeMask B32; - CARD8 format; - CARD8 pad0; - CARD8 pad1; - CARD8 pad2; - ShmSeg shmseg B32; - CARD32 offset B32; -} xShmGetImageReq; -#define sz_xShmGetImageReq 32 - -typedef struct _ShmGetImageReply { - BYTE type; /* X_Reply */ - CARD8 depth; - CARD16 sequenceNumber B16; - CARD32 length B32; - VisualID visual B32; - CARD32 size B32; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; - CARD32 pad3 B32; -} xShmGetImageReply; -#define sz_xShmGetImageReply 32 - -typedef struct _ShmCreatePixmap { - CARD8 reqType; /* always ShmReqCode */ - CARD8 shmReqType; /* always X_ShmCreatePixmap */ - CARD16 length B16; - Pixmap pid B32; - Drawable drawable B32; - CARD16 width B16; - CARD16 height B16; - CARD8 depth; - CARD8 pad0; - CARD8 pad1; - CARD8 pad2; - ShmSeg shmseg B32; - CARD32 offset B32; -} xShmCreatePixmapReq; -#define sz_xShmCreatePixmapReq 28 - -typedef struct _ShmCompletion { - BYTE type; /* always eventBase + ShmCompletion */ - BYTE bpad0; - CARD16 sequenceNumber B16; - Drawable drawable B32; - CARD16 minorEvent B16; - BYTE majorEvent; - BYTE bpad1; - ShmSeg shmseg B32; - CARD32 offset B32; - CARD32 pad0 B32; - CARD32 pad1 B32; - CARD32 pad2 B32; -} xShmCompletionEvent; -#define sz_xShmCompletionEvent 32 - -#undef ShmSeg -#undef Drawable -#undef VisualID -#undef GContext -#undef Pixmap - -#endif /* _SHMSTR_H_ */ diff --git a/nx-X11/lib/Xext/Imakefile b/nx-X11/lib/Xext/Imakefile index 629a14bf1..4083ee61f 100644 --- a/nx-X11/lib/Xext/Imakefile +++ b/nx-X11/lib/Xext/Imakefile @@ -18,11 +18,6 @@ XCOMM $XFree86: xc/lib/Xext/Imakefile,v 1.12 2002/10/16 00:37:27 dawes Exp $ REQUIREDLIBS = SharedXextReqs #endif -#if HasShm - SHMSRCS = XShm.c - SHMOBJS = XShm.o -#endif - #if Malloc0ReturnsNull ALLOC_DEFINES = Malloc0ReturnsNullDefines #endif @@ -31,12 +26,10 @@ ALLOC_DEFINES = Malloc0ReturnsNullDefines INCLUDES = -I$(XLIBSRC) SRCS = globals.c \ extutil.c \ - $(SHMSRCS) \ $(NULL) OBJS = globals.o \ extutil.o \ - $(SHMOBJS) \ $(NULL) LINTLIBS = $(LINTXLIB) diff --git a/nx-X11/lib/Xext/XShm.c b/nx-X11/lib/Xext/XShm.c deleted file mode 100644 index ec3720732..000000000 --- a/nx-X11/lib/Xext/XShm.c +++ /dev/null @@ -1,437 +0,0 @@ -/* $XdotOrg: xc/lib/Xext/XShm.c,v 1.5 2005/07/30 21:07:25 alanc Exp $ */ -/* - * $Xorg: XShm.c,v 1.4 2001/02/09 02:03:49 xorgcvs Exp $ - * -Copyright 1989, 1998 The Open Group - -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. - -The above copyright notice and this permission notice 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 THE -OPEN GROUP 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 The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - * - * Author: Bob Scheifler and Keith Packard, MIT X Consortium - */ -/* $XFree86: xc/lib/Xext/XShm.c,v 1.6 2002/10/16 02:19:22 dawes Exp $ */ - -/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */ - -#define NEED_EVENTS -#define NEED_REPLIES -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include -#include -#include -#include - -static XExtensionInfo _shm_info_data; -static XExtensionInfo *shm_info = &_shm_info_data; -static /* const */ char *shm_extension_name = SHMNAME; - -#define ShmCheckExtension(dpy,i,val) \ - XextCheckExtension (dpy, i, shm_extension_name, val) - -/***************************************************************************** - * * - * private utility routines * - * * - *****************************************************************************/ - -static int close_display(Display *dpy, XExtCodes *codes); -static char *error_string(Display *dpy, int code, XExtCodes *codes, - char *buf, int n); -static Bool wire_to_event (Display *dpy, XEvent *re, xEvent *event); -static Status event_to_wire (Display *dpy, XEvent *re, xEvent *event); -static /* const */ XExtensionHooks shm_extension_hooks = { - NULL, /* create_gc */ - NULL, /* copy_gc */ - NULL, /* flush_gc */ - NULL, /* free_gc */ - NULL, /* create_font */ - NULL, /* free_font */ - close_display, /* close_display */ - wire_to_event, /* wire_to_event */ - event_to_wire, /* event_to_wire */ - NULL, /* error */ - error_string, /* error_string */ -}; - -static /* const */ char *shm_error_list[] = { - "BadShmSeg", /* BadShmSeg */ -}; - -static XEXT_GENERATE_FIND_DISPLAY (find_display, shm_info, shm_extension_name, - &shm_extension_hooks, ShmNumberEvents, NULL) - -static XEXT_GENERATE_CLOSE_DISPLAY (close_display, shm_info) - -static XEXT_GENERATE_ERROR_STRING (error_string, shm_extension_name, - ShmNumberErrors, shm_error_list) - - -static Bool -wire_to_event (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XShmCompletionEvent *se; - xShmCompletionEvent *sevent; - - ShmCheckExtension (dpy, info, False); - - switch ((event->u.u.type & 0x7f) - info->codes->first_event) { - case ShmCompletion: - se = (XShmCompletionEvent *) re; - sevent = (xShmCompletionEvent *) event; - se->type = sevent->type & 0x7f; - se->serial = _XSetLastRequestRead(dpy,(xGenericReply *) event); - se->send_event = (sevent->type & 0x80) != 0; - se->display = dpy; - se->drawable = sevent->drawable; - se->major_code = sevent->majorEvent; - se->minor_code = sevent->minorEvent; - se->shmseg = sevent->shmseg; - se->offset = sevent->offset; - return True; - } - return False; -} - -static Status -event_to_wire (Display *dpy, XEvent *re, xEvent *event) -{ - XExtDisplayInfo *info = find_display (dpy); - XShmCompletionEvent *se; - xShmCompletionEvent *sevent; - - ShmCheckExtension (dpy, info, 0); - - switch ((re->type & 0x7f) - info->codes->first_event) { - case ShmCompletion: - se = (XShmCompletionEvent *) re; - sevent = (xShmCompletionEvent *) event; - sevent->type = se->type | (se->send_event ? 0x80 : 0); - sevent->sequenceNumber = se->serial & 0xffff; - sevent->drawable = se->drawable; - sevent->majorEvent = se->major_code; - sevent->minorEvent = se->minor_code; - sevent->shmseg = se->shmseg; - sevent->offset = se->offset; - return True; - } - return False; -} - -/***************************************************************************** - * * - * public Shared Memory Extension routines * - * * - *****************************************************************************/ - -Bool XShmQueryExtension (Display *dpy /* int *event_basep, *error_basep */) -{ - XExtDisplayInfo *info = find_display (dpy); - - if (XextHasExtension(info)) { -/* *event_basep = info->codes->first_event; - *error_basep = info->codes->error_event; */ - return True; - } else { - return False; - } -} - - -int XShmGetEventBase(Display *dpy) -{ - XExtDisplayInfo *info = find_display (dpy); - - if (XextHasExtension(info)) { - return info->codes->first_event; - } else { - return -1; - } -} - - -Bool XShmQueryVersion( - Display *dpy, - int *majorVersion, - int *minorVersion, - Bool *sharedPixmaps) -{ - XExtDisplayInfo *info = find_display (dpy); - xShmQueryVersionReply rep; - register xShmQueryVersionReq *req; - - ShmCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(ShmQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmQueryVersion; - if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - return False; - } - *majorVersion = rep.majorVersion; - *minorVersion = rep.minorVersion; - *sharedPixmaps = rep.sharedPixmaps ? True : False; - UnlockDisplay(dpy); - SyncHandle(); - return True; -} - - -int XShmPixmapFormat(Display *dpy) -{ - XExtDisplayInfo *info = find_display (dpy); - xShmQueryVersionReply rep; - register xShmQueryVersionReq *req; - - ShmCheckExtension (dpy, info, False); - - LockDisplay(dpy); - GetReq(ShmQueryVersion, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmQueryVersion; - if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - UnlockDisplay(dpy); - SyncHandle(); - if (rep.sharedPixmaps && - (rep.majorVersion > 1 || rep.minorVersion > 0)) - return rep.pixmapFormat; - return 0; -} - - -Status XShmAttach(Display *dpy, XShmSegmentInfo *shminfo) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShmAttachReq *req; - - ShmCheckExtension (dpy, info, 0); - - shminfo->shmseg = XAllocID(dpy); - LockDisplay(dpy); - GetReq(ShmAttach, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmAttach; - req->shmseg = shminfo->shmseg; - req->shmid = shminfo->shmid; - req->readOnly = shminfo->readOnly ? xTrue : xFalse; - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - - -Status XShmDetach(Display *dpy, XShmSegmentInfo *shminfo) -{ - XExtDisplayInfo *info = find_display (dpy); - register xShmDetachReq *req; - - ShmCheckExtension (dpy, info, 0); - - LockDisplay(dpy); - GetReq(ShmDetach, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmDetach; - req->shmseg = shminfo->shmseg; - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - -static int _XShmDestroyImage (XImage *ximage) -{ - Xfree((char *)ximage); - return 1; -} - -#define ROUNDUP(nbytes, pad) ((((nbytes) + ((pad) - 1)) / (pad)) * (pad)) - -XImage *XShmCreateImage ( - register Display *dpy, - register Visual *visual, - unsigned int depth, - int format, - char *data, - XShmSegmentInfo *shminfo, - unsigned int width, - unsigned int height) -{ - register XImage *image; - - image = (XImage *)Xcalloc(1, (unsigned)sizeof(XImage)); - if (!image) - return image; - image->data = data; - image->obdata = (char *)shminfo; - image->width = width; - image->height = height; - image->depth = depth; - image->format = format; - image->byte_order = dpy->byte_order; - image->bitmap_unit = dpy->bitmap_unit; - image->bitmap_bit_order = dpy->bitmap_bit_order; - image->bitmap_pad = _XGetScanlinePad(dpy, depth); - image->xoffset = 0; - if (visual) { - image->red_mask = visual->red_mask; - image->green_mask = visual->green_mask; - image->blue_mask = visual->blue_mask; - } else { - image->red_mask = image->green_mask = image->blue_mask = 0; - } - if (format == ZPixmap) - image->bits_per_pixel = _XGetBitsPerPixel(dpy, (int)depth); - else - image->bits_per_pixel = 1; - image->bytes_per_line = ROUNDUP((image->bits_per_pixel * width), - image->bitmap_pad) >> 3; - _XInitImageFuncPtrs(image); - image->f.destroy_image = _XShmDestroyImage; - return image; -} - -Status XShmPutImage ( - register Display *dpy, - Drawable d, - GC gc, - register XImage *image, - int src_x, int src_y, int dst_x, int dst_y, - unsigned int src_width, unsigned int src_height, - Bool send_event) -{ - XExtDisplayInfo *info = find_display (dpy); - XShmSegmentInfo *shminfo = (XShmSegmentInfo *)image->obdata; - register xShmPutImageReq *req; - - ShmCheckExtension (dpy, info, 0); - if (!shminfo) return 0; - - LockDisplay(dpy); - FlushGC(dpy, gc); - GetReq(ShmPutImage, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmPutImage; - req->drawable = d; - req->gc = gc->gid; - req->srcX = src_x; - req->srcY = src_y; - req->srcWidth = src_width; - req->srcHeight = src_height; - req->dstX = dst_x; - req->dstY = dst_y; - req->totalWidth = image->width; - req->totalHeight = image->height; - req->depth = image->depth; - req->format = image->format; - req->sendEvent = send_event; - req->shmseg = shminfo->shmseg; - req->offset = image->data - shminfo->shmaddr; - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - - -Status XShmGetImage( - register Display *dpy, - Drawable d, - XImage *image, - int x, int y, - unsigned long plane_mask) -{ - XExtDisplayInfo *info = find_display (dpy); - XShmSegmentInfo *shminfo = (XShmSegmentInfo *)image->obdata; - register xShmGetImageReq *req; - xShmGetImageReply rep; - register Visual *visual; - - ShmCheckExtension (dpy, info, 0); - if (!shminfo) return 0; - - LockDisplay(dpy); - GetReq(ShmGetImage, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmGetImage; - req->drawable = d; - req->x = x; - req->y = y; - req->width = image->width; - req->height = image->height; - req->planeMask = plane_mask; - req->format = image->format; - req->shmseg = shminfo->shmseg; - req->offset = image->data - shminfo->shmaddr; - if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) { - UnlockDisplay(dpy); - SyncHandle(); - return 0; - } - visual = _XVIDtoVisual(dpy, rep.visual); - if (visual) { - image->red_mask = visual->red_mask; - image->green_mask = visual->green_mask; - image->blue_mask = visual->blue_mask; - } else { - image->red_mask = image->green_mask = image->blue_mask = 0; - } - UnlockDisplay(dpy); - SyncHandle(); - return 1; -} - -Pixmap XShmCreatePixmap ( - register Display *dpy, - Drawable d, - char *data, - XShmSegmentInfo *shminfo, - unsigned int width, unsigned int height, unsigned int depth) -{ - XExtDisplayInfo *info = find_display (dpy); - Pixmap pid; - register xShmCreatePixmapReq *req; - - ShmCheckExtension (dpy, info, 0); - - LockDisplay(dpy); - GetReq(ShmCreatePixmap, req); - req->reqType = info->codes->major_opcode; - req->shmReqType = X_ShmCreatePixmap; - req->drawable = d; - req->width = width; - req->height = height; - req->depth = depth; - req->shmseg = shminfo->shmseg; - req->offset = data - shminfo->shmaddr; - pid = req->pid = XAllocID(dpy); - UnlockDisplay(dpy); - SyncHandle(); - return pid; -} diff --git a/nx-X11/programs/Xserver/Xext/extmod/modinit.h b/nx-X11/programs/Xserver/Xext/extmod/modinit.h index 24cef286b..094837d34 100644 --- a/nx-X11/programs/Xserver/Xext/extmod/modinit.h +++ b/nx-X11/programs/Xserver/Xext/extmod/modinit.h @@ -67,7 +67,7 @@ extern void ResExtensionInit(INITARGS); #ifdef SHM extern void ShmExtensionInit(INITARGS); -#include +#include extern void ShmSetPixmapFormat( ScreenPtr pScreen, int format); diff --git a/nx-X11/programs/Xserver/Xext/shm.c b/nx-X11/programs/Xserver/Xext/shm.c index 94d6b4ac1..bca8c2e0e 100644 --- a/nx-X11/programs/Xserver/Xext/shm.c +++ b/nx-X11/programs/Xserver/Xext/shm.c @@ -60,7 +60,7 @@ in this Software without prior written authorization from The Open Group. #include "extnsionst.h" #include "servermd.h" #define _XSHM_SERVER_ -#include +#include #include #ifdef EXTMODULE #include "xf86_ansic.h" @@ -1319,4 +1319,4 @@ SProcShmDispatch (client) return BadRequest; } } -#endif /* NXAGENT_SERVER */ \ No newline at end of file +#endif /* NXAGENT_SERVER */ diff --git a/nx-X11/programs/Xserver/Xext/xvdisp.c b/nx-X11/programs/Xserver/Xext/xvdisp.c index ecd4f9a66..3bcb130c7 100644 --- a/nx-X11/programs/Xserver/Xext/xvdisp.c +++ b/nx-X11/programs/Xserver/Xext/xvdisp.c @@ -68,7 +68,7 @@ SOFTWARE. #include "xvdix.h" #ifdef MITSHM #define _XSHM_SERVER_ -#include +#include #endif #ifdef EXTMODULE diff --git a/nx-X11/programs/Xserver/mi/miinitext.c b/nx-X11/programs/Xserver/mi/miinitext.c index b58202ebd..dcd91c5e0 100644 --- a/nx-X11/programs/Xserver/mi/miinitext.c +++ b/nx-X11/programs/Xserver/mi/miinitext.c @@ -158,7 +158,7 @@ typedef void (*InitExtension)(INITARGS); #ifdef MITSHM #define _XSHM_SERVER_ -#include +#include #endif #ifdef XTEST #define _XTEST_SERVER_ diff --git a/nx-X11/programs/Xserver/mi/miscrinit.c b/nx-X11/programs/Xserver/mi/miscrinit.c index addd5dd64..da80932ad 100644 --- a/nx-X11/programs/Xserver/mi/miscrinit.c +++ b/nx-X11/programs/Xserver/mi/miscrinit.c @@ -42,7 +42,7 @@ from The Open Group. #include "miline.h" #ifdef MITSHM #define _XSHM_SERVER_ -#include +#include #endif /* We use this structure to propogate some information from miScreenInit to diff --git a/nxcompshad/X11.h b/nxcompshad/X11.h index d7b858100..f5d7f2916 100644 --- a/nxcompshad/X11.h +++ b/nxcompshad/X11.h @@ -19,7 +19,7 @@ #define X11Poller_H #include -#include +#include #include "X11/include/Xdamage_nxcompshad.h" #include "X11/include/Xrandr_nxcompshad.h" -- cgit v1.2.3