From 30eaf03aef5847adb6da7efd4bbf4a4abaf5d738 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 1 Dec 2010 06:54:34 +0000 Subject: xserver libX11 libxcb update 1/12/2010 --- libX11/configure.ac | 1 + libX11/specs/Makefile.am | 2 +- libxcb/src/xcbext.h | 195 +- xorg-server/Xext/panoramiX.c | 16 + xorg-server/Xext/panoramiXsrv.h | 1 + xorg-server/composite/compext.c | 362 ++- xorg-server/composite/compint.h | 3 + xorg-server/composite/compoverlay.c | 17 +- xorg-server/composite/compwindow.c | 22 +- xorg-server/configure.ac | 4 +- xorg-server/dix/getevents.c | 12 +- xorg-server/doc/xml/Xserver-spec.xml | 64 - xorg-server/glx/Makefile.am | 201 +- xorg-server/glx/g_disptab.h | 52 - xorg-server/glx/glxcmds.c | 233 -- xorg-server/glx/glxcmdsswap.c | 1541 +++++----- xorg-server/glx/glxdri.c | 1 - xorg-server/glx/glxdri2.c | 1 - xorg-server/glx/glxdriswrast.c | 1 - xorg-server/glx/glxext.c | 19 +- xorg-server/glx/glxscreens.c | 31 - xorg-server/glx/glxscreens.h | 18 - xorg-server/glx/indirect_table.c | 3191 ++++++++++---------- xorg-server/glx/xfont.c | 1 - xorg-server/hw/dmx/dmxpict.c | 2 - xorg-server/hw/dmx/dmxscrinit.c | 2 - xorg-server/hw/kdrive/src/kdrive.c | 6 - xorg-server/hw/vfb/InitOutput.c | 7 - xorg-server/hw/xfree86/Makefile.am | 240 +- xorg-server/hw/xfree86/common/xf86.h | 3 - xorg-server/hw/xfree86/common/xf86Globals.c | 1 - xorg-server/hw/xfree86/common/xf86Init.c | 3 +- xorg-server/hw/xfree86/common/xf86Mode.c | 21 +- xorg-server/hw/xfree86/doc/sgml/DESIGN.xml | 8 - xorg-server/hw/xfree86/loader/sdksyms.sh | 8 - xorg-server/hw/xfree86/modes/xf86Cursors.c | 62 +- xorg-server/hw/xfree86/os-support/Makefile.am | 52 +- xorg-server/hw/xfree86/os-support/linux/lnx_init.c | 108 +- .../hw/xfree86/os-support/shared/VTsw_usl.c | 15 - xorg-server/hw/xfree86/os-support/sysv/Makefile.am | 1 - xorg-server/hw/xfree86/os-support/sysv/sysv_init.c | 252 -- .../hw/xfree86/os-support/sysv/sysv_video.c | 315 -- xorg-server/hw/xfree86/vbe/vbe.c | 5 + xorg-server/hw/xfree86/xaa/xaa.h | 2790 +++++++++-------- xorg-server/hw/xfree86/xf8_16bpp/Makefile.am | 11 - xorg-server/hw/xfree86/xf8_16bpp/cfb8_16.h | 37 - xorg-server/hw/xfree86/xf8_16bpp/xf8_16module.c | 78 - xorg-server/hw/xnest/Screen.c | 2 - xorg-server/hw/xquartz/GL/indirect.c | 2 - xorg-server/hw/xquartz/darwin.c | 22 - xorg-server/hw/xwin/glx/indirect.c | 2 - xorg-server/hw/xwin/winscrinit.c | 7 - xorg-server/include/Makefile.am | 2 - xorg-server/include/bstore.h | 22 - xorg-server/include/bstorestr.h | 55 - xorg-server/include/os.h | 23 - xorg-server/include/scrnintstr.h | 67 - xorg-server/include/windowstr.h | 2 +- xorg-server/mi/Makefile.am | 2 - xorg-server/mi/mi.h | 4 - xorg-server/mi/mibstore.c | 92 +- xorg-server/mi/mibstore.h | 48 +- xorg-server/mi/mibstorest.h | 91 - xorg-server/mi/miscrinit.c | 20 - xorg-server/mi/mivalidate.h | 103 +- xorg-server/miext/rootless/rootlessValTree.c | 12 - xorg-server/render/glyphstr.h | 301 +- xorg-server/render/picture.c | 6 +- xorg-server/render/picturestr.h | 15 +- xorg-server/xfixes/region.c | 78 + xorg-server/xfixes/xfixes.c | 30 + xorg-server/xfixes/xfixesint.h | 557 ++-- 72 files changed, 5276 insertions(+), 6305 deletions(-) delete mode 100644 xorg-server/glx/g_disptab.h delete mode 100644 xorg-server/hw/xfree86/os-support/sysv/Makefile.am delete mode 100644 xorg-server/hw/xfree86/os-support/sysv/sysv_init.c delete mode 100644 xorg-server/hw/xfree86/os-support/sysv/sysv_video.c delete mode 100644 xorg-server/hw/xfree86/xf8_16bpp/Makefile.am delete mode 100644 xorg-server/hw/xfree86/xf8_16bpp/cfb8_16.h delete mode 100644 xorg-server/hw/xfree86/xf8_16bpp/xf8_16module.c delete mode 100644 xorg-server/include/bstore.h delete mode 100644 xorg-server/include/bstorestr.h delete mode 100644 xorg-server/mi/mibstorest.h diff --git a/libX11/configure.ac b/libX11/configure.ac index baff95fd4..dfe112a6b 100644 --- a/libX11/configure.ac +++ b/libX11/configure.ac @@ -469,6 +469,7 @@ AC_OUTPUT([Makefile specs/i18n/trans/Makefile specs/libX11/Makefile specs/XIM/Makefile + specs/XKB/Makefile x11.pc x11-xcb.pc]) diff --git a/libX11/specs/Makefile.am b/libX11/specs/Makefile.am index e2ff4117e..697de5dda 100644 --- a/libX11/specs/Makefile.am +++ b/libX11/specs/Makefile.am @@ -21,4 +21,4 @@ # DEALINGS IN THE SOFTWARE. # -SUBDIRS=libX11 i18n XIM +SUBDIRS=libX11 i18n XIM XKB diff --git a/libxcb/src/xcbext.h b/libxcb/src/xcbext.h index 2e10ba203..8c3e39cb7 100644 --- a/libxcb/src/xcbext.h +++ b/libxcb/src/xcbext.h @@ -1,94 +1,101 @@ -/* - * Copyright (C) 2001-2004 Bart Massey and Jamey Sharp. - * 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 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 - * AUTHORS 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 names of the authors or their - * institutions 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 authors. - */ - -#ifndef __XCBEXT_H -#define __XCBEXT_H - -#include "xcb.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* xcb_ext.c */ - -struct xcb_extension_t { - const char *name; - int global_id; -}; - - -/* xcb_out.c */ - -typedef struct { - size_t count; - xcb_extension_t *ext; - uint8_t opcode; - uint8_t isvoid; -} xcb_protocol_request_t; - -enum xcb_send_request_flags_t { - XCB_REQUEST_CHECKED = 1 << 0, - XCB_REQUEST_RAW = 1 << 1, - XCB_REQUEST_DISCARD_REPLY = 1 << 2 -}; - -unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request); - -/* xcb_take_socket allows external code to ask XCB for permission to - * take over the write side of the socket and send raw data with - * xcb_writev. xcb_take_socket provides the sequence number of the last - * request XCB sent. The caller of xcb_take_socket must supply a - * callback which XCB can call when it wants the write side of the - * socket back to make a request. This callback synchronizes with the - * external socket owner, flushes any output queues if appropriate, and - * then returns the sequence number of the last request sent over the - * socket. */ -int xcb_take_socket(xcb_connection_t *c, void (*return_socket)(void *closure), void *closure, int flags, uint64_t *sent); - -/* You must own the write-side of the socket (you've called - * xcb_take_socket, and haven't returned from return_socket yet) to call - * xcb_writev. Also, the iovec must have at least 1 byte of data in it. - * */ -int xcb_writev(xcb_connection_t *c, struct iovec *vector, int count, uint64_t requests); - - -/* xcb_in.c */ - -void *xcb_wait_for_reply(xcb_connection_t *c, unsigned int request, xcb_generic_error_t **e); -int xcb_poll_for_reply(xcb_connection_t *c, unsigned int request, void **reply, xcb_generic_error_t **error); - - -/* xcb_util.c */ - -int xcb_popcount(uint32_t mask); - -#ifdef __cplusplus -} -#endif - -#endif +/* + * Copyright (C) 2001-2004 Bart Massey and Jamey Sharp. + * 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 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 + * AUTHORS 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 names of the authors or their + * institutions 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 authors. + */ + +#ifndef __XCBEXT_H +#define __XCBEXT_H + +#include "xcb.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* xcb_ext.c */ + +struct xcb_extension_t { + const char *name; + int global_id; +}; + + +/* xcb_out.c */ + +typedef struct { + size_t count; + xcb_extension_t *ext; + uint8_t opcode; + uint8_t isvoid; +} xcb_protocol_request_t; + +enum xcb_send_request_flags_t { + XCB_REQUEST_CHECKED = 1 << 0, + XCB_REQUEST_RAW = 1 << 1, + XCB_REQUEST_DISCARD_REPLY = 1 << 2 +}; + +unsigned int xcb_send_request(xcb_connection_t *c, int flags, struct iovec *vector, const xcb_protocol_request_t *request); + +/* xcb_take_socket allows external code to ask XCB for permission to + * take over the write side of the socket and send raw data with + * xcb_writev. xcb_take_socket provides the sequence number of the last + * request XCB sent. The caller of xcb_take_socket must supply a + * callback which XCB can call when it wants the write side of the + * socket back to make a request. This callback synchronizes with the + * external socket owner and flushes any output queues if appropriate. + * If you are sending requests which won't cause a reply, please note the + * comment for xcb_writev which explains some sequence number wrap issues. + * */ +int xcb_take_socket(xcb_connection_t *c, void (*return_socket)(void *closure), void *closure, int flags, uint64_t *sent); + +/* You must own the write-side of the socket (you've called + * xcb_take_socket, and haven't returned from return_socket yet) to call + * xcb_writev. Also, the iovec must have at least 1 byte of data in it. + * You have to make sure that xcb can detect sequence number wraps correctly. + * This means that the first request you send after xcb_take_socket must cause a + * reply (e.g. just insert a GetInputFocus request). After every (1 << 16) - 1 + * requests without a reply, you have to insert a request which will cause a + * reply. You can again use GetInputFocus for this. You do not have to wait for + * any of the GetInputFocus replies, but can instead handle them via + * xcb_discard_reply(). */ +int xcb_writev(xcb_connection_t *c, struct iovec *vector, int count, uint64_t requests); + + +/* xcb_in.c */ + +void *xcb_wait_for_reply(xcb_connection_t *c, unsigned int request, xcb_generic_error_t **e); +int xcb_poll_for_reply(xcb_connection_t *c, unsigned int request, void **reply, xcb_generic_error_t **error); + + +/* xcb_util.c */ + +int xcb_popcount(uint32_t mask); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/xorg-server/Xext/panoramiX.c b/xorg-server/Xext/panoramiX.c index 1b340e80e..489224221 100644 --- a/xorg-server/Xext/panoramiX.c +++ b/xorg-server/Xext/panoramiX.c @@ -53,6 +53,12 @@ Equipment Corporation. #include "servermd.h" #include "resource.h" #include "picturestr.h" +#ifdef XFIXES +#include "xfixesint.h" +#endif +#ifdef COMPOSITE +#include "compint.h" +#endif #include "modinit.h" #include "protocol-versions.h" @@ -581,6 +587,13 @@ void PanoramiXExtensionInit(int argc, char *argv[]) ProcVector[X_StoreNamedColor] = PanoramiXStoreNamedColor; PanoramiXRenderInit (); +#ifdef XFIXES + PanoramiXFixesInit (); +#endif +#ifdef COMPOSITE + PanoramiXCompositeInit (); +#endif + } extern Bool CreateConnectionBlock(void); @@ -882,6 +895,9 @@ static void PanoramiXResetProc(ExtensionEntry* extEntry) int i; PanoramiXRenderReset (); +#ifdef XFIXES + PanoramiXFixesReset (); +#endif screenInfo.numScreens = PanoramiXNumScreens; for (i = 256; i--; ) ProcVector[i] = SavedProcVector[i]; diff --git a/xorg-server/Xext/panoramiXsrv.h b/xorg-server/Xext/panoramiXsrv.h index 28b039458..d177df28d 100644 --- a/xorg-server/Xext/panoramiXsrv.h +++ b/xorg-server/Xext/panoramiXsrv.h @@ -26,6 +26,7 @@ extern _X_EXPORT unsigned long XRT_WINDOW; extern _X_EXPORT unsigned long XRT_PIXMAP; extern _X_EXPORT unsigned long XRT_GC; extern _X_EXPORT unsigned long XRT_COLORMAP; +extern _X_EXPORT unsigned long XRT_PICTURE; /* * Drivers are allowed to wrap this function. Each wrapper can decide that the diff --git a/xorg-server/composite/compext.c b/xorg-server/composite/compext.c index a87b37ca8..2ee6f1259 100644 --- a/xorg-server/composite/compext.c +++ b/xorg-server/composite/compext.c @@ -535,13 +535,6 @@ CompositeExtensionInit (void) if (GetPictureScreenIfSet(pScreen) == NULL) return; } -#ifdef PANORAMIX - /* Xinerama's rewriting of window drawing before Composite gets to it - * breaks Composite. - */ - if (!noPanoramiXExtension) - return; -#endif CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow, "CompositeClientWindow"); @@ -582,3 +575,358 @@ CompositeExtensionInit (void) /* Initialization succeeded */ noCompositeExtension = FALSE; } + +#ifdef PANORAMIX +#include "panoramiXsrv.h" + +int (*PanoramiXSaveCompositeVector[CompositeNumberRequests]) (ClientPtr); + +static int +PanoramiXCompositeRedirectWindow (ClientPtr client) +{ + PanoramiXRes *win; + int rc = 0, j; + REQUEST(xCompositeRedirectWindowReq); + + REQUEST_SIZE_MATCH(xCompositeRedirectWindowReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + FOR_NSCREENS_FORWARD(j) { + stuff->window = win->info[j].id; + rc = (*PanoramiXSaveCompositeVector[stuff->compositeReqType]) (client); + if (rc != Success) break; + } + + return rc; +} + +static int +PanoramiXCompositeRedirectSubwindows (ClientPtr client) +{ + PanoramiXRes *win; + int rc = 0, j; + REQUEST(xCompositeRedirectSubwindowsReq); + + REQUEST_SIZE_MATCH(xCompositeRedirectSubwindowsReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + FOR_NSCREENS_FORWARD(j) { + stuff->window = win->info[j].id; + rc = (*PanoramiXSaveCompositeVector[stuff->compositeReqType]) (client); + if (rc != Success) break; + } + + return rc; +} + +static int +PanoramiXCompositeUnredirectWindow (ClientPtr client) +{ + PanoramiXRes *win; + int rc = 0, j; + REQUEST(xCompositeUnredirectWindowReq); + + REQUEST_SIZE_MATCH(xCompositeUnredirectWindowReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + FOR_NSCREENS_FORWARD(j) { + stuff->window = win->info[j].id; + rc = (*PanoramiXSaveCompositeVector[stuff->compositeReqType]) (client); + if (rc != Success) break; + } + + return rc; +} + +static int +PanoramiXCompositeUnredirectSubwindows (ClientPtr client) +{ + PanoramiXRes *win; + int rc = 0, j; + REQUEST(xCompositeUnredirectSubwindowsReq); + + REQUEST_SIZE_MATCH(xCompositeUnredirectSubwindowsReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + FOR_NSCREENS_FORWARD(j) { + stuff->window = win->info[j].id; + rc = (*PanoramiXSaveCompositeVector[stuff->compositeReqType]) (client); + if (rc != Success) break; + } + + return rc; +} + +static int +PanoramiXCompositeNameWindowPixmap (ClientPtr client) +{ + WindowPtr pWin; + CompWindowPtr cw; + PixmapPtr pPixmap; + int rc; + PanoramiXRes *win, *newPix; + int i; + REQUEST(xCompositeNameWindowPixmapReq); + + REQUEST_SIZE_MATCH(xCompositeNameWindowPixmapReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + LEGAL_NEW_RESOURCE (stuff->pixmap, client); + + if(!(newPix = malloc(sizeof(PanoramiXRes)))) + return BadAlloc; + + newPix->type = XRT_PIXMAP; + newPix->u.pix.shared = FALSE; + newPix->info[0].id = stuff->pixmap; + + for (i = 1; i < PanoramiXNumScreens; i++) + newPix->info[i].id = FakeClientID (client->index); + + FOR_NSCREENS(i) { + rc = dixLookupResourceByType ((void **) &pWin, win->info[i].id, + RT_WINDOW, client, DixGetAttrAccess); + if (rc != Success) + { + client->errorValue = stuff->window; + free (newPix); + return rc; + } + + if (!pWin->viewable) + { + free (newPix); + return BadMatch; + } + + cw = GetCompWindow (pWin); + if (!cw) + { + free (newPix); + return BadMatch; + } + + pPixmap = (*pWin->drawable.pScreen->GetWindowPixmap) (pWin); + if (!pPixmap) + { + free (newPix); + return BadMatch; + } + + if (!AddResource (newPix->info[i].id, RT_PIXMAP, + (pointer) pPixmap)) + return BadAlloc; + + ++pPixmap->refcnt; + } + + if (!AddResource (stuff->pixmap, XRT_PIXMAP, (pointer) newPix)) + return BadAlloc; + + return Success; +} + + +static int +PanoramiXCompositeGetOverlayWindow (ClientPtr client) +{ + REQUEST(xCompositeGetOverlayWindowReq); + xCompositeGetOverlayWindowReply rep; + WindowPtr pWin; + ScreenPtr pScreen; + CompScreenPtr cs; + CompOverlayClientPtr pOc; + int rc; + PanoramiXRes *win, *overlayWin = NULL; + int i; + + REQUEST_SIZE_MATCH(xCompositeGetOverlayWindowReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + cs = GetCompScreen(screenInfo.screens[0]); + if (!cs->pOverlayWin) + { + if(!(overlayWin = malloc(sizeof(PanoramiXRes)))) + return BadAlloc; + + overlayWin->type = XRT_WINDOW; + overlayWin->u.win.root = FALSE; + } + + FOR_NSCREENS_BACKWARD(i) { + rc = dixLookupResourceByType((pointer *)&pWin, win->info[i].id, + RT_WINDOW, client, DixGetAttrAccess); + if (rc != Success) + { + client->errorValue = stuff->window; + return rc; + } + pScreen = pWin->drawable.pScreen; + + /* + * Create an OverlayClient structure to mark this client's + * interest in the overlay window + */ + pOc = compCreateOverlayClient(pScreen, client); + if (pOc == NULL) + return BadAlloc; + + /* + * Make sure the overlay window exists + */ + cs = GetCompScreen(pScreen); + if (cs->pOverlayWin == NULL) + if (!compCreateOverlayWindow(pScreen)) + { + FreeResource (pOc->resource, RT_NONE); + return BadAlloc; + } + + rc = XaceHook(XACE_RESOURCE_ACCESS, client, + cs->pOverlayWin->drawable.id, + RT_WINDOW, cs->pOverlayWin, RT_NONE, NULL, + DixGetAttrAccess); + if (rc != Success) + { + FreeResource (pOc->resource, RT_NONE); + return rc; + } + } + + if (overlayWin) + { + FOR_NSCREENS(i) { + cs = GetCompScreen(screenInfo.screens[i]); + overlayWin->info[i].id = cs->pOverlayWin->drawable.id; + } + + AddResource(overlayWin->info[0].id, XRT_WINDOW, overlayWin); + } + + cs = GetCompScreen(screenInfo.screens[0]); + + rep.type = X_Reply; + rep.sequenceNumber = client->sequence; + rep.length = 0; + rep.overlayWin = cs->pOverlayWin->drawable.id; + + if (client->swapped) + { + int n; + swaps(&rep.sequenceNumber, n); + swapl(&rep.length, n); + swapl(&rep.overlayWin, n); + } + (void) WriteToClient(client, sz_xCompositeGetOverlayWindowReply, (char *)&rep); + + return Success; +} + +static int +PanoramiXCompositeReleaseOverlayWindow (ClientPtr client) +{ + REQUEST(xCompositeReleaseOverlayWindowReq); + WindowPtr pWin; + ScreenPtr pScreen; + CompOverlayClientPtr pOc; + PanoramiXRes *win; + int i, rc; + + REQUEST_SIZE_MATCH(xCompositeReleaseOverlayWindowReq); + + if ((rc = dixLookupResourceByType((void **)&win, stuff->window, XRT_WINDOW, + client, DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + + FOR_NSCREENS_BACKWARD(i) { + if ((rc = dixLookupResourceByType((void **)&pWin, win->info[i].id, + XRT_WINDOW, client, + DixUnknownAccess))) { + client->errorValue = stuff->window; + return rc; + } + pScreen = pWin->drawable.pScreen; + + /* + * Has client queried a reference to the overlay window + * on this screen? If not, generate an error. + */ + pOc = compFindOverlayClient (pWin->drawable.pScreen, client); + if (pOc == NULL) + return BadMatch; + + /* The delete function will free the client structure */ + FreeResource (pOc->resource, RT_NONE); + } + + return Success; +} + +void +PanoramiXCompositeInit (void) +{ + int i; + + for (i = 0; i < CompositeNumberRequests; i++) + PanoramiXSaveCompositeVector[i] = ProcCompositeVector[i]; + /* + * Stuff in Xinerama aware request processing hooks + */ + ProcCompositeVector[X_CompositeRedirectWindow] = + PanoramiXCompositeRedirectWindow; + ProcCompositeVector[X_CompositeRedirectSubwindows] = + PanoramiXCompositeRedirectSubwindows; + ProcCompositeVector[X_CompositeUnredirectWindow] = + PanoramiXCompositeUnredirectWindow; + ProcCompositeVector[X_CompositeUnredirectSubwindows] = + PanoramiXCompositeUnredirectSubwindows; + ProcCompositeVector[X_CompositeNameWindowPixmap] = + PanoramiXCompositeNameWindowPixmap; + ProcCompositeVector[X_CompositeGetOverlayWindow] = + PanoramiXCompositeGetOverlayWindow; + ProcCompositeVector[X_CompositeReleaseOverlayWindow] = + PanoramiXCompositeReleaseOverlayWindow; +} + +void +PanoramiXCompositeReset (void) +{ + int i; + + for (i = 0; i < CompositeNumberRequests; i++) + ProcCompositeVector[i] = PanoramiXSaveCompositeVector[i]; +} + +#endif diff --git a/xorg-server/composite/compint.h b/xorg-server/composite/compint.h index 8213c1605..f78884985 100644 --- a/xorg-server/composite/compint.h +++ b/xorg-server/composite/compint.h @@ -326,4 +326,7 @@ int compConfigNotify(WindowPtr pWin, int x, int y, int w, int h, int bw, WindowPtr pSib); +void PanoramiXCompositeInit (void); +void PanoramiXCompositeReset (void); + #endif /* _COMPINT_H_ */ diff --git a/xorg-server/composite/compoverlay.c b/xorg-server/composite/compoverlay.c index 6a5b01dfb..2d81aeb95 100644 --- a/xorg-server/composite/compoverlay.c +++ b/xorg-server/composite/compoverlay.c @@ -48,6 +48,10 @@ #include "compint.h" #include "xace.h" +#ifdef PANORAMIX +#include "panoramiXsrv.h" +#endif + /* * Delete the given overlay client list element from its screen list. */ @@ -128,10 +132,19 @@ compCreateOverlayWindow (ScreenPtr pScreen) WindowPtr pWin; XID attrs[] = { None, TRUE }; /* backPixmap, overrideRedirect */ int result; + int w = pScreen->width; + int h = pScreen->height; + +#ifdef PANORAMIX + if (!noPanoramiXExtension) + { + w = PanoramiXPixWidth; + h = PanoramiXPixHeight; + } +#endif pWin = cs->pOverlayWin = - CreateWindow (cs->overlayWid, pRoot, - 0, 0, pScreen->width, pScreen->height, 0, + CreateWindow (cs->overlayWid, pRoot, 0, 0, w, h, 0, InputOutput, CWBackPixmap | CWOverrideRedirect, &attrs[0], pRoot->drawable.depth, serverClient, pScreen->rootVisual, &result); diff --git a/xorg-server/composite/compwindow.c b/xorg-server/composite/compwindow.c index b0afc3f9a..539c1aa23 100644 --- a/xorg-server/composite/compwindow.c +++ b/xorg-server/composite/compwindow.c @@ -47,6 +47,10 @@ #include "compint.h" +#ifdef PANORAMIX +#include "panoramiXsrv.h" +#endif + #ifdef COMPOSITE_DEBUG static int compCheckWindow (WindowPtr pWin, pointer data) @@ -172,16 +176,26 @@ updateOverlayWindow(ScreenPtr pScreen) CompScreenPtr cs; WindowPtr pWin; /* overlay window */ XID vlist[2]; + int w = pScreen->width; + int h = pScreen->height; + +#ifdef PANORAMIX + if (!noPanoramiXExtension) + { + w = PanoramiXPixWidth; + h = PanoramiXPixHeight; + } +#endif cs = GetCompScreen(pScreen); if ((pWin = cs->pOverlayWin) != NULL) { - if ((pWin->drawable.width == pScreen->width) && - (pWin->drawable.height == pScreen->height)) + if ((pWin->drawable.width == w) && + (pWin->drawable.height == h)) return Success; /* Let's resize the overlay window. */ - vlist[0] = pScreen->width; - vlist[1] = pScreen->height; + vlist[0] = w; + vlist[1] = h; return ConfigureWindow(pWin, CWWidth | CWHeight, vlist, wClient(pWin)); } diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac index 8ab086211..5546858cd 100644 --- a/xorg-server/configure.ac +++ b/xorg-server/configure.ac @@ -1980,7 +1980,7 @@ if test "x$DMX" = xyes; then fi DMX_INCLUDES="$XEXT_INC $RENDER_INC $RECORD_INC" XDMX_CFLAGS="$DMXMODULES_CFLAGS" - XDMX_LIBS="$FB_LIB $MI_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $XEXT_LIB $MAIN_LIB $DIX_LIB $OS_LIB $FIXES_LIB" + XDMX_LIBS="$FB_LIB $MI_LIB $RENDER_LIB $RECORD_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $MIEXT_SHADOW_LIB $MIEXT_DAMAGE_LIB $XEXT_LIB $COMPOSITE_LIB $DAMAGE_LIB $MAIN_LIB $DIX_LIB $CONFIG_LIB $OS_LIB $FIXES_LIB" XDMX_SYS_LIBS="$DMXMODULES_LIBS" AC_SUBST([XDMX_CFLAGS]) AC_SUBST([XDMX_LIBS]) @@ -2230,7 +2230,6 @@ hw/xfree86/os-support/misc/Makefile hw/xfree86/os-support/linux/Makefile hw/xfree86/os-support/sco/Makefile hw/xfree86/os-support/solaris/Makefile -hw/xfree86/os-support/sysv/Makefile hw/xfree86/parser/Makefile hw/xfree86/ramdac/Makefile hw/xfree86/shadowfb/Makefile @@ -2238,7 +2237,6 @@ hw/xfree86/vbe/Makefile hw/xfree86/vgahw/Makefile hw/xfree86/x86emu/Makefile hw/xfree86/xaa/Makefile -hw/xfree86/xf8_16bpp/Makefile hw/xfree86/utils/Makefile hw/xfree86/utils/cvt/Makefile hw/xfree86/utils/gtf/Makefile diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 9fb6b689f..96b5ce29c 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -112,12 +112,12 @@ set_button_up(DeviceIntPtr pDev, int button, int type) Bool button_is_down(DeviceIntPtr pDev, int button, int type) { - int ret = 0; + Bool ret = FALSE; if (type & BUTTON_PROCESSED) - ret |= BitIsOn(pDev->button->down, button); + ret = ret || BitIsOn(pDev->button->down, button); if (type & BUTTON_POSTED) - ret |= BitIsOn(pDev->button->postdown, button); + ret = ret || BitIsOn(pDev->button->postdown, button); return ret; } @@ -143,12 +143,12 @@ set_key_up(DeviceIntPtr pDev, int key_code, int type) Bool key_is_down(DeviceIntPtr pDev, int key_code, int type) { - int ret = 0; + Bool ret = FALSE; if (type & KEY_PROCESSED) - ret |= BitIsOn(pDev->key->down, key_code); + ret = ret || BitIsOn(pDev->key->down, key_code); if (type & KEY_POSTED) - ret |= BitIsOn(pDev->key->postdown, key_code); + ret = ret || BitIsOn(pDev->key->postdown, key_code); return ret; } diff --git a/xorg-server/doc/xml/Xserver-spec.xml b/xorg-server/doc/xml/Xserver-spec.xml index 1b216ce8d..6b8917042 100644 --- a/xorg-server/doc/xml/Xserver-spec.xml +++ b/xorg-server/doc/xml/Xserver-spec.xml @@ -1361,70 +1361,6 @@ The sample server implementation for these routines is in Xserver/os/util.c. -
- Idiom Support - -The DBE specification introduces the notion of idioms, which are -groups of X requests which can be executed more efficiently when taken -as a whole compared to being performed individually and sequentially. -This following server internal support to allows DBE -implementations, as well as other parts of the server, -to do idiom processing. - - -
- - xReqPtr PeekNextRequest(xReqPtr req, ClientPtr client, Bool readmore) -
-If req is NULL, the return value will be a pointer to the start of the -complete request that follows the one currently being executed for the -client. If req is not NULL, the function assumes that req is a -pointer to a request in the client's request buffer, and the return -value will be a pointer to the the start of the complete request that -follows req. If the complete request is not available, the function -returns NULL; pointers to partial requests will never be returned. If -(and only if) readmore is TRUE, PeekNextRequest should try to read an -additional request from the client if one is not already available in -the client's request buffer. If PeekNextRequest reads more data into -the request buffer, it should not move or change the existing data. -
- -
- - void SkipRequests(xReqPtr req, ClientPtr client, int numskipped) -
-The requests for the client up to and including the one specified by -req will be skipped. numskipped must be the number of requests being -skipped. Normal request processing will resume with the request that -follows req. The caller must not have modified the contents of the -request buffer in any way (e.g., by doing byte swapping in place). -
- -Additionally, two macros in os.h operate on the xReq -pointer returned by PeekNextRequest: -
- - int ReqLen(xReqPtr req, ClientPtr client) -
-The value of ReqLen is the request length in bytes of the given xReq. -
- - otherReqTypePtr CastxReq(xReq *req, otherReqTypePtr) -
-The value of CastxReq is the conversion of the given request pointer -to an otherReqTypePtr (which should be a pointer to a protocol -structure type). Only those fields which come after the length field -of otherReqType may be accessed via the returned pointer. -
- -Thus the first two fields of a request, reqType and data, can be -accessed directly using the xReq * returned by PeekNextRequest. The -next field, the length, can be accessed with ReqLen. Fields beyond -that can be accessed with CastxReq. This complexity was necessary -because of the reencoding of core protocol that can happen due to the -BigRequests extension. - -
diff --git a/xorg-server/glx/Makefile.am b/xorg-server/glx/Makefile.am index 9d9fa3c31..8f2b2f8da 100644 --- a/xorg-server/glx/Makefile.am +++ b/xorg-server/glx/Makefile.am @@ -1,101 +1,100 @@ -if AIGLX -GLXDRI_LIBRARY = libglxdri.la -endif - -noinst_LTLIBRARIES = libglx.la $(GLXDRI_LIBRARY) - -AM_CFLAGS = \ - @DIX_CFLAGS@ \ - @GL_CFLAGS@ \ - @DRI_CFLAGS@ \ - @XLIB_CFLAGS@ \ - @LIBDRM_CFLAGS@ \ - @DRIPROTO_CFLAGS@ \ - -DXFree86Server \ - @GLX_DEFINES@ \ - @GLX_ARCH_DEFINES@ - -# none yet -#sdk_HEADERS = - -INCLUDES = \ - -I$(top_srcdir)/hw/xfree86/os-support \ - -I$(top_srcdir)/hw/xfree86/os-support/bus \ - -I$(top_srcdir)/hw/xfree86/common \ - -I$(top_srcdir)/hw/xfree86/dri \ - -I$(top_srcdir)/mi - -if DRI2_AIGLX -INCLUDES += -I$(top_srcdir)/hw/xfree86/dri2 -endif - -glapi_sources = \ - indirect_dispatch.c \ - indirect_dispatch.h \ - indirect_dispatch_swap.c \ - indirect_reqsize.c \ - indirect_reqsize.h \ - indirect_size.h \ - indirect_size_get.c \ - indirect_size_get.h \ - indirect_table.c \ - dispatch.h \ - glapitable.h \ - glapitemp.h \ - glapi.c \ - glapi.h \ - glapioffsets.h \ - glprocs.h \ - glthread.c \ - glthread.h - -libglxdri_la_SOURCES = \ - glxdri.c \ - extension_string.c \ - extension_string.h - -if DRI2_AIGLX -libglxdri_la_SOURCES += glxdri2.c -endif - -libglxdri_la_LIBADD = $(DLOPEN_LIBS) - -libglx_la_SOURCES = \ - $(indirect_sources) \ - $(glapi_sources) \ - indirect_util.c \ - indirect_util.h \ - indirect_program.c \ - indirect_table.h \ - indirect_texture_compression.c \ - g_disptab.h \ - glxbyteorder.h \ - glxcmds.c \ - glxcmdsswap.c \ - glxcontext.h \ - glxdrawable.h \ - glxext.c \ - glxext.h \ - glxdriswrast.c \ - glxdricommon.c \ - glxdricommon.h \ - glxscreens.c \ - glxscreens.h \ - glxserver.h \ - glxutil.h \ - render2.c \ - render2swap.c \ - renderpix.c \ - renderpixswap.c \ - rensize.c \ - single2.c \ - single2swap.c \ - singlepix.c \ - singlepixswap.c \ - singlesize.c \ - singlesize.h \ - swap_interval.c \ - unpack.h \ - xfont.c - -libglx_la_LIBADD = $(DLOPEN_LIBS) +if AIGLX +GLXDRI_LIBRARY = libglxdri.la +endif + +noinst_LTLIBRARIES = libglx.la $(GLXDRI_LIBRARY) + +AM_CFLAGS = \ + @DIX_CFLAGS@ \ + @GL_CFLAGS@ \ + @DRI_CFLAGS@ \ + @XLIB_CFLAGS@ \ + @LIBDRM_CFLAGS@ \ + @DRIPROTO_CFLAGS@ \ + -DXFree86Server \ + @GLX_DEFINES@ \ + @GLX_ARCH_DEFINES@ + +# none yet +#sdk_HEADERS = + +INCLUDES = \ + -I$(top_srcdir)/hw/xfree86/os-support \ + -I$(top_srcdir)/hw/xfree86/os-support/bus \ + -I$(top_srcdir)/hw/xfree86/common \ + -I$(top_srcdir)/hw/xfree86/dri \ + -I$(top_srcdir)/mi + +if DRI2_AIGLX +INCLUDES += -I$(top_srcdir)/hw/xfree86/dri2 +endif + +glapi_sources = \ + indirect_dispatch.c \ + indirect_dispatch.h \ + indirect_dispatch_swap.c \ + indirect_reqsize.c \ + indirect_reqsize.h \ + indirect_size.h \ + indirect_size_get.c \ + indirect_size_get.h \ + indirect_table.c \ + dispatch.h \ + glapitable.h \ + glapitemp.h \ + glapi.c \ + glapi.h \ + glapioffsets.h \ + glprocs.h \ + glthread.c \ + glthread.h + +libglxdri_la_SOURCES = \ + glxdri.c \ + extension_string.c \ + extension_string.h + +if DRI2_AIGLX +libglxdri_la_SOURCES += glxdri2.c +endif + +libglxdri_la_LIBADD = $(DLOPEN_LIBS) + +libglx_la_SOURCES = \ + $(indirect_sources) \ + $(glapi_sources) \ + indirect_util.c \ + indirect_util.h \ + indirect_program.c \ + indirect_table.h \ + indirect_texture_compression.c \ + glxbyteorder.h \ + glxcmds.c \ + glxcmdsswap.c \ + glxcontext.h \ + glxdrawable.h \ + glxext.c \ + glxext.h \ + glxdriswrast.c \ + glxdricommon.c \ + glxdricommon.h \ + glxscreens.c \ + glxscreens.h \ + glxserver.h \ + glxutil.h \ + render2.c \ + render2swap.c \ + renderpix.c \ + renderpixswap.c \ + rensize.c \ + single2.c \ + single2swap.c \ + singlepix.c \ + singlepixswap.c \ + singlesize.c \ + singlesize.h \ + swap_interval.c \ + unpack.h \ + xfont.c + +libglx_la_LIBADD = $(DLOPEN_LIBS) diff --git a/xorg-server/glx/g_disptab.h b/xorg-server/glx/g_disptab.h deleted file mode 100644 index 9b4308b57..000000000 --- a/xorg-server/glx/g_disptab.h +++ /dev/null @@ -1,52 +0,0 @@ -/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _GLX_g_disptab_h_ -#define _GLX_g_disptab_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 int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc); -extern int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); - -extern int __glXDispSwap_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDispSwap_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDispSwap_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDispSwap_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc); -extern int __glXDispSwap_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); -extern int __glXDispSwap_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc); - -#endif /* _GLX_g_disptab_h_ */ diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c index fb477fa98..e19c51e7a 100644 --- a/xorg-server/glx/glxcmds.c +++ b/xorg-server/glx/glxcmds.c @@ -38,7 +38,6 @@ #include "glxserver.h" #include #include -#include "g_disptab.h" #include #include #include "glxutil.h" @@ -2061,238 +2060,6 @@ int __glXDisp_RenderLarge(__GLXclientState *cl, GLbyte *pc) } } -extern RESTYPE __glXSwapBarrierRes; - -int __glXDisp_BindSwapBarrierSGIX(__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXBindSwapBarrierSGIXReq *req = (xGLXBindSwapBarrierSGIXReq *) pc; - XID drawable = req->drawable; - int barrier = req->barrier; - DrawablePtr pDraw; - int screen, rc; - __GLXscreen *pGlxScreen; - - rc = dixLookupDrawable(&pDraw, drawable, client, 0, DixGetAttrAccess); - pGlxScreen = glxGetScreen(pDraw->pScreen); - if (rc == Success && (pDraw->type == DRAWABLE_WINDOW)) { - screen = pDraw->pScreen->myNum; - if (pGlxScreen->swapBarrierFuncs) { - int ret = pGlxScreen->swapBarrierFuncs->bindSwapBarrierFunc(screen, drawable, barrier); - if (ret == Success) { - if (barrier) - /* add source for cleanup when drawable is gone */ - AddResource(drawable, __glXSwapBarrierRes, (pointer)(intptr_t)screen); - else - /* delete source */ - FreeResourceByType(drawable, __glXSwapBarrierRes, FALSE); - } - return ret; - } - } - client->errorValue = drawable; - return __glXError(GLXBadDrawable); -} - - -int __glXDisp_QueryMaxSwapBarriersSGIX(__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXQueryMaxSwapBarriersSGIXReq *req = - (xGLXQueryMaxSwapBarriersSGIXReq *) pc; - xGLXQueryMaxSwapBarriersSGIXReply reply; - int screen = req->screen; - __GLXscreen *pGlxScreen; - - pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - if (pGlxScreen->swapBarrierFuncs) - reply.max = pGlxScreen->swapBarrierFuncs->queryMaxSwapBarriersFunc(screen); - else - reply.max = 0; - - - reply.length = 0; - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; - - if (client->swapped) { - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply.sequenceNumber); - } - - WriteToClient(client, sz_xGLXQueryMaxSwapBarriersSGIXReply, - (char *) &reply); - return Success; -} - -#define GLX_BAD_HYPERPIPE_SGIX 92 - -int __glXDisp_QueryHyperpipeNetworkSGIX(__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXQueryHyperpipeNetworkSGIXReq * req = (xGLXQueryHyperpipeNetworkSGIXReq *) pc; - xGLXQueryHyperpipeNetworkSGIXReply reply; - int screen = req->screen; - void *rdata = NULL; - - int length=0; - int npipes=0; - - int n= 0; - __GLXscreen *pGlxScreen; - - pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - if (pGlxScreen->hyperpipeFuncs) { - rdata = - (pGlxScreen->hyperpipeFuncs->queryHyperpipeNetworkFunc(screen, &npipes, &n)); - } - length = __GLX_PAD(n) >> 2; - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; - reply.length = length; - reply.n = n; - reply.npipes = npipes; - - if (client->swapped) { - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply.sequenceNumber); - __GLX_SWAP_INT(&reply.length); - __GLX_SWAP_INT(&reply.n); - __GLX_SWAP_INT(&reply.npipes); - } - WriteToClient(client, sz_xGLXQueryHyperpipeNetworkSGIXReply, - (char *) &reply); - - WriteToClient(client, length << 2, (char *)rdata); - - return Success; -} - -int __glXDisp_DestroyHyperpipeConfigSGIX (__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXDestroyHyperpipeConfigSGIXReq * req = - (xGLXDestroyHyperpipeConfigSGIXReq *) pc; - xGLXDestroyHyperpipeConfigSGIXReply reply; - int screen = req->screen; - int success = GLX_BAD_HYPERPIPE_SGIX; - int hpId ; - __GLXscreen *pGlxScreen; - - hpId = req->hpId; - - pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - if (pGlxScreen->hyperpipeFuncs) { - success = pGlxScreen->hyperpipeFuncs->destroyHyperpipeConfigFunc(screen, hpId); - } - - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; - reply.length = __GLX_PAD(0) >> 2; - reply.n = 0; - reply.success = success; - - - if (client->swapped) { - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply.sequenceNumber); - } - WriteToClient(client, - sz_xGLXDestroyHyperpipeConfigSGIXReply, - (char *) &reply); - return Success; -} - -int __glXDisp_QueryHyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXQueryHyperpipeConfigSGIXReq * req = - (xGLXQueryHyperpipeConfigSGIXReq *) pc; - xGLXQueryHyperpipeConfigSGIXReply reply; - int screen = req->screen; - void *rdata = NULL; - int length; - int npipes=0; - int n= 0; - int hpId; - __GLXscreen *pGlxScreen; - - hpId = req->hpId; - - pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - if (pGlxScreen->hyperpipeFuncs) { - rdata = pGlxScreen->hyperpipeFuncs->queryHyperpipeConfigFunc(screen, hpId,&npipes, &n); - } - - length = __GLX_PAD(n) >> 2; - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; - reply.length = length; - reply.n = n; - reply.npipes = npipes; - - - if (client->swapped) { - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply.sequenceNumber); - __GLX_SWAP_INT(&reply.length); - __GLX_SWAP_INT(&reply.n); - __GLX_SWAP_INT(&reply.npipes); - } - - WriteToClient(client, sz_xGLXQueryHyperpipeConfigSGIXReply, - (char *) &reply); - - WriteToClient(client, length << 2, (char *)rdata); - - return Success; -} - -int __glXDisp_HyperpipeConfigSGIX(__GLXclientState *cl, GLbyte *pc) -{ - ClientPtr client = cl->client; - xGLXHyperpipeConfigSGIXReq * req = - (xGLXHyperpipeConfigSGIXReq *) pc; - xGLXHyperpipeConfigSGIXReply reply; - int screen = req->screen; - void *rdata; - - int npipes=0, networkId; - int hpId=-1; - __GLXscreen *pGlxScreen; - - pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - networkId = (int)req->networkId; - npipes = (int)req->npipes; - rdata = (void *)(req +1); - - if (pGlxScreen->hyperpipeFuncs) { - pGlxScreen->hyperpipeFuncs->hyperpipeConfigFunc(screen,networkId, - &hpId, &npipes, - (void *) rdata); - } - - reply.type = X_Reply; - reply.sequenceNumber = client->sequence; - reply.length = __GLX_PAD(0) >> 2; - reply.n = 0; - reply.npipes = npipes; - reply.hpId = hpId; - - if (client->swapped) { - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply.sequenceNumber); - __GLX_SWAP_INT(&reply.npipes); - __GLX_SWAP_INT(&reply.hpId); - } - - WriteToClient(client, sz_xGLXHyperpipeConfigSGIXReply, - (char *) &reply); - - return Success; -} - - /************************************************************************/ /* diff --git a/xorg-server/glx/glxcmdsswap.c b/xorg-server/glx/glxcmdsswap.c index c414dc8e2..a6633741f 100644 --- a/xorg-server/glx/glxcmdsswap.c +++ b/xorg-server/glx/glxcmdsswap.c @@ -1,771 +1,770 @@ -/* - * 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 -#endif - -#include -#include "glxserver.h" -#include "glxutil.h" -#include -#include -#include "g_disptab.h" -#include -#include -#include "glxext.h" -#include "glapitable.h" -#include "glapi.h" -#include "glthread.h" -#include "dispatch.h" -#include "indirect_dispatch.h" -#include "indirect_table.h" -#include "indirect_util.h" - - -/************************************************************************/ - -/* -** Byteswapping versions of GLX commands. In most cases they just swap -** the incoming arguments and then call the unswapped routine. For commands -** that have replies, a separate swapping routine for the reply is provided; -** it is called at the end of the unswapped routine. -*/ - -int __glXDispSwap_CreateContext(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateContextReq *req = (xGLXCreateContextReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->visual); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->shareList); - - return __glXDisp_CreateContext(cl, pc); -} - -int __glXDispSwap_CreateNewContext(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateNewContextReq *req = (xGLXCreateNewContextReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->renderType); - __GLX_SWAP_INT(&req->shareList); - - return __glXDisp_CreateNewContext(cl, pc); -} - -int __glXDispSwap_CreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateContextWithConfigSGIXReq *req = - (xGLXCreateContextWithConfigSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->renderType); - __GLX_SWAP_INT(&req->shareList); - - return __glXDisp_CreateContextWithConfigSGIX(cl, pc); -} - -int __glXDispSwap_DestroyContext(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyContextReq *req = (xGLXDestroyContextReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - - return __glXDisp_DestroyContext(cl, pc); -} - -int __glXDispSwap_MakeCurrent(__GLXclientState *cl, GLbyte *pc) -{ - xGLXMakeCurrentReq *req = (xGLXMakeCurrentReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->drawable); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->oldContextTag); - - return __glXDisp_MakeCurrent(cl, pc); -} - -int __glXDispSwap_MakeContextCurrent(__GLXclientState *cl, GLbyte *pc) -{ - xGLXMakeContextCurrentReq *req = (xGLXMakeContextCurrentReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->drawable); - __GLX_SWAP_INT(&req->readdrawable); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->oldContextTag); - - return __glXDisp_MakeContextCurrent(cl, pc); -} - -int __glXDispSwap_MakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc) -{ - xGLXMakeCurrentReadSGIReq *req = (xGLXMakeCurrentReadSGIReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->drawable); - __GLX_SWAP_INT(&req->readable); - __GLX_SWAP_INT(&req->context); - __GLX_SWAP_INT(&req->oldContextTag); - - return __glXDisp_MakeCurrentReadSGI(cl, pc); -} - -int __glXDispSwap_IsDirect(__GLXclientState *cl, GLbyte *pc) -{ - xGLXIsDirectReq *req = (xGLXIsDirectReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - - return __glXDisp_IsDirect(cl, pc); -} - -int __glXDispSwap_QueryVersion(__GLXclientState *cl, GLbyte *pc) -{ - xGLXQueryVersionReq *req = (xGLXQueryVersionReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->majorVersion); - __GLX_SWAP_INT(&req->minorVersion); - - return __glXDisp_QueryVersion(cl, pc); -} - -int __glXDispSwap_WaitGL(__GLXclientState *cl, GLbyte *pc) -{ - xGLXWaitGLReq *req = (xGLXWaitGLReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - - return __glXDisp_WaitGL(cl, pc); -} - -int __glXDispSwap_WaitX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXWaitXReq *req = (xGLXWaitXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - - return __glXDisp_WaitX(cl, pc); -} - -int __glXDispSwap_CopyContext(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCopyContextReq *req = (xGLXCopyContextReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->source); - __GLX_SWAP_INT(&req->dest); - __GLX_SWAP_INT(&req->mask); - - return __glXDisp_CopyContext(cl, pc); -} - -int __glXDispSwap_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) -{ - xGLXGetVisualConfigsReq *req = (xGLXGetVisualConfigsReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->screen); - return __glXDisp_GetVisualConfigs(cl, pc); -} - -int __glXDispSwap_GetFBConfigs(__GLXclientState *cl, GLbyte *pc) -{ - xGLXGetFBConfigsReq *req = (xGLXGetFBConfigsReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->screen); - return __glXDisp_GetFBConfigs(cl, pc); -} - -int __glXDispSwap_GetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXGetFBConfigsSGIXReq *req = (xGLXGetFBConfigsSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->screen); - return __glXDisp_GetFBConfigsSGIX(cl, pc); -} - -int __glXDispSwap_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateGLXPixmapReq *req = (xGLXCreateGLXPixmapReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->visual); - __GLX_SWAP_INT(&req->pixmap); - __GLX_SWAP_INT(&req->glxpixmap); - - return __glXDisp_CreateGLXPixmap(cl, pc); -} - -int __glXDispSwap_CreatePixmap(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreatePixmapReq *req = (xGLXCreatePixmapReq *) pc; - CARD32 *attribs; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->pixmap); - __GLX_SWAP_INT(&req->glxpixmap); - __GLX_SWAP_INT(&req->numAttribs); - attribs = (CARD32*)(req + 1); - __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); - - return __glXDisp_CreatePixmap(cl, pc); -} - -int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateGLXPixmapWithConfigSGIXReq *req = - (xGLXCreateGLXPixmapWithConfigSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->pixmap); - __GLX_SWAP_INT(&req->glxpixmap); - - return __glXDisp_CreateGLXPixmapWithConfigSGIX(cl, pc); -} - -int __glXDispSwap_DestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->glxpixmap); - - return __glXDisp_DestroyGLXPixmap(cl, pc); -} - -int __glXDispSwap_DestroyPixmap(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->glxpixmap); - - return __glXDisp_DestroyGLXPixmap(cl, pc); -} - -int __glXDispSwap_QueryContext(__GLXclientState *cl, GLbyte *pc) -{ - xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->context); - - return __glXDisp_QueryContext(cl, pc); -} - -int __glXDispSwap_CreatePbuffer(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - CARD32 *attribs; - - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->pbuffer); - __GLX_SWAP_INT(&req->numAttribs); - attribs = (CARD32*)(req + 1); - __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); - - return __glXDisp_CreatePbuffer(cl, pc); -} - -int __glXDispSwap_CreateGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateGLXPbufferSGIXReq *req = (xGLXCreateGLXPbufferSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->pbuffer); - __GLX_SWAP_INT(&req->width); - __GLX_SWAP_INT(&req->height); - - return __glXDisp_CreateGLXPbufferSGIX(cl, pc); -} - -int __glXDispSwap_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->pbuffer); - - return __glXDisp_DestroyPbuffer(cl, pc); -} - -int __glXDispSwap_DestroyGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyGLXPbufferSGIXReq *req = (xGLXDestroyGLXPbufferSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->pbuffer); - - return __glXDisp_DestroyGLXPbufferSGIX(cl, pc); -} - -int __glXDispSwap_ChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) -{ - xGLXChangeDrawableAttributesReq *req = - (xGLXChangeDrawableAttributesReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - CARD32 *attribs; - - __GLX_SWAP_INT(&req->drawable); - __GLX_SWAP_INT(&req->numAttribs); - attribs = (CARD32*)(req + 1); - __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); - - return __glXDisp_ChangeDrawableAttributes(cl, pc); -} - -int __glXDispSwap_ChangeDrawableAttributesSGIX(__GLXclientState *cl, - GLbyte *pc) -{ - xGLXChangeDrawableAttributesSGIXReq *req = - (xGLXChangeDrawableAttributesSGIXReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - CARD32 *attribs; - - __GLX_SWAP_INT(&req->drawable); - __GLX_SWAP_INT(&req->numAttribs); - attribs = (CARD32*)(req + 1); - __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); - - return __glXDisp_ChangeDrawableAttributesSGIX(cl, pc); -} - -int __glXDispSwap_CreateWindow(__GLXclientState *cl, GLbyte *pc) -{ - xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - CARD32 *attribs; - - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->fbconfig); - __GLX_SWAP_INT(&req->window); - __GLX_SWAP_INT(&req->glxwindow); - __GLX_SWAP_INT(&req->numAttribs); - attribs = (CARD32*)(req + 1); - __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); - - return __glXDisp_CreateWindow(cl, pc); -} - -int __glXDispSwap_DestroyWindow(__GLXclientState *cl, GLbyte *pc) -{ - xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_INT(&req->glxwindow); - - return __glXDisp_DestroyWindow(cl, pc); -} - -int __glXDispSwap_SwapBuffers(__GLXclientState *cl, GLbyte *pc) -{ - xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(&req->drawable); - - return __glXDisp_SwapBuffers(cl, pc); -} - -int __glXDispSwap_UseXFont(__GLXclientState *cl, GLbyte *pc) -{ - xGLXUseXFontReq *req = (xGLXUseXFontReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(&req->font); - __GLX_SWAP_INT(&req->first); - __GLX_SWAP_INT(&req->count); - __GLX_SWAP_INT(&req->listBase); - - return __glXDisp_UseXFont(cl, pc); -} - - -int __glXDispSwap_QueryExtensionsString(__GLXclientState *cl, GLbyte *pc) -{ - xGLXQueryExtensionsStringReq *req = (xGLXQueryExtensionsStringReq *)pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->screen); - - return __glXDisp_QueryExtensionsString(cl, pc); -} - -int __glXDispSwap_QueryServerString(__GLXclientState *cl, GLbyte *pc) -{ - xGLXQueryServerStringReq *req = (xGLXQueryServerStringReq *)pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->screen); - __GLX_SWAP_INT(&req->name); - - return __glXDisp_QueryServerString(cl, pc); -} - -int __glXDispSwap_ClientInfo(__GLXclientState *cl, GLbyte *pc) -{ - xGLXClientInfoReq *req = (xGLXClientInfoReq *)pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->major); - __GLX_SWAP_INT(&req->minor); - __GLX_SWAP_INT(&req->numbytes); - - return __glXDisp_ClientInfo(cl, pc); -} - -int __glXDispSwap_QueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc) -{ - xGLXQueryContextInfoEXTReq *req = (xGLXQueryContextInfoEXTReq *) pc; - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->context); - - return __glXDisp_QueryContextInfoEXT(cl, pc); -} - -int __glXDispSwap_BindTexImageEXT(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; - GLXDrawable *drawId; - int *buffer; - - __GLX_DECLARE_SWAP_VARIABLES; - - pc += __GLX_VENDPRIV_HDR_SIZE; - - drawId = ((GLXDrawable *) (pc)); - buffer = ((int *) (pc + 4)); - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(drawId); - __GLX_SWAP_INT(buffer); - - return __glXDisp_BindTexImageEXT(cl, (GLbyte *)pc); -} - -int __glXDispSwap_ReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; - GLXDrawable *drawId; - int *buffer; - - __GLX_DECLARE_SWAP_VARIABLES; - - pc += __GLX_VENDPRIV_HDR_SIZE; - - drawId = ((GLXDrawable *) (pc)); - buffer = ((int *) (pc + 4)); - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(drawId); - __GLX_SWAP_INT(buffer); - - return __glXDisp_ReleaseTexImageEXT(cl, (GLbyte *)pc); -} - -int __glXDispSwap_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; - GLXDrawable *drawId; - int *buffer; - - __GLX_DECLARE_SWAP_VARIABLES; - - (void) drawId; - (void) buffer; - - pc += __GLX_VENDPRIV_HDR_SIZE; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(pc); - __GLX_SWAP_INT(pc + 4); - __GLX_SWAP_INT(pc + 8); - __GLX_SWAP_INT(pc + 12); - __GLX_SWAP_INT(pc + 16); - - return __glXDisp_CopySubBufferMESA(cl, pc); - -} - -int __glXDispSwap_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc; - CARD32 *data; - - __GLX_DECLARE_SWAP_VARIABLES; - - data = (CARD32 *) (req + 1); - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->contextTag); - __GLX_SWAP_INT(data); - - return __glXDisp_GetDrawableAttributesSGIX(cl, pc); -} - -int __glXDispSwap_GetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) -{ - xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc; - - __GLX_DECLARE_SWAP_VARIABLES; - - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->drawable); - - return __glXDisp_GetDrawableAttributes(cl, pc); -} - - -/************************************************************************/ - -/* -** Swap replies. -*/ - -void __glXSwapMakeCurrentReply(ClientPtr client, xGLXMakeCurrentReply *reply) -{ - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->contextTag); - WriteToClient(client, sz_xGLXMakeCurrentReply, (char *)reply); -} - -void __glXSwapIsDirectReply(ClientPtr client, xGLXIsDirectReply *reply) -{ - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - WriteToClient(client, sz_xGLXIsDirectReply, (char *)reply); -} - -void __glXSwapQueryVersionReply(ClientPtr client, xGLXQueryVersionReply *reply) -{ - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->majorVersion); - __GLX_SWAP_INT(&reply->minorVersion); - WriteToClient(client, sz_xGLXQueryVersionReply, (char *)reply); -} - -void glxSwapQueryExtensionsStringReply(ClientPtr client, - xGLXQueryExtensionsStringReply *reply, char *buf) -{ - int length = reply->length; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->n); - WriteToClient(client, sz_xGLXQueryExtensionsStringReply, (char *)reply); - __GLX_SWAP_INT_ARRAY((int *)buf, length); - WriteToClient(client, length << 2, buf); -} - -void glxSwapQueryServerStringReply(ClientPtr client, - xGLXQueryServerStringReply *reply, char *buf) -{ - int length = reply->length; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->n); - WriteToClient(client, sz_xGLXQueryServerStringReply, (char *)reply); - /** no swap is needed for an array of chars **/ - /* __GLX_SWAP_INT_ARRAY((int *)buf, length); */ - WriteToClient(client, length << 2, buf); -} - -void __glXSwapQueryContextInfoEXTReply(ClientPtr client, xGLXQueryContextInfoEXTReply *reply, int *buf) -{ - int length = reply->length; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->n); - WriteToClient(client, sz_xGLXQueryContextInfoEXTReply, (char *)reply); - __GLX_SWAP_INT_ARRAY((int *)buf, length); - WriteToClient(client, length << 2, (char *)buf); -} - -void __glXSwapGetDrawableAttributesReply(ClientPtr client, - xGLXGetDrawableAttributesReply *reply, CARD32 *buf) -{ - int length = reply->length; - __GLX_DECLARE_SWAP_VARIABLES; - __GLX_DECLARE_SWAP_ARRAY_VARIABLES; - __GLX_SWAP_SHORT(&reply->sequenceNumber); - __GLX_SWAP_INT(&reply->length); - __GLX_SWAP_INT(&reply->numAttribs); - WriteToClient(client, sz_xGLXGetDrawableAttributesReply, (char *)reply); - __GLX_SWAP_INT_ARRAY((int *)buf, length); - WriteToClient(client, length << 2, (char *)buf); -} - -/************************************************************************/ - -/* -** Render and Renderlarge are not in the GLX API. They are used by the GLX -** client library to send batches of GL rendering commands. -*/ - -int __glXDispSwap_Render(__GLXclientState *cl, GLbyte *pc) -{ - return __glXDisp_Render(cl, pc); -} - -/* -** Execute a large rendering request (one that spans multiple X requests). -*/ -int __glXDispSwap_RenderLarge(__GLXclientState *cl, GLbyte *pc) -{ - return __glXDisp_RenderLarge(cl, pc); -} - -/************************************************************************/ - -/* -** No support is provided for the vendor-private requests other than -** allocating these entry points in the dispatch table. -*/ - -int __glXDispSwap_VendorPrivate(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateReq *req; - GLint vendorcode; - __GLXdispatchVendorPrivProcPtr proc; - - __GLX_DECLARE_SWAP_VARIABLES; - - req = (xGLXVendorPrivateReq *) pc; - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->vendorCode); - - vendorcode = req->vendorCode; - - proc = (__GLXdispatchVendorPrivProcPtr) - __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info, - vendorcode, 1); - if (proc != NULL) { - (*proc)(cl, (GLbyte*)req); - return Success; - } - - cl->client->errorValue = req->vendorCode; - return __glXError(GLXUnsupportedPrivateRequest); -} - - -int __glXDispSwap_VendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc) -{ - xGLXVendorPrivateWithReplyReq *req; - GLint vendorcode; - __GLXdispatchVendorPrivProcPtr proc; - - __GLX_DECLARE_SWAP_VARIABLES; - - req = (xGLXVendorPrivateWithReplyReq *) pc; - __GLX_SWAP_SHORT(&req->length); - __GLX_SWAP_INT(&req->vendorCode); - - vendorcode = req->vendorCode; - - proc = (__GLXdispatchVendorPrivProcPtr) - __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info, - vendorcode, 1); - if (proc != NULL) { - return (*proc)(cl, (GLbyte*)req); - } - - cl->client->errorValue = req->vendorCode; - return __glXError(GLXUnsupportedPrivateRequest); -} +/* + * 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 +#endif + +#include +#include "glxserver.h" +#include "glxutil.h" +#include +#include +#include +#include +#include "glxext.h" +#include "glapitable.h" +#include "glapi.h" +#include "glthread.h" +#include "dispatch.h" +#include "indirect_dispatch.h" +#include "indirect_table.h" +#include "indirect_util.h" + + +/************************************************************************/ + +/* +** Byteswapping versions of GLX commands. In most cases they just swap +** the incoming arguments and then call the unswapped routine. For commands +** that have replies, a separate swapping routine for the reply is provided; +** it is called at the end of the unswapped routine. +*/ + +int __glXDispSwap_CreateContext(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateContextReq *req = (xGLXCreateContextReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->visual); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->shareList); + + return __glXDisp_CreateContext(cl, pc); +} + +int __glXDispSwap_CreateNewContext(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateNewContextReq *req = (xGLXCreateNewContextReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->renderType); + __GLX_SWAP_INT(&req->shareList); + + return __glXDisp_CreateNewContext(cl, pc); +} + +int __glXDispSwap_CreateContextWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateContextWithConfigSGIXReq *req = + (xGLXCreateContextWithConfigSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->renderType); + __GLX_SWAP_INT(&req->shareList); + + return __glXDisp_CreateContextWithConfigSGIX(cl, pc); +} + +int __glXDispSwap_DestroyContext(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyContextReq *req = (xGLXDestroyContextReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + + return __glXDisp_DestroyContext(cl, pc); +} + +int __glXDispSwap_MakeCurrent(__GLXclientState *cl, GLbyte *pc) +{ + xGLXMakeCurrentReq *req = (xGLXMakeCurrentReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->drawable); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->oldContextTag); + + return __glXDisp_MakeCurrent(cl, pc); +} + +int __glXDispSwap_MakeContextCurrent(__GLXclientState *cl, GLbyte *pc) +{ + xGLXMakeContextCurrentReq *req = (xGLXMakeContextCurrentReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->drawable); + __GLX_SWAP_INT(&req->readdrawable); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->oldContextTag); + + return __glXDisp_MakeContextCurrent(cl, pc); +} + +int __glXDispSwap_MakeCurrentReadSGI(__GLXclientState *cl, GLbyte *pc) +{ + xGLXMakeCurrentReadSGIReq *req = (xGLXMakeCurrentReadSGIReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->drawable); + __GLX_SWAP_INT(&req->readable); + __GLX_SWAP_INT(&req->context); + __GLX_SWAP_INT(&req->oldContextTag); + + return __glXDisp_MakeCurrentReadSGI(cl, pc); +} + +int __glXDispSwap_IsDirect(__GLXclientState *cl, GLbyte *pc) +{ + xGLXIsDirectReq *req = (xGLXIsDirectReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + + return __glXDisp_IsDirect(cl, pc); +} + +int __glXDispSwap_QueryVersion(__GLXclientState *cl, GLbyte *pc) +{ + xGLXQueryVersionReq *req = (xGLXQueryVersionReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->majorVersion); + __GLX_SWAP_INT(&req->minorVersion); + + return __glXDisp_QueryVersion(cl, pc); +} + +int __glXDispSwap_WaitGL(__GLXclientState *cl, GLbyte *pc) +{ + xGLXWaitGLReq *req = (xGLXWaitGLReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + + return __glXDisp_WaitGL(cl, pc); +} + +int __glXDispSwap_WaitX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXWaitXReq *req = (xGLXWaitXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + + return __glXDisp_WaitX(cl, pc); +} + +int __glXDispSwap_CopyContext(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCopyContextReq *req = (xGLXCopyContextReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->source); + __GLX_SWAP_INT(&req->dest); + __GLX_SWAP_INT(&req->mask); + + return __glXDisp_CopyContext(cl, pc); +} + +int __glXDispSwap_GetVisualConfigs(__GLXclientState *cl, GLbyte *pc) +{ + xGLXGetVisualConfigsReq *req = (xGLXGetVisualConfigsReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->screen); + return __glXDisp_GetVisualConfigs(cl, pc); +} + +int __glXDispSwap_GetFBConfigs(__GLXclientState *cl, GLbyte *pc) +{ + xGLXGetFBConfigsReq *req = (xGLXGetFBConfigsReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->screen); + return __glXDisp_GetFBConfigs(cl, pc); +} + +int __glXDispSwap_GetFBConfigsSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXGetFBConfigsSGIXReq *req = (xGLXGetFBConfigsSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->screen); + return __glXDisp_GetFBConfigsSGIX(cl, pc); +} + +int __glXDispSwap_CreateGLXPixmap(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateGLXPixmapReq *req = (xGLXCreateGLXPixmapReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->visual); + __GLX_SWAP_INT(&req->pixmap); + __GLX_SWAP_INT(&req->glxpixmap); + + return __glXDisp_CreateGLXPixmap(cl, pc); +} + +int __glXDispSwap_CreatePixmap(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreatePixmapReq *req = (xGLXCreatePixmapReq *) pc; + CARD32 *attribs; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->pixmap); + __GLX_SWAP_INT(&req->glxpixmap); + __GLX_SWAP_INT(&req->numAttribs); + attribs = (CARD32*)(req + 1); + __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); + + return __glXDisp_CreatePixmap(cl, pc); +} + +int __glXDispSwap_CreateGLXPixmapWithConfigSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateGLXPixmapWithConfigSGIXReq *req = + (xGLXCreateGLXPixmapWithConfigSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->pixmap); + __GLX_SWAP_INT(&req->glxpixmap); + + return __glXDisp_CreateGLXPixmapWithConfigSGIX(cl, pc); +} + +int __glXDispSwap_DestroyGLXPixmap(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->glxpixmap); + + return __glXDisp_DestroyGLXPixmap(cl, pc); +} + +int __glXDispSwap_DestroyPixmap(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyGLXPixmapReq *req = (xGLXDestroyGLXPixmapReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->glxpixmap); + + return __glXDisp_DestroyGLXPixmap(cl, pc); +} + +int __glXDispSwap_QueryContext(__GLXclientState *cl, GLbyte *pc) +{ + xGLXQueryContextReq *req = (xGLXQueryContextReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->context); + + return __glXDisp_QueryContext(cl, pc); +} + +int __glXDispSwap_CreatePbuffer(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreatePbufferReq *req = (xGLXCreatePbufferReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + CARD32 *attribs; + + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->pbuffer); + __GLX_SWAP_INT(&req->numAttribs); + attribs = (CARD32*)(req + 1); + __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); + + return __glXDisp_CreatePbuffer(cl, pc); +} + +int __glXDispSwap_CreateGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateGLXPbufferSGIXReq *req = (xGLXCreateGLXPbufferSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->pbuffer); + __GLX_SWAP_INT(&req->width); + __GLX_SWAP_INT(&req->height); + + return __glXDisp_CreateGLXPbufferSGIX(cl, pc); +} + +int __glXDispSwap_DestroyPbuffer(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyPbufferReq *req = (xGLXDestroyPbufferReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->pbuffer); + + return __glXDisp_DestroyPbuffer(cl, pc); +} + +int __glXDispSwap_DestroyGLXPbufferSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyGLXPbufferSGIXReq *req = (xGLXDestroyGLXPbufferSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->pbuffer); + + return __glXDisp_DestroyGLXPbufferSGIX(cl, pc); +} + +int __glXDispSwap_ChangeDrawableAttributes(__GLXclientState *cl, GLbyte *pc) +{ + xGLXChangeDrawableAttributesReq *req = + (xGLXChangeDrawableAttributesReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + CARD32 *attribs; + + __GLX_SWAP_INT(&req->drawable); + __GLX_SWAP_INT(&req->numAttribs); + attribs = (CARD32*)(req + 1); + __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); + + return __glXDisp_ChangeDrawableAttributes(cl, pc); +} + +int __glXDispSwap_ChangeDrawableAttributesSGIX(__GLXclientState *cl, + GLbyte *pc) +{ + xGLXChangeDrawableAttributesSGIXReq *req = + (xGLXChangeDrawableAttributesSGIXReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + CARD32 *attribs; + + __GLX_SWAP_INT(&req->drawable); + __GLX_SWAP_INT(&req->numAttribs); + attribs = (CARD32*)(req + 1); + __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); + + return __glXDisp_ChangeDrawableAttributesSGIX(cl, pc); +} + +int __glXDispSwap_CreateWindow(__GLXclientState *cl, GLbyte *pc) +{ + xGLXCreateWindowReq *req = (xGLXCreateWindowReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + CARD32 *attribs; + + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->fbconfig); + __GLX_SWAP_INT(&req->window); + __GLX_SWAP_INT(&req->glxwindow); + __GLX_SWAP_INT(&req->numAttribs); + attribs = (CARD32*)(req + 1); + __GLX_SWAP_INT_ARRAY(attribs, req->numAttribs); + + return __glXDisp_CreateWindow(cl, pc); +} + +int __glXDispSwap_DestroyWindow(__GLXclientState *cl, GLbyte *pc) +{ + xGLXDestroyWindowReq *req = (xGLXDestroyWindowReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_INT(&req->glxwindow); + + return __glXDisp_DestroyWindow(cl, pc); +} + +int __glXDispSwap_SwapBuffers(__GLXclientState *cl, GLbyte *pc) +{ + xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(&req->drawable); + + return __glXDisp_SwapBuffers(cl, pc); +} + +int __glXDispSwap_UseXFont(__GLXclientState *cl, GLbyte *pc) +{ + xGLXUseXFontReq *req = (xGLXUseXFontReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(&req->font); + __GLX_SWAP_INT(&req->first); + __GLX_SWAP_INT(&req->count); + __GLX_SWAP_INT(&req->listBase); + + return __glXDisp_UseXFont(cl, pc); +} + + +int __glXDispSwap_QueryExtensionsString(__GLXclientState *cl, GLbyte *pc) +{ + xGLXQueryExtensionsStringReq *req = (xGLXQueryExtensionsStringReq *)pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->screen); + + return __glXDisp_QueryExtensionsString(cl, pc); +} + +int __glXDispSwap_QueryServerString(__GLXclientState *cl, GLbyte *pc) +{ + xGLXQueryServerStringReq *req = (xGLXQueryServerStringReq *)pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->screen); + __GLX_SWAP_INT(&req->name); + + return __glXDisp_QueryServerString(cl, pc); +} + +int __glXDispSwap_ClientInfo(__GLXclientState *cl, GLbyte *pc) +{ + xGLXClientInfoReq *req = (xGLXClientInfoReq *)pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->major); + __GLX_SWAP_INT(&req->minor); + __GLX_SWAP_INT(&req->numbytes); + + return __glXDisp_ClientInfo(cl, pc); +} + +int __glXDispSwap_QueryContextInfoEXT(__GLXclientState *cl, GLbyte *pc) +{ + xGLXQueryContextInfoEXTReq *req = (xGLXQueryContextInfoEXTReq *) pc; + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->context); + + return __glXDisp_QueryContextInfoEXT(cl, pc); +} + +int __glXDispSwap_BindTexImageEXT(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; + GLXDrawable *drawId; + int *buffer; + + __GLX_DECLARE_SWAP_VARIABLES; + + pc += __GLX_VENDPRIV_HDR_SIZE; + + drawId = ((GLXDrawable *) (pc)); + buffer = ((int *) (pc + 4)); + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(drawId); + __GLX_SWAP_INT(buffer); + + return __glXDisp_BindTexImageEXT(cl, (GLbyte *)pc); +} + +int __glXDispSwap_ReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; + GLXDrawable *drawId; + int *buffer; + + __GLX_DECLARE_SWAP_VARIABLES; + + pc += __GLX_VENDPRIV_HDR_SIZE; + + drawId = ((GLXDrawable *) (pc)); + buffer = ((int *) (pc + 4)); + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(drawId); + __GLX_SWAP_INT(buffer); + + return __glXDisp_ReleaseTexImageEXT(cl, (GLbyte *)pc); +} + +int __glXDispSwap_CopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; + GLXDrawable *drawId; + int *buffer; + + __GLX_DECLARE_SWAP_VARIABLES; + + (void) drawId; + (void) buffer; + + pc += __GLX_VENDPRIV_HDR_SIZE; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(pc); + __GLX_SWAP_INT(pc + 4); + __GLX_SWAP_INT(pc + 8); + __GLX_SWAP_INT(pc + 12); + __GLX_SWAP_INT(pc + 16); + + return __glXDisp_CopySubBufferMESA(cl, pc); + +} + +int __glXDispSwap_GetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc; + CARD32 *data; + + __GLX_DECLARE_SWAP_VARIABLES; + + data = (CARD32 *) (req + 1); + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->contextTag); + __GLX_SWAP_INT(data); + + return __glXDisp_GetDrawableAttributesSGIX(cl, pc); +} + +int __glXDispSwap_GetDrawableAttributes(__GLXclientState *cl, GLbyte *pc) +{ + xGLXGetDrawableAttributesReq *req = (xGLXGetDrawableAttributesReq *)pc; + + __GLX_DECLARE_SWAP_VARIABLES; + + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->drawable); + + return __glXDisp_GetDrawableAttributes(cl, pc); +} + + +/************************************************************************/ + +/* +** Swap replies. +*/ + +void __glXSwapMakeCurrentReply(ClientPtr client, xGLXMakeCurrentReply *reply) +{ + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->contextTag); + WriteToClient(client, sz_xGLXMakeCurrentReply, (char *)reply); +} + +void __glXSwapIsDirectReply(ClientPtr client, xGLXIsDirectReply *reply) +{ + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + WriteToClient(client, sz_xGLXIsDirectReply, (char *)reply); +} + +void __glXSwapQueryVersionReply(ClientPtr client, xGLXQueryVersionReply *reply) +{ + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->majorVersion); + __GLX_SWAP_INT(&reply->minorVersion); + WriteToClient(client, sz_xGLXQueryVersionReply, (char *)reply); +} + +void glxSwapQueryExtensionsStringReply(ClientPtr client, + xGLXQueryExtensionsStringReply *reply, char *buf) +{ + int length = reply->length; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->n); + WriteToClient(client, sz_xGLXQueryExtensionsStringReply, (char *)reply); + __GLX_SWAP_INT_ARRAY((int *)buf, length); + WriteToClient(client, length << 2, buf); +} + +void glxSwapQueryServerStringReply(ClientPtr client, + xGLXQueryServerStringReply *reply, char *buf) +{ + int length = reply->length; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->n); + WriteToClient(client, sz_xGLXQueryServerStringReply, (char *)reply); + /** no swap is needed for an array of chars **/ + /* __GLX_SWAP_INT_ARRAY((int *)buf, length); */ + WriteToClient(client, length << 2, buf); +} + +void __glXSwapQueryContextInfoEXTReply(ClientPtr client, xGLXQueryContextInfoEXTReply *reply, int *buf) +{ + int length = reply->length; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->n); + WriteToClient(client, sz_xGLXQueryContextInfoEXTReply, (char *)reply); + __GLX_SWAP_INT_ARRAY((int *)buf, length); + WriteToClient(client, length << 2, (char *)buf); +} + +void __glXSwapGetDrawableAttributesReply(ClientPtr client, + xGLXGetDrawableAttributesReply *reply, CARD32 *buf) +{ + int length = reply->length; + __GLX_DECLARE_SWAP_VARIABLES; + __GLX_DECLARE_SWAP_ARRAY_VARIABLES; + __GLX_SWAP_SHORT(&reply->sequenceNumber); + __GLX_SWAP_INT(&reply->length); + __GLX_SWAP_INT(&reply->numAttribs); + WriteToClient(client, sz_xGLXGetDrawableAttributesReply, (char *)reply); + __GLX_SWAP_INT_ARRAY((int *)buf, length); + WriteToClient(client, length << 2, (char *)buf); +} + +/************************************************************************/ + +/* +** Render and Renderlarge are not in the GLX API. They are used by the GLX +** client library to send batches of GL rendering commands. +*/ + +int __glXDispSwap_Render(__GLXclientState *cl, GLbyte *pc) +{ + return __glXDisp_Render(cl, pc); +} + +/* +** Execute a large rendering request (one that spans multiple X requests). +*/ +int __glXDispSwap_RenderLarge(__GLXclientState *cl, GLbyte *pc) +{ + return __glXDisp_RenderLarge(cl, pc); +} + +/************************************************************************/ + +/* +** No support is provided for the vendor-private requests other than +** allocating these entry points in the dispatch table. +*/ + +int __glXDispSwap_VendorPrivate(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateReq *req; + GLint vendorcode; + __GLXdispatchVendorPrivProcPtr proc; + + __GLX_DECLARE_SWAP_VARIABLES; + + req = (xGLXVendorPrivateReq *) pc; + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->vendorCode); + + vendorcode = req->vendorCode; + + proc = (__GLXdispatchVendorPrivProcPtr) + __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info, + vendorcode, 1); + if (proc != NULL) { + (*proc)(cl, (GLbyte*)req); + return Success; + } + + cl->client->errorValue = req->vendorCode; + return __glXError(GLXUnsupportedPrivateRequest); +} + + +int __glXDispSwap_VendorPrivateWithReply(__GLXclientState *cl, GLbyte *pc) +{ + xGLXVendorPrivateWithReplyReq *req; + GLint vendorcode; + __GLXdispatchVendorPrivProcPtr proc; + + __GLX_DECLARE_SWAP_VARIABLES; + + req = (xGLXVendorPrivateWithReplyReq *) pc; + __GLX_SWAP_SHORT(&req->length); + __GLX_SWAP_INT(&req->vendorCode); + + vendorcode = req->vendorCode; + + proc = (__GLXdispatchVendorPrivProcPtr) + __glXGetProtocolDecodeFunction(& VendorPriv_dispatch_info, + vendorcode, 1); + if (proc != NULL) { + return (*proc)(cl, (GLbyte*)req); + } + + cl->client->errorValue = req->vendorCode; + return __glXError(GLXUnsupportedPrivateRequest); +} diff --git a/xorg-server/glx/glxdri.c b/xorg-server/glx/glxdri.c index e41b42401..e0713b8a1 100644 --- a/xorg-server/glx/glxdri.c +++ b/xorg-server/glx/glxdri.c @@ -56,7 +56,6 @@ #include "glxutil.h" #include "glxdricommon.h" -#include "g_disptab.h" #include "glapitable.h" #include "glapi.h" #include "glthread.h" diff --git a/xorg-server/glx/glxdri2.c b/xorg-server/glx/glxdri2.c index 23a29cc55..ce8014396 100644 --- a/xorg-server/glx/glxdri2.c +++ b/xorg-server/glx/glxdri2.c @@ -48,7 +48,6 @@ #include "glxutil.h" #include "glxdricommon.h" -#include "g_disptab.h" #include "glapitable.h" #include "glapi.h" #include "glthread.h" diff --git a/xorg-server/glx/glxdriswrast.c b/xorg-server/glx/glxdriswrast.c index 32f5471a5..30ce19ed1 100644 --- a/xorg-server/glx/glxdriswrast.c +++ b/xorg-server/glx/glxdriswrast.c @@ -48,7 +48,6 @@ #include "glxutil.h" #include "glxdricommon.h" -#include "g_disptab.h" #include "glapitable.h" #include "glapi.h" #include "glthread.h" diff --git a/xorg-server/glx/glxext.c b/xorg-server/glx/glxext.c index 44e96bd8b..7d816b481 100644 --- a/xorg-server/glx/glxext.c +++ b/xorg-server/glx/glxext.c @@ -39,7 +39,6 @@ #include #include "privates.h" #include -#include "g_disptab.h" #include "unpack.h" #include "glxutil.h" #include "glxext.h" @@ -58,7 +57,6 @@ __GLXcontext *__glXContextList; */ RESTYPE __glXContextRes; RESTYPE __glXDrawableRes; -RESTYPE __glXSwapBarrierRes; /* ** Reply for most singles. @@ -228,19 +226,6 @@ GLboolean __glXFreeContext(__GLXcontext *cx) return GL_TRUE; } -extern RESTYPE __glXSwapBarrierRes; - -static int SwapBarrierGone(int screen, XID drawable) -{ - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - - if (pGlxScreen->swapBarrierFuncs) { - pGlxScreen->swapBarrierFuncs->bindSwapBarrierFunc(screen, drawable, 0); - } - FreeResourceByType(drawable, __glXSwapBarrierRes, FALSE); - return True; -} - /************************************************************************/ /* @@ -358,9 +343,7 @@ void GlxExtensionInit(void) "GLXContext"); __glXDrawableRes = CreateNewResourceType((DeleteType)DrawableGone, "GLXDrawable"); - __glXSwapBarrierRes = CreateNewResourceType((DeleteType)SwapBarrierGone, - "GLXSwapBarrier"); - if (!__glXContextRes || !__glXDrawableRes || !__glXSwapBarrierRes) + if (!__glXContextRes || !__glXDrawableRes) return; if (!dixRegisterPrivateKey(&glxClientPrivateKeyRec, PRIVATE_CLIENT, sizeof (__GLXclientState))) diff --git a/xorg-server/glx/glxscreens.c b/xorg-server/glx/glxscreens.c index 11b86df3f..060dfaccd 100644 --- a/xorg-server/glx/glxscreens.c +++ b/xorg-server/glx/glxscreens.c @@ -175,8 +175,6 @@ static char GLXServerExtensions[] = "GLX_SGI_make_current_read " #ifndef __APPLE__ "GLX_SGIS_multisample " - "GLX_SGIX_hyperpipe " - "GLX_SGIX_swap_barrier " #endif "GLX_SGIX_fbconfig " "GLX_SGIX_pbuffer " @@ -184,31 +182,6 @@ static char GLXServerExtensions[] = "GLX_INTEL_swap_event" ; -/* - * If your DDX driver wants to register support for swap barriers or hyperpipe - * topology, it should call __glXHyperpipeInit() or __glXSwapBarrierInit() - * with a dispatch table of functions to handle the requests. In the XFree86 - * DDX, for example, you would call these near the bottom of the driver's - * ScreenInit method, after DRI has been initialized. - * - * This should be replaced with a better method when we teach the server how - * to load DRI drivers. - */ - -void __glXHyperpipeInit(int screen, __GLXHyperpipeExtensionFuncs *funcs) -{ - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - - pGlxScreen->hyperpipeFuncs = funcs; -} - -void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs) -{ - __GLXscreen *pGlxScreen = glxGetScreen(screenInfo.screens[screen]); - - pGlxScreen->swapBarrierFuncs = funcs; -} - static Bool glxCloseScreen (int index, ScreenPtr pScreen) { @@ -425,10 +398,6 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen) if (i == pScreen->numVisuals) continue; - /* Make sure the FBconfig supports window drawables */ - if (!(config->drawableType & GLX_WINDOW_BIT)) - continue; - /* Create a new X visual for our FBconfig. */ visual = AddScreenVisuals(pScreen, 1, depth); if (visual == NULL) diff --git a/xorg-server/glx/glxscreens.h b/xorg-server/glx/glxscreens.h index 335d471b3..0fb0fd17d 100644 --- a/xorg-server/glx/glxscreens.h +++ b/xorg-server/glx/glxscreens.h @@ -35,21 +35,6 @@ * Silicon Graphics, Inc. */ -typedef struct { - void * (* queryHyperpipeNetworkFunc)(int, int *, int *); - void * (* queryHyperpipeConfigFunc)(int, int, int *, int *); - int (* destroyHyperpipeConfigFunc)(int, int); - void * (* hyperpipeConfigFunc)(int, int, int *, int *, void *); -} __GLXHyperpipeExtensionFuncs; - -typedef struct { - int (* bindSwapBarrierFunc)(int, XID, int); - int (* queryMaxSwapBarriersFunc)(int); -} __GLXSwapBarrierExtensionFuncs; - -void __glXHyperpipeInit(int screen, __GLXHyperpipeExtensionFuncs *funcs); -void __glXSwapBarrierInit(int screen, __GLXSwapBarrierExtensionFuncs *funcs); - typedef struct __GLXconfig __GLXconfig; struct __GLXconfig { __GLXconfig *next; @@ -144,9 +129,6 @@ struct __GLXscreen { int (*swapInterval) (__GLXdrawable *drawable, int interval); - __GLXHyperpipeExtensionFuncs *hyperpipeFuncs; - __GLXSwapBarrierExtensionFuncs *swapBarrierFuncs; - ScreenPtr pScreen; /* Linked list of valid fbconfigs for this screen. */ diff --git a/xorg-server/glx/indirect_table.c b/xorg-server/glx/indirect_table.c index cb3202605..3249f6e84 100644 --- a/xorg-server/glx/indirect_table.c +++ b/xorg-server/glx/indirect_table.c @@ -1,1596 +1,1595 @@ -/* DO NOT EDIT - This file generated automatically by glX_server_table.py (from Mesa) script */ - -/* - * (C) Copyright IBM Corporation 2005, 2006 - * 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, sub license, - * 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 and this permission notice (including the next - * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL - * IBM, - * AND/OR THEIR SUPPLIERS 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. - */ - -#include -#include "glxserver.h" -#include "glxext.h" -#include "indirect_dispatch.h" -#include "indirect_reqsize.h" -#include "g_disptab.h" -#include "indirect_table.h" - -/*****************************************************************/ -/* tree depth = 3 */ -static const int_fast16_t Single_dispatch_tree[24] = { - /* [0] -> opcode range [0, 256], node depth 1 */ - 2, - 5, - 13, - 16, - EMPTY_LEAF, - - /* [5] -> opcode range [0, 64], node depth 2 */ - 2, - LEAF(0), - LEAF(16), - 10, - EMPTY_LEAF, - - /* [10] -> opcode range [32, 48], node depth 3 */ - 1, - LEAF(32), - EMPTY_LEAF, - - /* [13] -> opcode range [64, 128], node depth 2 */ - 1, - EMPTY_LEAF, - LEAF(40), - - /* [16] -> opcode range [128, 192], node depth 2 */ - 2, - LEAF(72), - LEAF(88), - 21, - EMPTY_LEAF, - - /* [21] -> opcode range [160, 176], node depth 3 */ - 1, - LEAF(104), - EMPTY_LEAF, - -}; - -static const void *Single_function_table[112][2] = { - /* [ 0] = 0 */ {NULL, NULL}, - /* [ 1] = 1 */ {__glXDisp_Render, __glXDispSwap_Render}, - /* [ 2] = 2 */ {__glXDisp_RenderLarge, __glXDispSwap_RenderLarge}, - /* [ 3] = 3 */ {__glXDisp_CreateContext, __glXDispSwap_CreateContext}, - /* [ 4] = 4 */ {__glXDisp_DestroyContext, __glXDispSwap_DestroyContext}, - /* [ 5] = 5 */ {__glXDisp_MakeCurrent, __glXDispSwap_MakeCurrent}, - /* [ 6] = 6 */ {__glXDisp_IsDirect, __glXDispSwap_IsDirect}, - /* [ 7] = 7 */ {__glXDisp_QueryVersion, __glXDispSwap_QueryVersion}, - /* [ 8] = 8 */ {__glXDisp_WaitGL, __glXDispSwap_WaitGL}, - /* [ 9] = 9 */ {__glXDisp_WaitX, __glXDispSwap_WaitX}, - /* [ 10] = 10 */ {__glXDisp_CopyContext, __glXDispSwap_CopyContext}, - /* [ 11] = 11 */ {__glXDisp_SwapBuffers, __glXDispSwap_SwapBuffers}, - /* [ 12] = 12 */ {__glXDisp_UseXFont, __glXDispSwap_UseXFont}, - /* [ 13] = 13 */ {__glXDisp_CreateGLXPixmap, __glXDispSwap_CreateGLXPixmap}, - /* [ 14] = 14 */ {__glXDisp_GetVisualConfigs, __glXDispSwap_GetVisualConfigs}, - /* [ 15] = 15 */ {__glXDisp_DestroyGLXPixmap, __glXDispSwap_DestroyGLXPixmap}, - /* [ 16] = 16 */ {__glXDisp_VendorPrivate, __glXDispSwap_VendorPrivate}, - /* [ 17] = 17 */ {__glXDisp_VendorPrivateWithReply, __glXDispSwap_VendorPrivateWithReply}, - /* [ 18] = 18 */ {__glXDisp_QueryExtensionsString, __glXDispSwap_QueryExtensionsString}, - /* [ 19] = 19 */ {__glXDisp_QueryServerString, __glXDispSwap_QueryServerString}, - /* [ 20] = 20 */ {__glXDisp_ClientInfo, __glXDispSwap_ClientInfo}, - /* [ 21] = 21 */ {__glXDisp_GetFBConfigs, __glXDispSwap_GetFBConfigs}, - /* [ 22] = 22 */ {__glXDisp_CreatePixmap, __glXDispSwap_CreatePixmap}, - /* [ 23] = 23 */ {__glXDisp_DestroyPixmap, __glXDispSwap_DestroyPixmap}, - /* [ 24] = 24 */ {__glXDisp_CreateNewContext, __glXDispSwap_CreateNewContext}, - /* [ 25] = 25 */ {__glXDisp_QueryContext, __glXDispSwap_QueryContext}, - /* [ 26] = 26 */ {__glXDisp_MakeContextCurrent, __glXDispSwap_MakeContextCurrent}, - /* [ 27] = 27 */ {__glXDisp_CreatePbuffer, __glXDispSwap_CreatePbuffer}, - /* [ 28] = 28 */ {__glXDisp_DestroyPbuffer, __glXDispSwap_DestroyPbuffer}, - /* [ 29] = 29 */ {__glXDisp_GetDrawableAttributes, __glXDispSwap_GetDrawableAttributes}, - /* [ 30] = 30 */ {__glXDisp_ChangeDrawableAttributes, __glXDispSwap_ChangeDrawableAttributes}, - /* [ 31] = 31 */ {__glXDisp_CreateWindow, __glXDispSwap_CreateWindow}, - /* [ 32] = 32 */ {__glXDisp_DestroyWindow, __glXDispSwap_DestroyWindow}, - /* [ 33] = 33 */ {NULL, NULL}, - /* [ 34] = 34 */ {NULL, NULL}, - /* [ 35] = 35 */ {NULL, NULL}, - /* [ 36] = 36 */ {NULL, NULL}, - /* [ 37] = 37 */ {NULL, NULL}, - /* [ 38] = 38 */ {NULL, NULL}, - /* [ 39] = 39 */ {NULL, NULL}, - /* [ 40] = 96 */ {NULL, NULL}, - /* [ 41] = 97 */ {NULL, NULL}, - /* [ 42] = 98 */ {NULL, NULL}, - /* [ 43] = 99 */ {NULL, NULL}, - /* [ 44] = 100 */ {NULL, NULL}, - /* [ 45] = 101 */ {__glXDisp_NewList, __glXDispSwap_NewList}, - /* [ 46] = 102 */ {__glXDisp_EndList, __glXDispSwap_EndList}, - /* [ 47] = 103 */ {__glXDisp_DeleteLists, __glXDispSwap_DeleteLists}, - /* [ 48] = 104 */ {__glXDisp_GenLists, __glXDispSwap_GenLists}, - /* [ 49] = 105 */ {__glXDisp_FeedbackBuffer, __glXDispSwap_FeedbackBuffer}, - /* [ 50] = 106 */ {__glXDisp_SelectBuffer, __glXDispSwap_SelectBuffer}, - /* [ 51] = 107 */ {__glXDisp_RenderMode, __glXDispSwap_RenderMode}, - /* [ 52] = 108 */ {__glXDisp_Finish, __glXDispSwap_Finish}, - /* [ 53] = 109 */ {__glXDisp_PixelStoref, __glXDispSwap_PixelStoref}, - /* [ 54] = 110 */ {__glXDisp_PixelStorei, __glXDispSwap_PixelStorei}, - /* [ 55] = 111 */ {__glXDisp_ReadPixels, __glXDispSwap_ReadPixels}, - /* [ 56] = 112 */ {__glXDisp_GetBooleanv, __glXDispSwap_GetBooleanv}, - /* [ 57] = 113 */ {__glXDisp_GetClipPlane, __glXDispSwap_GetClipPlane}, - /* [ 58] = 114 */ {__glXDisp_GetDoublev, __glXDispSwap_GetDoublev}, - /* [ 59] = 115 */ {__glXDisp_GetError, __glXDispSwap_GetError}, - /* [ 60] = 116 */ {__glXDisp_GetFloatv, __glXDispSwap_GetFloatv}, - /* [ 61] = 117 */ {__glXDisp_GetIntegerv, __glXDispSwap_GetIntegerv}, - /* [ 62] = 118 */ {__glXDisp_GetLightfv, __glXDispSwap_GetLightfv}, - /* [ 63] = 119 */ {__glXDisp_GetLightiv, __glXDispSwap_GetLightiv}, - /* [ 64] = 120 */ {__glXDisp_GetMapdv, __glXDispSwap_GetMapdv}, - /* [ 65] = 121 */ {__glXDisp_GetMapfv, __glXDispSwap_GetMapfv}, - /* [ 66] = 122 */ {__glXDisp_GetMapiv, __glXDispSwap_GetMapiv}, - /* [ 67] = 123 */ {__glXDisp_GetMaterialfv, __glXDispSwap_GetMaterialfv}, - /* [ 68] = 124 */ {__glXDisp_GetMaterialiv, __glXDispSwap_GetMaterialiv}, - /* [ 69] = 125 */ {__glXDisp_GetPixelMapfv, __glXDispSwap_GetPixelMapfv}, - /* [ 70] = 126 */ {__glXDisp_GetPixelMapuiv, __glXDispSwap_GetPixelMapuiv}, - /* [ 71] = 127 */ {__glXDisp_GetPixelMapusv, __glXDispSwap_GetPixelMapusv}, - /* [ 72] = 128 */ {__glXDisp_GetPolygonStipple, __glXDispSwap_GetPolygonStipple}, - /* [ 73] = 129 */ {__glXDisp_GetString, __glXDispSwap_GetString}, - /* [ 74] = 130 */ {__glXDisp_GetTexEnvfv, __glXDispSwap_GetTexEnvfv}, - /* [ 75] = 131 */ {__glXDisp_GetTexEnviv, __glXDispSwap_GetTexEnviv}, - /* [ 76] = 132 */ {__glXDisp_GetTexGendv, __glXDispSwap_GetTexGendv}, - /* [ 77] = 133 */ {__glXDisp_GetTexGenfv, __glXDispSwap_GetTexGenfv}, - /* [ 78] = 134 */ {__glXDisp_GetTexGeniv, __glXDispSwap_GetTexGeniv}, - /* [ 79] = 135 */ {__glXDisp_GetTexImage, __glXDispSwap_GetTexImage}, - /* [ 80] = 136 */ {__glXDisp_GetTexParameterfv, __glXDispSwap_GetTexParameterfv}, - /* [ 81] = 137 */ {__glXDisp_GetTexParameteriv, __glXDispSwap_GetTexParameteriv}, - /* [ 82] = 138 */ {__glXDisp_GetTexLevelParameterfv, __glXDispSwap_GetTexLevelParameterfv}, - /* [ 83] = 139 */ {__glXDisp_GetTexLevelParameteriv, __glXDispSwap_GetTexLevelParameteriv}, - /* [ 84] = 140 */ {__glXDisp_IsEnabled, __glXDispSwap_IsEnabled}, - /* [ 85] = 141 */ {__glXDisp_IsList, __glXDispSwap_IsList}, - /* [ 86] = 142 */ {__glXDisp_Flush, __glXDispSwap_Flush}, - /* [ 87] = 143 */ {__glXDisp_AreTexturesResident, __glXDispSwap_AreTexturesResident}, - /* [ 88] = 144 */ {__glXDisp_DeleteTextures, __glXDispSwap_DeleteTextures}, - /* [ 89] = 145 */ {__glXDisp_GenTextures, __glXDispSwap_GenTextures}, - /* [ 90] = 146 */ {__glXDisp_IsTexture, __glXDispSwap_IsTexture}, - /* [ 91] = 147 */ {__glXDisp_GetColorTable, __glXDispSwap_GetColorTable}, - /* [ 92] = 148 */ {__glXDisp_GetColorTableParameterfv, __glXDispSwap_GetColorTableParameterfv}, - /* [ 93] = 149 */ {__glXDisp_GetColorTableParameteriv, __glXDispSwap_GetColorTableParameteriv}, - /* [ 94] = 150 */ {__glXDisp_GetConvolutionFilter, __glXDispSwap_GetConvolutionFilter}, - /* [ 95] = 151 */ {__glXDisp_GetConvolutionParameterfv, __glXDispSwap_GetConvolutionParameterfv}, - /* [ 96] = 152 */ {__glXDisp_GetConvolutionParameteriv, __glXDispSwap_GetConvolutionParameteriv}, - /* [ 97] = 153 */ {__glXDisp_GetSeparableFilter, __glXDispSwap_GetSeparableFilter}, - /* [ 98] = 154 */ {__glXDisp_GetHistogram, __glXDispSwap_GetHistogram}, - /* [ 99] = 155 */ {__glXDisp_GetHistogramParameterfv, __glXDispSwap_GetHistogramParameterfv}, - /* [ 100] = 156 */ {__glXDisp_GetHistogramParameteriv, __glXDispSwap_GetHistogramParameteriv}, - /* [ 101] = 157 */ {__glXDisp_GetMinmax, __glXDispSwap_GetMinmax}, - /* [ 102] = 158 */ {__glXDisp_GetMinmaxParameterfv, __glXDispSwap_GetMinmaxParameterfv}, - /* [ 103] = 159 */ {__glXDisp_GetMinmaxParameteriv, __glXDispSwap_GetMinmaxParameteriv}, - /* [ 104] = 160 */ {__glXDisp_GetCompressedTexImageARB, __glXDispSwap_GetCompressedTexImageARB}, - /* [ 105] = 161 */ {__glXDisp_DeleteQueriesARB, __glXDispSwap_DeleteQueriesARB}, - /* [ 106] = 162 */ {__glXDisp_GenQueriesARB, __glXDispSwap_GenQueriesARB}, - /* [ 107] = 163 */ {__glXDisp_IsQueryARB, __glXDispSwap_IsQueryARB}, - /* [ 108] = 164 */ {__glXDisp_GetQueryivARB, __glXDispSwap_GetQueryivARB}, - /* [ 109] = 165 */ {__glXDisp_GetQueryObjectivARB, __glXDispSwap_GetQueryObjectivARB}, - /* [ 110] = 166 */ {__glXDisp_GetQueryObjectuivARB, __glXDispSwap_GetQueryObjectuivARB}, - /* [ 111] = 167 */ {NULL, NULL}, -}; - -const struct __glXDispatchInfo Single_dispatch_info = { - 8, - Single_dispatch_tree, - Single_function_table, - NULL, - NULL -}; - -/*****************************************************************/ -/* tree depth = 8 */ -static const int_fast16_t Render_dispatch_tree[95] = { - /* [0] -> opcode range [0, 8192], node depth 1 */ - 2, - 5, - 31, - 54, - EMPTY_LEAF, - - /* [5] -> opcode range [0, 2048], node depth 2 */ - 1, - 8, - EMPTY_LEAF, - - /* [8] -> opcode range [0, 1024], node depth 3 */ - 1, - 11, - EMPTY_LEAF, - - /* [11] -> opcode range [0, 512], node depth 4 */ - 1, - 14, - EMPTY_LEAF, - - /* [14] -> opcode range [0, 256], node depth 5 */ - 4, - LEAF(0), - LEAF(16), - LEAF(32), - LEAF(48), - LEAF(64), - LEAF(80), - LEAF(96), - LEAF(112), - LEAF(128), - LEAF(144), - LEAF(160), - LEAF(176), - LEAF(192), - LEAF(208), - LEAF(224), - EMPTY_LEAF, - - /* [31] -> opcode range [2048, 4096], node depth 2 */ - 1, - 34, - EMPTY_LEAF, - - /* [34] -> opcode range [2048, 3072], node depth 3 */ - 1, - 37, - EMPTY_LEAF, - - /* [37] -> opcode range [2048, 2560], node depth 4 */ - 1, - 40, - EMPTY_LEAF, - - /* [40] -> opcode range [2048, 2304], node depth 5 */ - 1, - 43, - EMPTY_LEAF, - - /* [43] -> opcode range [2048, 2176], node depth 6 */ - 1, - 46, - EMPTY_LEAF, - - /* [46] -> opcode range [2048, 2112], node depth 7 */ - 1, - 49, - EMPTY_LEAF, - - /* [49] -> opcode range [2048, 2080], node depth 8 */ - 2, - LEAF(240), - LEAF(248), - LEAF(256), - EMPTY_LEAF, - - /* [54] -> opcode range [4096, 6144], node depth 2 */ - 1, - 57, - EMPTY_LEAF, - - /* [57] -> opcode range [4096, 5120], node depth 3 */ - 1, - 60, - EMPTY_LEAF, - - /* [60] -> opcode range [4096, 4608], node depth 4 */ - 1, - 63, - EMPTY_LEAF, - - /* [63] -> opcode range [4096, 4352], node depth 5 */ - 4, - LEAF(264), - LEAF(280), - 80, - EMPTY_LEAF, - EMPTY_LEAF, - LEAF(296), - LEAF(312), - LEAF(328), - LEAF(344), - EMPTY_LEAF, - 83, - 86, - EMPTY_LEAF, - 89, - 92, - EMPTY_LEAF, - - /* [80] -> opcode range [4128, 4144], node depth 6 */ - 1, - LEAF(360), - EMPTY_LEAF, - - /* [83] -> opcode range [4256, 4272], node depth 6 */ - 1, - EMPTY_LEAF, - LEAF(368), - - /* [86] -> opcode range [4272, 4288], node depth 6 */ - 1, - LEAF(376), - EMPTY_LEAF, - - /* [89] -> opcode range [4304, 4320], node depth 6 */ - 1, - EMPTY_LEAF, - LEAF(384), - - /* [92] -> opcode range [4320, 4336], node depth 6 */ - 1, - LEAF(392), - EMPTY_LEAF, - -}; - -static const void *Render_function_table[400][2] = { - /* [ 0] = 0 */ {NULL, NULL}, - /* [ 1] = 1 */ {__glXDisp_CallList, __glXDispSwap_CallList}, - /* [ 2] = 2 */ {__glXDisp_CallLists, __glXDispSwap_CallLists}, - /* [ 3] = 3 */ {__glXDisp_ListBase, __glXDispSwap_ListBase}, - /* [ 4] = 4 */ {__glXDisp_Begin, __glXDispSwap_Begin}, - /* [ 5] = 5 */ {__glXDisp_Bitmap, __glXDispSwap_Bitmap}, - /* [ 6] = 6 */ {__glXDisp_Color3bv, __glXDispSwap_Color3bv}, - /* [ 7] = 7 */ {__glXDisp_Color3dv, __glXDispSwap_Color3dv}, - /* [ 8] = 8 */ {__glXDisp_Color3fv, __glXDispSwap_Color3fv}, - /* [ 9] = 9 */ {__glXDisp_Color3iv, __glXDispSwap_Color3iv}, - /* [ 10] = 10 */ {__glXDisp_Color3sv, __glXDispSwap_Color3sv}, - /* [ 11] = 11 */ {__glXDisp_Color3ubv, __glXDispSwap_Color3ubv}, - /* [ 12] = 12 */ {__glXDisp_Color3uiv, __glXDispSwap_Color3uiv}, - /* [ 13] = 13 */ {__glXDisp_Color3usv, __glXDispSwap_Color3usv}, - /* [ 14] = 14 */ {__glXDisp_Color4bv, __glXDispSwap_Color4bv}, - /* [ 15] = 15 */ {__glXDisp_Color4dv, __glXDispSwap_Color4dv}, - /* [ 16] = 16 */ {__glXDisp_Color4fv, __glXDispSwap_Color4fv}, - /* [ 17] = 17 */ {__glXDisp_Color4iv, __glXDispSwap_Color4iv}, - /* [ 18] = 18 */ {__glXDisp_Color4sv, __glXDispSwap_Color4sv}, - /* [ 19] = 19 */ {__glXDisp_Color4ubv, __glXDispSwap_Color4ubv}, - /* [ 20] = 20 */ {__glXDisp_Color4uiv, __glXDispSwap_Color4uiv}, - /* [ 21] = 21 */ {__glXDisp_Color4usv, __glXDispSwap_Color4usv}, - /* [ 22] = 22 */ {__glXDisp_EdgeFlagv, __glXDispSwap_EdgeFlagv}, - /* [ 23] = 23 */ {__glXDisp_End, __glXDispSwap_End}, - /* [ 24] = 24 */ {__glXDisp_Indexdv, __glXDispSwap_Indexdv}, - /* [ 25] = 25 */ {__glXDisp_Indexfv, __glXDispSwap_Indexfv}, - /* [ 26] = 26 */ {__glXDisp_Indexiv, __glXDispSwap_Indexiv}, - /* [ 27] = 27 */ {__glXDisp_Indexsv, __glXDispSwap_Indexsv}, - /* [ 28] = 28 */ {__glXDisp_Normal3bv, __glXDispSwap_Normal3bv}, - /* [ 29] = 29 */ {__glXDisp_Normal3dv, __glXDispSwap_Normal3dv}, - /* [ 30] = 30 */ {__glXDisp_Normal3fv, __glXDispSwap_Normal3fv}, - /* [ 31] = 31 */ {__glXDisp_Normal3iv, __glXDispSwap_Normal3iv}, - /* [ 32] = 32 */ {__glXDisp_Normal3sv, __glXDispSwap_Normal3sv}, - /* [ 33] = 33 */ {__glXDisp_RasterPos2dv, __glXDispSwap_RasterPos2dv}, - /* [ 34] = 34 */ {__glXDisp_RasterPos2fv, __glXDispSwap_RasterPos2fv}, - /* [ 35] = 35 */ {__glXDisp_RasterPos2iv, __glXDispSwap_RasterPos2iv}, - /* [ 36] = 36 */ {__glXDisp_RasterPos2sv, __glXDispSwap_RasterPos2sv}, - /* [ 37] = 37 */ {__glXDisp_RasterPos3dv, __glXDispSwap_RasterPos3dv}, - /* [ 38] = 38 */ {__glXDisp_RasterPos3fv, __glXDispSwap_RasterPos3fv}, - /* [ 39] = 39 */ {__glXDisp_RasterPos3iv, __glXDispSwap_RasterPos3iv}, - /* [ 40] = 40 */ {__glXDisp_RasterPos3sv, __glXDispSwap_RasterPos3sv}, - /* [ 41] = 41 */ {__glXDisp_RasterPos4dv, __glXDispSwap_RasterPos4dv}, - /* [ 42] = 42 */ {__glXDisp_RasterPos4fv, __glXDispSwap_RasterPos4fv}, - /* [ 43] = 43 */ {__glXDisp_RasterPos4iv, __glXDispSwap_RasterPos4iv}, - /* [ 44] = 44 */ {__glXDisp_RasterPos4sv, __glXDispSwap_RasterPos4sv}, - /* [ 45] = 45 */ {__glXDisp_Rectdv, __glXDispSwap_Rectdv}, - /* [ 46] = 46 */ {__glXDisp_Rectfv, __glXDispSwap_Rectfv}, - /* [ 47] = 47 */ {__glXDisp_Rectiv, __glXDispSwap_Rectiv}, - /* [ 48] = 48 */ {__glXDisp_Rectsv, __glXDispSwap_Rectsv}, - /* [ 49] = 49 */ {__glXDisp_TexCoord1dv, __glXDispSwap_TexCoord1dv}, - /* [ 50] = 50 */ {__glXDisp_TexCoord1fv, __glXDispSwap_TexCoord1fv}, - /* [ 51] = 51 */ {__glXDisp_TexCoord1iv, __glXDispSwap_TexCoord1iv}, - /* [ 52] = 52 */ {__glXDisp_TexCoord1sv, __glXDispSwap_TexCoord1sv}, - /* [ 53] = 53 */ {__glXDisp_TexCoord2dv, __glXDispSwap_TexCoord2dv}, - /* [ 54] = 54 */ {__glXDisp_TexCoord2fv, __glXDispSwap_TexCoord2fv}, - /* [ 55] = 55 */ {__glXDisp_TexCoord2iv, __glXDispSwap_TexCoord2iv}, - /* [ 56] = 56 */ {__glXDisp_TexCoord2sv, __glXDispSwap_TexCoord2sv}, - /* [ 57] = 57 */ {__glXDisp_TexCoord3dv, __glXDispSwap_TexCoord3dv}, - /* [ 58] = 58 */ {__glXDisp_TexCoord3fv, __glXDispSwap_TexCoord3fv}, - /* [ 59] = 59 */ {__glXDisp_TexCoord3iv, __glXDispSwap_TexCoord3iv}, - /* [ 60] = 60 */ {__glXDisp_TexCoord3sv, __glXDispSwap_TexCoord3sv}, - /* [ 61] = 61 */ {__glXDisp_TexCoord4dv, __glXDispSwap_TexCoord4dv}, - /* [ 62] = 62 */ {__glXDisp_TexCoord4fv, __glXDispSwap_TexCoord4fv}, - /* [ 63] = 63 */ {__glXDisp_TexCoord4iv, __glXDispSwap_TexCoord4iv}, - /* [ 64] = 64 */ {__glXDisp_TexCoord4sv, __glXDispSwap_TexCoord4sv}, - /* [ 65] = 65 */ {__glXDisp_Vertex2dv, __glXDispSwap_Vertex2dv}, - /* [ 66] = 66 */ {__glXDisp_Vertex2fv, __glXDispSwap_Vertex2fv}, - /* [ 67] = 67 */ {__glXDisp_Vertex2iv, __glXDispSwap_Vertex2iv}, - /* [ 68] = 68 */ {__glXDisp_Vertex2sv, __glXDispSwap_Vertex2sv}, - /* [ 69] = 69 */ {__glXDisp_Vertex3dv, __glXDispSwap_Vertex3dv}, - /* [ 70] = 70 */ {__glXDisp_Vertex3fv, __glXDispSwap_Vertex3fv}, - /* [ 71] = 71 */ {__glXDisp_Vertex3iv, __glXDispSwap_Vertex3iv}, - /* [ 72] = 72 */ {__glXDisp_Vertex3sv, __glXDispSwap_Vertex3sv}, - /* [ 73] = 73 */ {__glXDisp_Vertex4dv, __glXDispSwap_Vertex4dv}, - /* [ 74] = 74 */ {__glXDisp_Vertex4fv, __glXDispSwap_Vertex4fv}, - /* [ 75] = 75 */ {__glXDisp_Vertex4iv, __glXDispSwap_Vertex4iv}, - /* [ 76] = 76 */ {__glXDisp_Vertex4sv, __glXDispSwap_Vertex4sv}, - /* [ 77] = 77 */ {__glXDisp_ClipPlane, __glXDispSwap_ClipPlane}, - /* [ 78] = 78 */ {__glXDisp_ColorMaterial, __glXDispSwap_ColorMaterial}, - /* [ 79] = 79 */ {__glXDisp_CullFace, __glXDispSwap_CullFace}, - /* [ 80] = 80 */ {__glXDisp_Fogf, __glXDispSwap_Fogf}, - /* [ 81] = 81 */ {__glXDisp_Fogfv, __glXDispSwap_Fogfv}, - /* [ 82] = 82 */ {__glXDisp_Fogi, __glXDispSwap_Fogi}, - /* [ 83] = 83 */ {__glXDisp_Fogiv, __glXDispSwap_Fogiv}, - /* [ 84] = 84 */ {__glXDisp_FrontFace, __glXDispSwap_FrontFace}, - /* [ 85] = 85 */ {__glXDisp_Hint, __glXDispSwap_Hint}, - /* [ 86] = 86 */ {__glXDisp_Lightf, __glXDispSwap_Lightf}, - /* [ 87] = 87 */ {__glXDisp_Lightfv, __glXDispSwap_Lightfv}, - /* [ 88] = 88 */ {__glXDisp_Lighti, __glXDispSwap_Lighti}, - /* [ 89] = 89 */ {__glXDisp_Lightiv, __glXDispSwap_Lightiv}, - /* [ 90] = 90 */ {__glXDisp_LightModelf, __glXDispSwap_LightModelf}, - /* [ 91] = 91 */ {__glXDisp_LightModelfv, __glXDispSwap_LightModelfv}, - /* [ 92] = 92 */ {__glXDisp_LightModeli, __glXDispSwap_LightModeli}, - /* [ 93] = 93 */ {__glXDisp_LightModeliv, __glXDispSwap_LightModeliv}, - /* [ 94] = 94 */ {__glXDisp_LineStipple, __glXDispSwap_LineStipple}, - /* [ 95] = 95 */ {__glXDisp_LineWidth, __glXDispSwap_LineWidth}, - /* [ 96] = 96 */ {__glXDisp_Materialf, __glXDispSwap_Materialf}, - /* [ 97] = 97 */ {__glXDisp_Materialfv, __glXDispSwap_Materialfv}, - /* [ 98] = 98 */ {__glXDisp_Materiali, __glXDispSwap_Materiali}, - /* [ 99] = 99 */ {__glXDisp_Materialiv, __glXDispSwap_Materialiv}, - /* [ 100] = 100 */ {__glXDisp_PointSize, __glXDispSwap_PointSize}, - /* [ 101] = 101 */ {__glXDisp_PolygonMode, __glXDispSwap_PolygonMode}, - /* [ 102] = 102 */ {__glXDisp_PolygonStipple, __glXDispSwap_PolygonStipple}, - /* [ 103] = 103 */ {__glXDisp_Scissor, __glXDispSwap_Scissor}, - /* [ 104] = 104 */ {__glXDisp_ShadeModel, __glXDispSwap_ShadeModel}, - /* [ 105] = 105 */ {__glXDisp_TexParameterf, __glXDispSwap_TexParameterf}, - /* [ 106] = 106 */ {__glXDisp_TexParameterfv, __glXDispSwap_TexParameterfv}, - /* [ 107] = 107 */ {__glXDisp_TexParameteri, __glXDispSwap_TexParameteri}, - /* [ 108] = 108 */ {__glXDisp_TexParameteriv, __glXDispSwap_TexParameteriv}, - /* [ 109] = 109 */ {__glXDisp_TexImage1D, __glXDispSwap_TexImage1D}, - /* [ 110] = 110 */ {__glXDisp_TexImage2D, __glXDispSwap_TexImage2D}, - /* [ 111] = 111 */ {__glXDisp_TexEnvf, __glXDispSwap_TexEnvf}, - /* [ 112] = 112 */ {__glXDisp_TexEnvfv, __glXDispSwap_TexEnvfv}, - /* [ 113] = 113 */ {__glXDisp_TexEnvi, __glXDispSwap_TexEnvi}, - /* [ 114] = 114 */ {__glXDisp_TexEnviv, __glXDispSwap_TexEnviv}, - /* [ 115] = 115 */ {__glXDisp_TexGend, __glXDispSwap_TexGend}, - /* [ 116] = 116 */ {__glXDisp_TexGendv, __glXDispSwap_TexGendv}, - /* [ 117] = 117 */ {__glXDisp_TexGenf, __glXDispSwap_TexGenf}, - /* [ 118] = 118 */ {__glXDisp_TexGenfv, __glXDispSwap_TexGenfv}, - /* [ 119] = 119 */ {__glXDisp_TexGeni, __glXDispSwap_TexGeni}, - /* [ 120] = 120 */ {__glXDisp_TexGeniv, __glXDispSwap_TexGeniv}, - /* [ 121] = 121 */ {__glXDisp_InitNames, __glXDispSwap_InitNames}, - /* [ 122] = 122 */ {__glXDisp_LoadName, __glXDispSwap_LoadName}, - /* [ 123] = 123 */ {__glXDisp_PassThrough, __glXDispSwap_PassThrough}, - /* [ 124] = 124 */ {__glXDisp_PopName, __glXDispSwap_PopName}, - /* [ 125] = 125 */ {__glXDisp_PushName, __glXDispSwap_PushName}, - /* [ 126] = 126 */ {__glXDisp_DrawBuffer, __glXDispSwap_DrawBuffer}, - /* [ 127] = 127 */ {__glXDisp_Clear, __glXDispSwap_Clear}, - /* [ 128] = 128 */ {__glXDisp_ClearAccum, __glXDispSwap_ClearAccum}, - /* [ 129] = 129 */ {__glXDisp_ClearIndex, __glXDispSwap_ClearIndex}, - /* [ 130] = 130 */ {__glXDisp_ClearColor, __glXDispSwap_ClearColor}, - /* [ 131] = 131 */ {__glXDisp_ClearStencil, __glXDispSwap_ClearStencil}, - /* [ 132] = 132 */ {__glXDisp_ClearDepth, __glXDispSwap_ClearDepth}, - /* [ 133] = 133 */ {__glXDisp_StencilMask, __glXDispSwap_StencilMask}, - /* [ 134] = 134 */ {__glXDisp_ColorMask, __glXDispSwap_ColorMask}, - /* [ 135] = 135 */ {__glXDisp_DepthMask, __glXDispSwap_DepthMask}, - /* [ 136] = 136 */ {__glXDisp_IndexMask, __glXDispSwap_IndexMask}, - /* [ 137] = 137 */ {__glXDisp_Accum, __glXDispSwap_Accum}, - /* [ 138] = 138 */ {__glXDisp_Disable, __glXDispSwap_Disable}, - /* [ 139] = 139 */ {__glXDisp_Enable, __glXDispSwap_Enable}, - /* [ 140] = 140 */ {NULL, NULL}, - /* [ 141] = 141 */ {__glXDisp_PopAttrib, __glXDispSwap_PopAttrib}, - /* [ 142] = 142 */ {__glXDisp_PushAttrib, __glXDispSwap_PushAttrib}, - /* [ 143] = 143 */ {__glXDisp_Map1d, __glXDispSwap_Map1d}, - /* [ 144] = 144 */ {__glXDisp_Map1f, __glXDispSwap_Map1f}, - /* [ 145] = 145 */ {__glXDisp_Map2d, __glXDispSwap_Map2d}, - /* [ 146] = 146 */ {__glXDisp_Map2f, __glXDispSwap_Map2f}, - /* [ 147] = 147 */ {__glXDisp_MapGrid1d, __glXDispSwap_MapGrid1d}, - /* [ 148] = 148 */ {__glXDisp_MapGrid1f, __glXDispSwap_MapGrid1f}, - /* [ 149] = 149 */ {__glXDisp_MapGrid2d, __glXDispSwap_MapGrid2d}, - /* [ 150] = 150 */ {__glXDisp_MapGrid2f, __glXDispSwap_MapGrid2f}, - /* [ 151] = 151 */ {__glXDisp_EvalCoord1dv, __glXDispSwap_EvalCoord1dv}, - /* [ 152] = 152 */ {__glXDisp_EvalCoord1fv, __glXDispSwap_EvalCoord1fv}, - /* [ 153] = 153 */ {__glXDisp_EvalCoord2dv, __glXDispSwap_EvalCoord2dv}, - /* [ 154] = 154 */ {__glXDisp_EvalCoord2fv, __glXDispSwap_EvalCoord2fv}, - /* [ 155] = 155 */ {__glXDisp_EvalMesh1, __glXDispSwap_EvalMesh1}, - /* [ 156] = 156 */ {__glXDisp_EvalPoint1, __glXDispSwap_EvalPoint1}, - /* [ 157] = 157 */ {__glXDisp_EvalMesh2, __glXDispSwap_EvalMesh2}, - /* [ 158] = 158 */ {__glXDisp_EvalPoint2, __glXDispSwap_EvalPoint2}, - /* [ 159] = 159 */ {__glXDisp_AlphaFunc, __glXDispSwap_AlphaFunc}, - /* [ 160] = 160 */ {__glXDisp_BlendFunc, __glXDispSwap_BlendFunc}, - /* [ 161] = 161 */ {__glXDisp_LogicOp, __glXDispSwap_LogicOp}, - /* [ 162] = 162 */ {__glXDisp_StencilFunc, __glXDispSwap_StencilFunc}, - /* [ 163] = 163 */ {__glXDisp_StencilOp, __glXDispSwap_StencilOp}, - /* [ 164] = 164 */ {__glXDisp_DepthFunc, __glXDispSwap_DepthFunc}, - /* [ 165] = 165 */ {__glXDisp_PixelZoom, __glXDispSwap_PixelZoom}, - /* [ 166] = 166 */ {__glXDisp_PixelTransferf, __glXDispSwap_PixelTransferf}, - /* [ 167] = 167 */ {__glXDisp_PixelTransferi, __glXDispSwap_PixelTransferi}, - /* [ 168] = 168 */ {__glXDisp_PixelMapfv, __glXDispSwap_PixelMapfv}, - /* [ 169] = 169 */ {__glXDisp_PixelMapuiv, __glXDispSwap_PixelMapuiv}, - /* [ 170] = 170 */ {__glXDisp_PixelMapusv, __glXDispSwap_PixelMapusv}, - /* [ 171] = 171 */ {__glXDisp_ReadBuffer, __glXDispSwap_ReadBuffer}, - /* [ 172] = 172 */ {__glXDisp_CopyPixels, __glXDispSwap_CopyPixels}, - /* [ 173] = 173 */ {__glXDisp_DrawPixels, __glXDispSwap_DrawPixels}, - /* [ 174] = 174 */ {__glXDisp_DepthRange, __glXDispSwap_DepthRange}, - /* [ 175] = 175 */ {__glXDisp_Frustum, __glXDispSwap_Frustum}, - /* [ 176] = 176 */ {__glXDisp_LoadIdentity, __glXDispSwap_LoadIdentity}, - /* [ 177] = 177 */ {__glXDisp_LoadMatrixf, __glXDispSwap_LoadMatrixf}, - /* [ 178] = 178 */ {__glXDisp_LoadMatrixd, __glXDispSwap_LoadMatrixd}, - /* [ 179] = 179 */ {__glXDisp_MatrixMode, __glXDispSwap_MatrixMode}, - /* [ 180] = 180 */ {__glXDisp_MultMatrixf, __glXDispSwap_MultMatrixf}, - /* [ 181] = 181 */ {__glXDisp_MultMatrixd, __glXDispSwap_MultMatrixd}, - /* [ 182] = 182 */ {__glXDisp_Ortho, __glXDispSwap_Ortho}, - /* [ 183] = 183 */ {__glXDisp_PopMatrix, __glXDispSwap_PopMatrix}, - /* [ 184] = 184 */ {__glXDisp_PushMatrix, __glXDispSwap_PushMatrix}, - /* [ 185] = 185 */ {__glXDisp_Rotated, __glXDispSwap_Rotated}, - /* [ 186] = 186 */ {__glXDisp_Rotatef, __glXDispSwap_Rotatef}, - /* [ 187] = 187 */ {__glXDisp_Scaled, __glXDispSwap_Scaled}, - /* [ 188] = 188 */ {__glXDisp_Scalef, __glXDispSwap_Scalef}, - /* [ 189] = 189 */ {__glXDisp_Translated, __glXDispSwap_Translated}, - /* [ 190] = 190 */ {__glXDisp_Translatef, __glXDispSwap_Translatef}, - /* [ 191] = 191 */ {__glXDisp_Viewport, __glXDispSwap_Viewport}, - /* [ 192] = 192 */ {__glXDisp_PolygonOffset, __glXDispSwap_PolygonOffset}, - /* [ 193] = 193 */ {__glXDisp_DrawArrays, __glXDispSwap_DrawArrays}, - /* [ 194] = 194 */ {__glXDisp_Indexubv, __glXDispSwap_Indexubv}, - /* [ 195] = 195 */ {__glXDisp_ColorSubTable, __glXDispSwap_ColorSubTable}, - /* [ 196] = 196 */ {__glXDisp_CopyColorSubTable, __glXDispSwap_CopyColorSubTable}, - /* [ 197] = 197 */ {__glXDisp_ActiveTextureARB, __glXDispSwap_ActiveTextureARB}, - /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dvARB, __glXDispSwap_MultiTexCoord1dvARB}, - /* [ 199] = 199 */ {__glXDisp_MultiTexCoord1fvARB, __glXDispSwap_MultiTexCoord1fvARB}, - /* [ 200] = 200 */ {__glXDisp_MultiTexCoord1ivARB, __glXDispSwap_MultiTexCoord1ivARB}, - /* [ 201] = 201 */ {__glXDisp_MultiTexCoord1svARB, __glXDispSwap_MultiTexCoord1svARB}, - /* [ 202] = 202 */ {__glXDisp_MultiTexCoord2dvARB, __glXDispSwap_MultiTexCoord2dvARB}, - /* [ 203] = 203 */ {__glXDisp_MultiTexCoord2fvARB, __glXDispSwap_MultiTexCoord2fvARB}, - /* [ 204] = 204 */ {__glXDisp_MultiTexCoord2ivARB, __glXDispSwap_MultiTexCoord2ivARB}, - /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2svARB, __glXDispSwap_MultiTexCoord2svARB}, - /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dvARB, __glXDispSwap_MultiTexCoord3dvARB}, - /* [ 207] = 207 */ {__glXDisp_MultiTexCoord3fvARB, __glXDispSwap_MultiTexCoord3fvARB}, - /* [ 208] = 208 */ {__glXDisp_MultiTexCoord3ivARB, __glXDispSwap_MultiTexCoord3ivARB}, - /* [ 209] = 209 */ {__glXDisp_MultiTexCoord3svARB, __glXDispSwap_MultiTexCoord3svARB}, - /* [ 210] = 210 */ {__glXDisp_MultiTexCoord4dvARB, __glXDispSwap_MultiTexCoord4dvARB}, - /* [ 211] = 211 */ {__glXDisp_MultiTexCoord4fvARB, __glXDispSwap_MultiTexCoord4fvARB}, - /* [ 212] = 212 */ {__glXDisp_MultiTexCoord4ivARB, __glXDispSwap_MultiTexCoord4ivARB}, - /* [ 213] = 213 */ {__glXDisp_MultiTexCoord4svARB, __glXDispSwap_MultiTexCoord4svARB}, - /* [ 214] = 214 */ {__glXDisp_CompressedTexImage1DARB, __glXDispSwap_CompressedTexImage1DARB}, - /* [ 215] = 215 */ {__glXDisp_CompressedTexImage2DARB, __glXDispSwap_CompressedTexImage2DARB}, - /* [ 216] = 216 */ {__glXDisp_CompressedTexImage3DARB, __glXDispSwap_CompressedTexImage3DARB}, - /* [ 217] = 217 */ {__glXDisp_CompressedTexSubImage1DARB, __glXDispSwap_CompressedTexSubImage1DARB}, - /* [ 218] = 218 */ {__glXDisp_CompressedTexSubImage2DARB, __glXDispSwap_CompressedTexSubImage2DARB}, - /* [ 219] = 219 */ {__glXDisp_CompressedTexSubImage3DARB, __glXDispSwap_CompressedTexSubImage3DARB}, - /* [ 220] = 220 */ {NULL, NULL}, - /* [ 221] = 221 */ {NULL, NULL}, - /* [ 222] = 222 */ {NULL, NULL}, - /* [ 223] = 223 */ {NULL, NULL}, - /* [ 224] = 224 */ {NULL, NULL}, - /* [ 225] = 225 */ {NULL, NULL}, - /* [ 226] = 226 */ {NULL, NULL}, - /* [ 227] = 227 */ {NULL, NULL}, - /* [ 228] = 228 */ {NULL, NULL}, - /* [ 229] = 229 */ {__glXDisp_SampleCoverageARB, __glXDispSwap_SampleCoverageARB}, - /* [ 230] = 230 */ {__glXDisp_WindowPos3fvMESA, __glXDispSwap_WindowPos3fvMESA}, - /* [ 231] = 231 */ {__glXDisp_BeginQueryARB, __glXDispSwap_BeginQueryARB}, - /* [ 232] = 232 */ {__glXDisp_EndQueryARB, __glXDispSwap_EndQueryARB}, - /* [ 233] = 233 */ {__glXDisp_DrawBuffersARB, __glXDispSwap_DrawBuffersARB}, - /* [ 234] = 234 */ {NULL, NULL}, - /* [ 235] = 235 */ {NULL, NULL}, - /* [ 236] = 236 */ {NULL, NULL}, - /* [ 237] = 237 */ {NULL, NULL}, - /* [ 238] = 238 */ {NULL, NULL}, - /* [ 239] = 239 */ {NULL, NULL}, - /* [ 240] = 2048 */ {__glXDisp_SampleMaskSGIS, __glXDispSwap_SampleMaskSGIS}, - /* [ 241] = 2049 */ {__glXDisp_SamplePatternSGIS, __glXDispSwap_SamplePatternSGIS}, - /* [ 242] = 2050 */ {NULL, NULL}, - /* [ 243] = 2051 */ {NULL, NULL}, - /* [ 244] = 2052 */ {NULL, NULL}, - /* [ 245] = 2053 */ {__glXDisp_ColorTable, __glXDispSwap_ColorTable}, - /* [ 246] = 2054 */ {__glXDisp_ColorTableParameterfv, __glXDispSwap_ColorTableParameterfv}, - /* [ 247] = 2055 */ {__glXDisp_ColorTableParameteriv, __glXDispSwap_ColorTableParameteriv}, - /* [ 248] = 2056 */ {__glXDisp_CopyColorTable, __glXDispSwap_CopyColorTable}, - /* [ 249] = 2057 */ {NULL, NULL}, - /* [ 250] = 2058 */ {NULL, NULL}, - /* [ 251] = 2059 */ {NULL, NULL}, - /* [ 252] = 2060 */ {NULL, NULL}, - /* [ 253] = 2061 */ {NULL, NULL}, - /* [ 254] = 2062 */ {NULL, NULL}, - /* [ 255] = 2063 */ {NULL, NULL}, - /* [ 256] = 2064 */ {NULL, NULL}, - /* [ 257] = 2065 */ {__glXDisp_PointParameterfEXT, __glXDispSwap_PointParameterfEXT}, - /* [ 258] = 2066 */ {__glXDisp_PointParameterfvEXT, __glXDispSwap_PointParameterfvEXT}, - /* [ 259] = 2067 */ {NULL, NULL}, - /* [ 260] = 2068 */ {NULL, NULL}, - /* [ 261] = 2069 */ {NULL, NULL}, - /* [ 262] = 2070 */ {NULL, NULL}, - /* [ 263] = 2071 */ {NULL, NULL}, - /* [ 264] = 4096 */ {__glXDisp_BlendColor, __glXDispSwap_BlendColor}, - /* [ 265] = 4097 */ {__glXDisp_BlendEquation, __glXDispSwap_BlendEquation}, - /* [ 266] = 4098 */ {NULL, NULL}, - /* [ 267] = 4099 */ {__glXDisp_TexSubImage1D, __glXDispSwap_TexSubImage1D}, - /* [ 268] = 4100 */ {__glXDisp_TexSubImage2D, __glXDispSwap_TexSubImage2D}, - /* [ 269] = 4101 */ {__glXDisp_ConvolutionFilter1D, __glXDispSwap_ConvolutionFilter1D}, - /* [ 270] = 4102 */ {__glXDisp_ConvolutionFilter2D, __glXDispSwap_ConvolutionFilter2D}, - /* [ 271] = 4103 */ {__glXDisp_ConvolutionParameterf, __glXDispSwap_ConvolutionParameterf}, - /* [ 272] = 4104 */ {__glXDisp_ConvolutionParameterfv, __glXDispSwap_ConvolutionParameterfv}, - /* [ 273] = 4105 */ {__glXDisp_ConvolutionParameteri, __glXDispSwap_ConvolutionParameteri}, - /* [ 274] = 4106 */ {__glXDisp_ConvolutionParameteriv, __glXDispSwap_ConvolutionParameteriv}, - /* [ 275] = 4107 */ {__glXDisp_CopyConvolutionFilter1D, __glXDispSwap_CopyConvolutionFilter1D}, - /* [ 276] = 4108 */ {__glXDisp_CopyConvolutionFilter2D, __glXDispSwap_CopyConvolutionFilter2D}, - /* [ 277] = 4109 */ {__glXDisp_SeparableFilter2D, __glXDispSwap_SeparableFilter2D}, - /* [ 278] = 4110 */ {__glXDisp_Histogram, __glXDispSwap_Histogram}, - /* [ 279] = 4111 */ {__glXDisp_Minmax, __glXDispSwap_Minmax}, - /* [ 280] = 4112 */ {__glXDisp_ResetHistogram, __glXDispSwap_ResetHistogram}, - /* [ 281] = 4113 */ {__glXDisp_ResetMinmax, __glXDispSwap_ResetMinmax}, - /* [ 282] = 4114 */ {__glXDisp_TexImage3D, __glXDispSwap_TexImage3D}, - /* [ 283] = 4115 */ {__glXDisp_TexSubImage3D, __glXDispSwap_TexSubImage3D}, - /* [ 284] = 4116 */ {NULL, NULL}, - /* [ 285] = 4117 */ {__glXDisp_BindTexture, __glXDispSwap_BindTexture}, - /* [ 286] = 4118 */ {__glXDisp_PrioritizeTextures, __glXDispSwap_PrioritizeTextures}, - /* [ 287] = 4119 */ {__glXDisp_CopyTexImage1D, __glXDispSwap_CopyTexImage1D}, - /* [ 288] = 4120 */ {__glXDisp_CopyTexImage2D, __glXDispSwap_CopyTexImage2D}, - /* [ 289] = 4121 */ {__glXDisp_CopyTexSubImage1D, __glXDispSwap_CopyTexSubImage1D}, - /* [ 290] = 4122 */ {__glXDisp_CopyTexSubImage2D, __glXDispSwap_CopyTexSubImage2D}, - /* [ 291] = 4123 */ {__glXDisp_CopyTexSubImage3D, __glXDispSwap_CopyTexSubImage3D}, - /* [ 292] = 4124 */ {__glXDisp_FogCoordfvEXT, __glXDispSwap_FogCoordfvEXT}, - /* [ 293] = 4125 */ {__glXDisp_FogCoorddvEXT, __glXDispSwap_FogCoorddvEXT}, - /* [ 294] = 4126 */ {__glXDisp_SecondaryColor3bvEXT, __glXDispSwap_SecondaryColor3bvEXT}, - /* [ 295] = 4127 */ {__glXDisp_SecondaryColor3svEXT, __glXDispSwap_SecondaryColor3svEXT}, - /* [ 296] = 4176 */ {NULL, NULL}, - /* [ 297] = 4177 */ {NULL, NULL}, - /* [ 298] = 4178 */ {NULL, NULL}, - /* [ 299] = 4179 */ {NULL, NULL}, - /* [ 300] = 4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV}, - /* [ 301] = 4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV}, - /* [ 302] = 4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV}, - /* [ 303] = 4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV}, - /* [ 304] = 4184 */ {__glXDisp_ProgramEnvParameter4fvARB, __glXDispSwap_ProgramEnvParameter4fvARB}, - /* [ 305] = 4185 */ {__glXDisp_ProgramEnvParameter4dvARB, __glXDispSwap_ProgramEnvParameter4dvARB}, - /* [ 306] = 4186 */ {__glXDisp_ProgramParameters4fvNV, __glXDispSwap_ProgramParameters4fvNV}, - /* [ 307] = 4187 */ {__glXDisp_ProgramParameters4dvNV, __glXDispSwap_ProgramParameters4dvNV}, - /* [ 308] = 4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV}, - /* [ 309] = 4189 */ {__glXDisp_VertexAttrib1svARB, __glXDispSwap_VertexAttrib1svARB}, - /* [ 310] = 4190 */ {__glXDisp_VertexAttrib2svARB, __glXDispSwap_VertexAttrib2svARB}, - /* [ 311] = 4191 */ {__glXDisp_VertexAttrib3svARB, __glXDispSwap_VertexAttrib3svARB}, - /* [ 312] = 4192 */ {__glXDisp_VertexAttrib4svARB, __glXDispSwap_VertexAttrib4svARB}, - /* [ 313] = 4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB}, - /* [ 314] = 4194 */ {__glXDisp_VertexAttrib2fvARB, __glXDispSwap_VertexAttrib2fvARB}, - /* [ 315] = 4195 */ {__glXDisp_VertexAttrib3fvARB, __glXDispSwap_VertexAttrib3fvARB}, - /* [ 316] = 4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB}, - /* [ 317] = 4197 */ {__glXDisp_VertexAttrib1dvARB, __glXDispSwap_VertexAttrib1dvARB}, - /* [ 318] = 4198 */ {__glXDisp_VertexAttrib2dvARB, __glXDispSwap_VertexAttrib2dvARB}, - /* [ 319] = 4199 */ {__glXDisp_VertexAttrib3dvARB, __glXDispSwap_VertexAttrib3dvARB}, - /* [ 320] = 4200 */ {__glXDisp_VertexAttrib4dvARB, __glXDispSwap_VertexAttrib4dvARB}, - /* [ 321] = 4201 */ {__glXDisp_VertexAttrib4NubvARB, __glXDispSwap_VertexAttrib4NubvARB}, - /* [ 322] = 4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV}, - /* [ 323] = 4203 */ {__glXDisp_VertexAttribs2svNV, __glXDispSwap_VertexAttribs2svNV}, - /* [ 324] = 4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV}, - /* [ 325] = 4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV}, - /* [ 326] = 4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV}, - /* [ 327] = 4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV}, - /* [ 328] = 4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV}, - /* [ 329] = 4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV}, - /* [ 330] = 4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV}, - /* [ 331] = 4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV}, - /* [ 332] = 4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV}, - /* [ 333] = 4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV}, - /* [ 334] = 4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV}, - /* [ 335] = 4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB}, - /* [ 336] = 4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB}, - /* [ 337] = 4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB}, - /* [ 338] = 4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV}, - /* [ 339] = 4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV}, - /* [ 340] = 4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT}, - /* [ 341] = 4221 */ {__glXDisp_PointParameteriNV, __glXDispSwap_PointParameteriNV}, - /* [ 342] = 4222 */ {__glXDisp_PointParameterivNV, __glXDispSwap_PointParameterivNV}, - /* [ 343] = 4223 */ {NULL, NULL}, - /* [ 344] = 4224 */ {NULL, NULL}, - /* [ 345] = 4225 */ {NULL, NULL}, - /* [ 346] = 4226 */ {NULL, NULL}, - /* [ 347] = 4227 */ {NULL, NULL}, - /* [ 348] = 4228 */ {__glXDisp_BlendEquationSeparateEXT, __glXDispSwap_BlendEquationSeparateEXT}, - /* [ 349] = 4229 */ {NULL, NULL}, - /* [ 350] = 4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB}, - /* [ 351] = 4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB}, - /* [ 352] = 4232 */ {__glXDisp_VertexAttrib4ubvARB, __glXDispSwap_VertexAttrib4ubvARB}, - /* [ 353] = 4233 */ {__glXDisp_VertexAttrib4usvARB, __glXDispSwap_VertexAttrib4usvARB}, - /* [ 354] = 4234 */ {__glXDisp_VertexAttrib4uivARB, __glXDispSwap_VertexAttrib4uivARB}, - /* [ 355] = 4235 */ {__glXDisp_VertexAttrib4NbvARB, __glXDispSwap_VertexAttrib4NbvARB}, - /* [ 356] = 4236 */ {__glXDisp_VertexAttrib4NsvARB, __glXDispSwap_VertexAttrib4NsvARB}, - /* [ 357] = 4237 */ {__glXDisp_VertexAttrib4NivARB, __glXDispSwap_VertexAttrib4NivARB}, - /* [ 358] = 4238 */ {__glXDisp_VertexAttrib4NusvARB, __glXDispSwap_VertexAttrib4NusvARB}, - /* [ 359] = 4239 */ {__glXDisp_VertexAttrib4NuivARB, __glXDispSwap_VertexAttrib4NuivARB}, - /* [ 360] = 4128 */ {__glXDisp_SecondaryColor3ivEXT, __glXDispSwap_SecondaryColor3ivEXT}, - /* [ 361] = 4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT}, - /* [ 362] = 4130 */ {__glXDisp_SecondaryColor3dvEXT, __glXDispSwap_SecondaryColor3dvEXT}, - /* [ 363] = 4131 */ {__glXDisp_SecondaryColor3ubvEXT, __glXDispSwap_SecondaryColor3ubvEXT}, - /* [ 364] = 4132 */ {__glXDisp_SecondaryColor3usvEXT, __glXDispSwap_SecondaryColor3usvEXT}, - /* [ 365] = 4133 */ {__glXDisp_SecondaryColor3uivEXT, __glXDispSwap_SecondaryColor3uivEXT}, - /* [ 366] = 4134 */ {__glXDisp_BlendFuncSeparateEXT, __glXDispSwap_BlendFuncSeparateEXT}, - /* [ 367] = 4135 */ {NULL, NULL}, - /* [ 368] = 4264 */ {NULL, NULL}, - /* [ 369] = 4265 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV}, - /* [ 370] = 4266 */ {__glXDisp_VertexAttrib2svNV, __glXDispSwap_VertexAttrib2svNV}, - /* [ 371] = 4267 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV}, - /* [ 372] = 4268 */ {__glXDisp_VertexAttrib4svNV, __glXDispSwap_VertexAttrib4svNV}, - /* [ 373] = 4269 */ {__glXDisp_VertexAttrib1fvNV, __glXDispSwap_VertexAttrib1fvNV}, - /* [ 374] = 4270 */ {__glXDisp_VertexAttrib2fvNV, __glXDispSwap_VertexAttrib2fvNV}, - /* [ 375] = 4271 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV}, - /* [ 376] = 4272 */ {__glXDisp_VertexAttrib4fvNV, __glXDispSwap_VertexAttrib4fvNV}, - /* [ 377] = 4273 */ {__glXDisp_VertexAttrib1dvNV, __glXDispSwap_VertexAttrib1dvNV}, - /* [ 378] = 4274 */ {__glXDisp_VertexAttrib2dvNV, __glXDispSwap_VertexAttrib2dvNV}, - /* [ 379] = 4275 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV}, - /* [ 380] = 4276 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV}, - /* [ 381] = 4277 */ {__glXDisp_VertexAttrib4ubvNV, __glXDispSwap_VertexAttrib4ubvNV}, - /* [ 382] = 4278 */ {NULL, NULL}, - /* [ 383] = 4279 */ {NULL, NULL}, - /* [ 384] = 4312 */ {NULL, NULL}, - /* [ 385] = 4313 */ {NULL, NULL}, - /* [ 386] = 4314 */ {NULL, NULL}, - /* [ 387] = 4315 */ {NULL, NULL}, - /* [ 388] = 4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT}, - /* [ 389] = 4317 */ {__glXDisp_DeleteRenderbuffersEXT, __glXDispSwap_DeleteRenderbuffersEXT}, - /* [ 390] = 4318 */ {__glXDisp_RenderbufferStorageEXT, __glXDispSwap_RenderbufferStorageEXT}, - /* [ 391] = 4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT}, - /* [ 392] = 4320 */ {__glXDisp_DeleteFramebuffersEXT, __glXDispSwap_DeleteFramebuffersEXT}, - /* [ 393] = 4321 */ {__glXDisp_FramebufferTexture1DEXT, __glXDispSwap_FramebufferTexture1DEXT}, - /* [ 394] = 4322 */ {__glXDisp_FramebufferTexture2DEXT, __glXDispSwap_FramebufferTexture2DEXT}, - /* [ 395] = 4323 */ {__glXDisp_FramebufferTexture3DEXT, __glXDispSwap_FramebufferTexture3DEXT}, - /* [ 396] = 4324 */ {__glXDisp_FramebufferRenderbufferEXT, __glXDispSwap_FramebufferRenderbufferEXT}, - /* [ 397] = 4325 */ {__glXDisp_GenerateMipmapEXT, __glXDispSwap_GenerateMipmapEXT}, - /* [ 398] = 4326 */ {NULL, NULL}, - /* [ 399] = 4327 */ {NULL, NULL}, -}; - -static const int_fast16_t Render_size_table[400][2] = { - /* [ 0] = 0 */ { 0, ~0}, - /* [ 1] = 1 */ { 8, ~0}, - /* [ 2] = 2 */ { 12, 0}, - /* [ 3] = 3 */ { 8, ~0}, - /* [ 4] = 4 */ { 8, ~0}, - /* [ 5] = 5 */ { 48, 1}, - /* [ 6] = 6 */ { 8, ~0}, - /* [ 7] = 7 */ { 28, ~0}, - /* [ 8] = 8 */ { 16, ~0}, - /* [ 9] = 9 */ { 16, ~0}, - /* [ 10] = 10 */ { 12, ~0}, - /* [ 11] = 11 */ { 8, ~0}, - /* [ 12] = 12 */ { 16, ~0}, - /* [ 13] = 13 */ { 12, ~0}, - /* [ 14] = 14 */ { 8, ~0}, - /* [ 15] = 15 */ { 36, ~0}, - /* [ 16] = 16 */ { 20, ~0}, - /* [ 17] = 17 */ { 20, ~0}, - /* [ 18] = 18 */ { 12, ~0}, - /* [ 19] = 19 */ { 8, ~0}, - /* [ 20] = 20 */ { 20, ~0}, - /* [ 21] = 21 */ { 12, ~0}, - /* [ 22] = 22 */ { 8, ~0}, - /* [ 23] = 23 */ { 4, ~0}, - /* [ 24] = 24 */ { 12, ~0}, - /* [ 25] = 25 */ { 8, ~0}, - /* [ 26] = 26 */ { 8, ~0}, - /* [ 27] = 27 */ { 8, ~0}, - /* [ 28] = 28 */ { 8, ~0}, - /* [ 29] = 29 */ { 28, ~0}, - /* [ 30] = 30 */ { 16, ~0}, - /* [ 31] = 31 */ { 16, ~0}, - /* [ 32] = 32 */ { 12, ~0}, - /* [ 33] = 33 */ { 20, ~0}, - /* [ 34] = 34 */ { 12, ~0}, - /* [ 35] = 35 */ { 12, ~0}, - /* [ 36] = 36 */ { 8, ~0}, - /* [ 37] = 37 */ { 28, ~0}, - /* [ 38] = 38 */ { 16, ~0}, - /* [ 39] = 39 */ { 16, ~0}, - /* [ 40] = 40 */ { 12, ~0}, - /* [ 41] = 41 */ { 36, ~0}, - /* [ 42] = 42 */ { 20, ~0}, - /* [ 43] = 43 */ { 20, ~0}, - /* [ 44] = 44 */ { 12, ~0}, - /* [ 45] = 45 */ { 36, ~0}, - /* [ 46] = 46 */ { 20, ~0}, - /* [ 47] = 47 */ { 20, ~0}, - /* [ 48] = 48 */ { 12, ~0}, - /* [ 49] = 49 */ { 12, ~0}, - /* [ 50] = 50 */ { 8, ~0}, - /* [ 51] = 51 */ { 8, ~0}, - /* [ 52] = 52 */ { 8, ~0}, - /* [ 53] = 53 */ { 20, ~0}, - /* [ 54] = 54 */ { 12, ~0}, - /* [ 55] = 55 */ { 12, ~0}, - /* [ 56] = 56 */ { 8, ~0}, - /* [ 57] = 57 */ { 28, ~0}, - /* [ 58] = 58 */ { 16, ~0}, - /* [ 59] = 59 */ { 16, ~0}, - /* [ 60] = 60 */ { 12, ~0}, - /* [ 61] = 61 */ { 36, ~0}, - /* [ 62] = 62 */ { 20, ~0}, - /* [ 63] = 63 */ { 20, ~0}, - /* [ 64] = 64 */ { 12, ~0}, - /* [ 65] = 65 */ { 20, ~0}, - /* [ 66] = 66 */ { 12, ~0}, - /* [ 67] = 67 */ { 12, ~0}, - /* [ 68] = 68 */ { 8, ~0}, - /* [ 69] = 69 */ { 28, ~0}, - /* [ 70] = 70 */ { 16, ~0}, - /* [ 71] = 71 */ { 16, ~0}, - /* [ 72] = 72 */ { 12, ~0}, - /* [ 73] = 73 */ { 36, ~0}, - /* [ 74] = 74 */ { 20, ~0}, - /* [ 75] = 75 */ { 20, ~0}, - /* [ 76] = 76 */ { 12, ~0}, - /* [ 77] = 77 */ { 40, ~0}, - /* [ 78] = 78 */ { 12, ~0}, - /* [ 79] = 79 */ { 8, ~0}, - /* [ 80] = 80 */ { 12, ~0}, - /* [ 81] = 81 */ { 8, 2}, - /* [ 82] = 82 */ { 12, ~0}, - /* [ 83] = 83 */ { 8, 3}, - /* [ 84] = 84 */ { 8, ~0}, - /* [ 85] = 85 */ { 12, ~0}, - /* [ 86] = 86 */ { 16, ~0}, - /* [ 87] = 87 */ { 12, 4}, - /* [ 88] = 88 */ { 16, ~0}, - /* [ 89] = 89 */ { 12, 5}, - /* [ 90] = 90 */ { 12, ~0}, - /* [ 91] = 91 */ { 8, 6}, - /* [ 92] = 92 */ { 12, ~0}, - /* [ 93] = 93 */ { 8, 7}, - /* [ 94] = 94 */ { 12, ~0}, - /* [ 95] = 95 */ { 8, ~0}, - /* [ 96] = 96 */ { 16, ~0}, - /* [ 97] = 97 */ { 12, 8}, - /* [ 98] = 98 */ { 16, ~0}, - /* [ 99] = 99 */ { 12, 9}, - /* [100] = 100 */ { 8, ~0}, - /* [101] = 101 */ { 12, ~0}, - /* [102] = 102 */ { 24, 10}, - /* [103] = 103 */ { 20, ~0}, - /* [104] = 104 */ { 8, ~0}, - /* [105] = 105 */ { 16, ~0}, - /* [106] = 106 */ { 12, 11}, - /* [107] = 107 */ { 16, ~0}, - /* [108] = 108 */ { 12, 12}, - /* [109] = 109 */ { 56, 13}, - /* [110] = 110 */ { 56, 14}, - /* [111] = 111 */ { 16, ~0}, - /* [112] = 112 */ { 12, 15}, - /* [113] = 113 */ { 16, ~0}, - /* [114] = 114 */ { 12, 16}, - /* [115] = 115 */ { 20, ~0}, - /* [116] = 116 */ { 12, 17}, - /* [117] = 117 */ { 16, ~0}, - /* [118] = 118 */ { 12, 18}, - /* [119] = 119 */ { 16, ~0}, - /* [120] = 120 */ { 12, 19}, - /* [121] = 121 */ { 4, ~0}, - /* [122] = 122 */ { 8, ~0}, - /* [123] = 123 */ { 8, ~0}, - /* [124] = 124 */ { 4, ~0}, - /* [125] = 125 */ { 8, ~0}, - /* [126] = 126 */ { 8, ~0}, - /* [127] = 127 */ { 8, ~0}, - /* [128] = 128 */ { 20, ~0}, - /* [129] = 129 */ { 8, ~0}, - /* [130] = 130 */ { 20, ~0}, - /* [131] = 131 */ { 8, ~0}, - /* [132] = 132 */ { 12, ~0}, - /* [133] = 133 */ { 8, ~0}, - /* [134] = 134 */ { 8, ~0}, - /* [135] = 135 */ { 8, ~0}, - /* [136] = 136 */ { 8, ~0}, - /* [137] = 137 */ { 12, ~0}, - /* [138] = 138 */ { 8, ~0}, - /* [139] = 139 */ { 8, ~0}, - /* [140] = 140 */ { 0, ~0}, - /* [141] = 141 */ { 4, ~0}, - /* [142] = 142 */ { 8, ~0}, - /* [143] = 143 */ { 28, 20}, - /* [144] = 144 */ { 20, 21}, - /* [145] = 145 */ { 48, 22}, - /* [146] = 146 */ { 32, 23}, - /* [147] = 147 */ { 24, ~0}, - /* [148] = 148 */ { 16, ~0}, - /* [149] = 149 */ { 44, ~0}, - /* [150] = 150 */ { 28, ~0}, - /* [151] = 151 */ { 12, ~0}, - /* [152] = 152 */ { 8, ~0}, - /* [153] = 153 */ { 20, ~0}, - /* [154] = 154 */ { 12, ~0}, - /* [155] = 155 */ { 16, ~0}, - /* [156] = 156 */ { 8, ~0}, - /* [157] = 157 */ { 24, ~0}, - /* [158] = 158 */ { 12, ~0}, - /* [159] = 159 */ { 12, ~0}, - /* [160] = 160 */ { 12, ~0}, - /* [161] = 161 */ { 8, ~0}, - /* [162] = 162 */ { 16, ~0}, - /* [163] = 163 */ { 16, ~0}, - /* [164] = 164 */ { 8, ~0}, - /* [165] = 165 */ { 12, ~0}, - /* [166] = 166 */ { 12, ~0}, - /* [167] = 167 */ { 12, ~0}, - /* [168] = 168 */ { 12, 24}, - /* [169] = 169 */ { 12, 25}, - /* [170] = 170 */ { 12, 26}, - /* [171] = 171 */ { 8, ~0}, - /* [172] = 172 */ { 24, ~0}, - /* [173] = 173 */ { 40, 27}, - /* [174] = 174 */ { 20, ~0}, - /* [175] = 175 */ { 52, ~0}, - /* [176] = 176 */ { 4, ~0}, - /* [177] = 177 */ { 68, ~0}, - /* [178] = 178 */ {132, ~0}, - /* [179] = 179 */ { 8, ~0}, - /* [180] = 180 */ { 68, ~0}, - /* [181] = 181 */ {132, ~0}, - /* [182] = 182 */ { 52, ~0}, - /* [183] = 183 */ { 4, ~0}, - /* [184] = 184 */ { 4, ~0}, - /* [185] = 185 */ { 36, ~0}, - /* [186] = 186 */ { 20, ~0}, - /* [187] = 187 */ { 28, ~0}, - /* [188] = 188 */ { 16, ~0}, - /* [189] = 189 */ { 28, ~0}, - /* [190] = 190 */ { 16, ~0}, - /* [191] = 191 */ { 20, ~0}, - /* [192] = 192 */ { 12, ~0}, - /* [193] = 193 */ { 16, 28}, - /* [194] = 194 */ { 8, ~0}, - /* [195] = 195 */ { 44, 29}, - /* [196] = 196 */ { 24, ~0}, - /* [197] = 197 */ { 8, ~0}, - /* [198] = 198 */ { 16, ~0}, - /* [199] = 199 */ { 12, ~0}, - /* [200] = 200 */ { 12, ~0}, - /* [201] = 201 */ { 12, ~0}, - /* [202] = 202 */ { 24, ~0}, - /* [203] = 203 */ { 16, ~0}, - /* [204] = 204 */ { 16, ~0}, - /* [205] = 205 */ { 12, ~0}, - /* [206] = 206 */ { 32, ~0}, - /* [207] = 207 */ { 20, ~0}, - /* [208] = 208 */ { 20, ~0}, - /* [209] = 209 */ { 16, ~0}, - /* [210] = 210 */ { 40, ~0}, - /* [211] = 211 */ { 24, ~0}, - /* [212] = 212 */ { 24, ~0}, - /* [213] = 213 */ { 16, ~0}, - /* [214] = 214 */ { 28, 30}, - /* [215] = 215 */ { 32, 31}, - /* [216] = 216 */ { 36, 32}, - /* [217] = 217 */ { 28, 33}, - /* [218] = 218 */ { 36, 34}, - /* [219] = 219 */ { 44, 35}, - /* [220] = 220 */ { 0, ~0}, - /* [221] = 221 */ { 0, ~0}, - /* [222] = 222 */ { 0, ~0}, - /* [223] = 223 */ { 0, ~0}, - /* [224] = 224 */ { 0, ~0}, - /* [225] = 225 */ { 0, ~0}, - /* [226] = 226 */ { 0, ~0}, - /* [227] = 227 */ { 0, ~0}, - /* [228] = 228 */ { 0, ~0}, - /* [229] = 229 */ { 12, ~0}, - /* [230] = 230 */ { 16, ~0}, - /* [231] = 231 */ { 12, ~0}, - /* [232] = 232 */ { 8, ~0}, - /* [233] = 233 */ { 8, 36}, - /* [234] = 234 */ { 0, ~0}, - /* [235] = 235 */ { 0, ~0}, - /* [236] = 236 */ { 0, ~0}, - /* [237] = 237 */ { 0, ~0}, - /* [238] = 238 */ { 0, ~0}, - /* [239] = 239 */ { 0, ~0}, - /* [240] = 2048 */ { 12, ~0}, - /* [241] = 2049 */ { 8, ~0}, - /* [242] = 2050 */ { 0, ~0}, - /* [243] = 2051 */ { 0, ~0}, - /* [244] = 2052 */ { 0, ~0}, - /* [245] = 2053 */ { 44, 37}, - /* [246] = 2054 */ { 12, 38}, - /* [247] = 2055 */ { 12, 39}, - /* [248] = 2056 */ { 24, ~0}, - /* [249] = 2057 */ { 0, ~0}, - /* [250] = 2058 */ { 0, ~0}, - /* [251] = 2059 */ { 0, ~0}, - /* [252] = 2060 */ { 0, ~0}, - /* [253] = 2061 */ { 0, ~0}, - /* [254] = 2062 */ { 0, ~0}, - /* [255] = 2063 */ { 0, ~0}, - /* [256] = 2064 */ { 0, ~0}, - /* [257] = 2065 */ { 12, ~0}, - /* [258] = 2066 */ { 8, 40}, - /* [259] = 2067 */ { 0, ~0}, - /* [260] = 2068 */ { 0, ~0}, - /* [261] = 2069 */ { 0, ~0}, - /* [262] = 2070 */ { 0, ~0}, - /* [263] = 2071 */ { 0, ~0}, - /* [264] = 4096 */ { 20, ~0}, - /* [265] = 4097 */ { 8, ~0}, - /* [266] = 4098 */ { 0, ~0}, - /* [267] = 4099 */ { 60, 41}, - /* [268] = 4100 */ { 60, 42}, - /* [269] = 4101 */ { 48, 43}, - /* [270] = 4102 */ { 48, 44}, - /* [271] = 4103 */ { 16, ~0}, - /* [272] = 4104 */ { 12, 45}, - /* [273] = 4105 */ { 16, ~0}, - /* [274] = 4106 */ { 12, 46}, - /* [275] = 4107 */ { 24, ~0}, - /* [276] = 4108 */ { 28, ~0}, - /* [277] = 4109 */ { 32, 47}, - /* [278] = 4110 */ { 20, ~0}, - /* [279] = 4111 */ { 16, ~0}, - /* [280] = 4112 */ { 8, ~0}, - /* [281] = 4113 */ { 8, ~0}, - /* [282] = 4114 */ { 84, 48}, - /* [283] = 4115 */ { 92, 49}, - /* [284] = 4116 */ { 0, ~0}, - /* [285] = 4117 */ { 12, ~0}, - /* [286] = 4118 */ { 8, 50}, - /* [287] = 4119 */ { 32, ~0}, - /* [288] = 4120 */ { 36, ~0}, - /* [289] = 4121 */ { 28, ~0}, - /* [290] = 4122 */ { 36, ~0}, - /* [291] = 4123 */ { 40, ~0}, - /* [292] = 4124 */ { 8, ~0}, - /* [293] = 4125 */ { 12, ~0}, - /* [294] = 4126 */ { 8, ~0}, - /* [295] = 4127 */ { 12, ~0}, - /* [296] = 4176 */ { 0, ~0}, - /* [297] = 4177 */ { 0, ~0}, - /* [298] = 4178 */ { 0, ~0}, - /* [299] = 4179 */ { 0, ~0}, - /* [300] = 4180 */ { 12, ~0}, - /* [301] = 4181 */ { 28, ~0}, - /* [302] = 4182 */ { 8, 51}, - /* [303] = 4183 */ { 16, 52}, - /* [304] = 4184 */ { 28, ~0}, - /* [305] = 4185 */ { 44, ~0}, - /* [306] = 4186 */ { 16, 53}, - /* [307] = 4187 */ { 16, 54}, - /* [308] = 4188 */ { 20, ~0}, - /* [309] = 4189 */ { 12, ~0}, - /* [310] = 4190 */ { 12, ~0}, - /* [311] = 4191 */ { 16, ~0}, - /* [312] = 4192 */ { 16, ~0}, - /* [313] = 4193 */ { 12, ~0}, - /* [314] = 4194 */ { 16, ~0}, - /* [315] = 4195 */ { 20, ~0}, - /* [316] = 4196 */ { 24, ~0}, - /* [317] = 4197 */ { 16, ~0}, - /* [318] = 4198 */ { 24, ~0}, - /* [319] = 4199 */ { 32, ~0}, - /* [320] = 4200 */ { 40, ~0}, - /* [321] = 4201 */ { 12, ~0}, - /* [322] = 4202 */ { 12, 55}, - /* [323] = 4203 */ { 12, 56}, - /* [324] = 4204 */ { 12, 57}, - /* [325] = 4205 */ { 12, 58}, - /* [326] = 4206 */ { 12, 59}, - /* [327] = 4207 */ { 12, 60}, - /* [328] = 4208 */ { 12, 61}, - /* [329] = 4209 */ { 12, 62}, - /* [330] = 4210 */ { 12, 63}, - /* [331] = 4211 */ { 12, 64}, - /* [332] = 4212 */ { 12, 65}, - /* [333] = 4213 */ { 12, 66}, - /* [334] = 4214 */ { 12, 67}, - /* [335] = 4215 */ { 28, ~0}, - /* [336] = 4216 */ { 44, ~0}, - /* [337] = 4217 */ { 16, 68}, - /* [338] = 4218 */ { 28, 69}, - /* [339] = 4219 */ { 44, 70}, - /* [340] = 4220 */ { 8, ~0}, - /* [341] = 4221 */ { 12, ~0}, - /* [342] = 4222 */ { 8, 71}, - /* [343] = 4223 */ { 0, ~0}, - /* [344] = 4224 */ { 0, ~0}, - /* [345] = 4225 */ { 0, ~0}, - /* [346] = 4226 */ { 0, ~0}, - /* [347] = 4227 */ { 0, ~0}, - /* [348] = 4228 */ { 12, ~0}, - /* [349] = 4229 */ { 0, ~0}, - /* [350] = 4230 */ { 12, ~0}, - /* [351] = 4231 */ { 24, ~0}, - /* [352] = 4232 */ { 12, ~0}, - /* [353] = 4233 */ { 16, ~0}, - /* [354] = 4234 */ { 24, ~0}, - /* [355] = 4235 */ { 12, ~0}, - /* [356] = 4236 */ { 16, ~0}, - /* [357] = 4237 */ { 24, ~0}, - /* [358] = 4238 */ { 16, ~0}, - /* [359] = 4239 */ { 24, ~0}, - /* [360] = 4128 */ { 16, ~0}, - /* [361] = 4129 */ { 16, ~0}, - /* [362] = 4130 */ { 28, ~0}, - /* [363] = 4131 */ { 8, ~0}, - /* [364] = 4132 */ { 12, ~0}, - /* [365] = 4133 */ { 16, ~0}, - /* [366] = 4134 */ { 20, ~0}, - /* [367] = 4135 */ { 0, ~0}, - /* [368] = 4264 */ { 0, ~0}, - /* [369] = 4265 */ { 12, ~0}, - /* [370] = 4266 */ { 12, ~0}, - /* [371] = 4267 */ { 16, ~0}, - /* [372] = 4268 */ { 16, ~0}, - /* [373] = 4269 */ { 12, ~0}, - /* [374] = 4270 */ { 16, ~0}, - /* [375] = 4271 */ { 20, ~0}, - /* [376] = 4272 */ { 24, ~0}, - /* [377] = 4273 */ { 16, ~0}, - /* [378] = 4274 */ { 24, ~0}, - /* [379] = 4275 */ { 32, ~0}, - /* [380] = 4276 */ { 40, ~0}, - /* [381] = 4277 */ { 12, ~0}, - /* [382] = 4278 */ { 0, ~0}, - /* [383] = 4279 */ { 0, ~0}, - /* [384] = 4312 */ { 0, ~0}, - /* [385] = 4313 */ { 0, ~0}, - /* [386] = 4314 */ { 0, ~0}, - /* [387] = 4315 */ { 0, ~0}, - /* [388] = 4316 */ { 12, ~0}, - /* [389] = 4317 */ { 8, 72}, - /* [390] = 4318 */ { 20, ~0}, - /* [391] = 4319 */ { 12, ~0}, - /* [392] = 4320 */ { 8, 73}, - /* [393] = 4321 */ { 24, ~0}, - /* [394] = 4322 */ { 24, ~0}, - /* [395] = 4323 */ { 28, ~0}, - /* [396] = 4324 */ { 20, ~0}, - /* [397] = 4325 */ { 8, ~0}, - /* [398] = 4326 */ { 0, ~0}, - /* [399] = 4327 */ { 0, ~0}, -}; - -static const gl_proto_size_func Render_size_func_table[74] = { - __glXCallListsReqSize, - __glXBitmapReqSize, - __glXFogfvReqSize, - __glXFogivReqSize, - __glXLightfvReqSize, - __glXLightivReqSize, - __glXLightModelfvReqSize, - __glXLightModelivReqSize, - __glXMaterialfvReqSize, - __glXMaterialivReqSize, - __glXPolygonStippleReqSize, - __glXTexParameterfvReqSize, - __glXTexParameterivReqSize, - __glXTexImage1DReqSize, - __glXTexImage2DReqSize, - __glXTexEnvfvReqSize, - __glXTexEnvivReqSize, - __glXTexGendvReqSize, - __glXTexGenfvReqSize, - __glXTexGenivReqSize, - __glXMap1dReqSize, - __glXMap1fReqSize, - __glXMap2dReqSize, - __glXMap2fReqSize, - __glXPixelMapfvReqSize, - __glXPixelMapuivReqSize, - __glXPixelMapusvReqSize, - __glXDrawPixelsReqSize, - __glXDrawArraysReqSize, - __glXColorSubTableReqSize, - __glXCompressedTexImage1DARBReqSize, - __glXCompressedTexImage2DARBReqSize, - __glXCompressedTexImage3DARBReqSize, - __glXCompressedTexSubImage1DARBReqSize, - __glXCompressedTexSubImage2DARBReqSize, - __glXCompressedTexSubImage3DARBReqSize, - __glXDrawBuffersARBReqSize, - __glXColorTableReqSize, - __glXColorTableParameterfvReqSize, - __glXColorTableParameterivReqSize, - __glXPointParameterfvEXTReqSize, - __glXTexSubImage1DReqSize, - __glXTexSubImage2DReqSize, - __glXConvolutionFilter1DReqSize, - __glXConvolutionFilter2DReqSize, - __glXConvolutionParameterfvReqSize, - __glXConvolutionParameterivReqSize, - __glXSeparableFilter2DReqSize, - __glXTexImage3DReqSize, - __glXTexSubImage3DReqSize, - __glXPrioritizeTexturesReqSize, - __glXRequestResidentProgramsNVReqSize, - __glXLoadProgramNVReqSize, - __glXProgramParameters4fvNVReqSize, - __glXProgramParameters4dvNVReqSize, - __glXVertexAttribs1svNVReqSize, - __glXVertexAttribs2svNVReqSize, - __glXVertexAttribs3svNVReqSize, - __glXVertexAttribs4svNVReqSize, - __glXVertexAttribs1fvNVReqSize, - __glXVertexAttribs2fvNVReqSize, - __glXVertexAttribs3fvNVReqSize, - __glXVertexAttribs4fvNVReqSize, - __glXVertexAttribs1dvNVReqSize, - __glXVertexAttribs2dvNVReqSize, - __glXVertexAttribs3dvNVReqSize, - __glXVertexAttribs4dvNVReqSize, - __glXVertexAttribs4ubvNVReqSize, - __glXProgramStringARBReqSize, - __glXProgramNamedParameter4fvNVReqSize, - __glXProgramNamedParameter4dvNVReqSize, - __glXPointParameterivNVReqSize, - __glXDeleteRenderbuffersEXTReqSize, - __glXDeleteFramebuffersEXTReqSize, -}; - -const struct __glXDispatchInfo Render_dispatch_info = { - 13, - Render_dispatch_tree, - Render_function_table, - Render_size_table, - Render_size_func_table -}; - -/*****************************************************************/ -/* tree depth = 12 */ -static const int_fast16_t VendorPriv_dispatch_tree[152] = { - /* [0] -> opcode range [0, 131072], node depth 1 */ - 2, - 5, - EMPTY_LEAF, - 119, - EMPTY_LEAF, - - /* [5] -> opcode range [0, 32768], node depth 2 */ - 1, - 8, - EMPTY_LEAF, - - /* [8] -> opcode range [0, 16384], node depth 3 */ - 1, - 11, - EMPTY_LEAF, - - /* [11] -> opcode range [0, 8192], node depth 4 */ - 2, - 16, - EMPTY_LEAF, - 78, - EMPTY_LEAF, - - /* [16] -> opcode range [0, 2048], node depth 5 */ - 2, - 21, - EMPTY_LEAF, - 36, - EMPTY_LEAF, - - /* [21] -> opcode range [0, 512], node depth 6 */ - 1, - 24, - EMPTY_LEAF, - - /* [24] -> opcode range [0, 256], node depth 7 */ - 1, - 27, - EMPTY_LEAF, - - /* [27] -> opcode range [0, 128], node depth 8 */ - 1, - 30, - EMPTY_LEAF, - - /* [30] -> opcode range [0, 64], node depth 9 */ - 1, - 33, - EMPTY_LEAF, - - /* [33] -> opcode range [0, 32], node depth 10 */ - 1, - LEAF(0), - EMPTY_LEAF, - - /* [36] -> opcode range [1024, 1536], node depth 6 */ - 2, - 41, - EMPTY_LEAF, - 53, - 67, - - /* [41] -> opcode range [1024, 1152], node depth 7 */ - 1, - 44, - EMPTY_LEAF, - - /* [44] -> opcode range [1024, 1088], node depth 8 */ - 1, - 47, - EMPTY_LEAF, - - /* [47] -> opcode range [1024, 1056], node depth 9 */ - 1, - 50, - EMPTY_LEAF, - - /* [50] -> opcode range [1024, 1040], node depth 10 */ - 1, - LEAF(16), - EMPTY_LEAF, - - /* [53] -> opcode range [1280, 1408], node depth 7 */ - 1, - 56, - EMPTY_LEAF, - - /* [56] -> opcode range [1280, 1344], node depth 8 */ - 2, - 61, - LEAF(24), - EMPTY_LEAF, - 64, - - /* [61] -> opcode range [1280, 1296], node depth 9 */ - 1, - EMPTY_LEAF, - LEAF(40), - - /* [64] -> opcode range [1328, 1344], node depth 9 */ - 1, - LEAF(48), - EMPTY_LEAF, - - /* [67] -> opcode range [1408, 1536], node depth 7 */ - 1, - 70, - EMPTY_LEAF, - - /* [70] -> opcode range [1408, 1472], node depth 8 */ - 1, - 73, - EMPTY_LEAF, - - /* [73] -> opcode range [1408, 1440], node depth 9 */ - 2, - EMPTY_LEAF, - LEAF(56), - LEAF(64), - EMPTY_LEAF, - - /* [78] -> opcode range [4096, 6144], node depth 5 */ - 2, - 83, - EMPTY_LEAF, - 101, - EMPTY_LEAF, - - /* [83] -> opcode range [4096, 4608], node depth 6 */ - 1, - 86, - EMPTY_LEAF, - - /* [86] -> opcode range [4096, 4352], node depth 7 */ - 1, - 89, - EMPTY_LEAF, - - /* [89] -> opcode range [4096, 4224], node depth 8 */ - 1, - 92, - EMPTY_LEAF, - - /* [92] -> opcode range [4096, 4160], node depth 9 */ - 1, - 95, - EMPTY_LEAF, - - /* [95] -> opcode range [4096, 4128], node depth 10 */ - 1, - 98, - EMPTY_LEAF, - - /* [98] -> opcode range [4096, 4112], node depth 11 */ - 1, - LEAF(72), - EMPTY_LEAF, - - /* [101] -> opcode range [5120, 5632], node depth 6 */ - 1, - 104, - EMPTY_LEAF, - - /* [104] -> opcode range [5120, 5376], node depth 7 */ - 1, - 107, - EMPTY_LEAF, - - /* [107] -> opcode range [5120, 5248], node depth 8 */ - 1, - 110, - EMPTY_LEAF, - - /* [110] -> opcode range [5120, 5184], node depth 9 */ - 1, - EMPTY_LEAF, - 113, - - /* [113] -> opcode range [5152, 5184], node depth 10 */ - 1, - 116, - EMPTY_LEAF, - - /* [116] -> opcode range [5152, 5168], node depth 11 */ - 1, - LEAF(80), - EMPTY_LEAF, - - /* [119] -> opcode range [65536, 98304], node depth 2 */ - 1, - 122, - EMPTY_LEAF, - - /* [122] -> opcode range [65536, 81920], node depth 3 */ - 1, - 125, - EMPTY_LEAF, - - /* [125] -> opcode range [65536, 73728], node depth 4 */ - 1, - 128, - EMPTY_LEAF, - - /* [128] -> opcode range [65536, 69632], node depth 5 */ - 1, - 131, - EMPTY_LEAF, - - /* [131] -> opcode range [65536, 67584], node depth 6 */ - 1, - 134, - EMPTY_LEAF, - - /* [134] -> opcode range [65536, 66560], node depth 7 */ - 1, - 137, - EMPTY_LEAF, - - /* [137] -> opcode range [65536, 66048], node depth 8 */ - 1, - 140, - EMPTY_LEAF, - - /* [140] -> opcode range [65536, 65792], node depth 9 */ - 1, - 143, - EMPTY_LEAF, - - /* [143] -> opcode range [65536, 65664], node depth 10 */ - 1, - 146, - EMPTY_LEAF, - - /* [146] -> opcode range [65536, 65600], node depth 11 */ - 1, - 149, - EMPTY_LEAF, - - /* [149] -> opcode range [65536, 65568], node depth 12 */ - 1, - LEAF(88), - EMPTY_LEAF, - -}; - -static const void *VendorPriv_function_table[104][2] = { - /* [ 0] = 0 */ {NULL, NULL}, - /* [ 1] = 1 */ {__glXDisp_GetConvolutionFilterEXT, __glXDispSwap_GetConvolutionFilterEXT}, - /* [ 2] = 2 */ {__glXDisp_GetConvolutionParameterfvEXT, __glXDispSwap_GetConvolutionParameterfvEXT}, - /* [ 3] = 3 */ {__glXDisp_GetConvolutionParameterivEXT, __glXDispSwap_GetConvolutionParameterivEXT}, - /* [ 4] = 4 */ {__glXDisp_GetSeparableFilterEXT, __glXDispSwap_GetSeparableFilterEXT}, - /* [ 5] = 5 */ {__glXDisp_GetHistogramEXT, __glXDispSwap_GetHistogramEXT}, - /* [ 6] = 6 */ {__glXDisp_GetHistogramParameterfvEXT, __glXDispSwap_GetHistogramParameterfvEXT}, - /* [ 7] = 7 */ {__glXDisp_GetHistogramParameterivEXT, __glXDispSwap_GetHistogramParameterivEXT}, - /* [ 8] = 8 */ {__glXDisp_GetMinmaxEXT, __glXDispSwap_GetMinmaxEXT}, - /* [ 9] = 9 */ {__glXDisp_GetMinmaxParameterfvEXT, __glXDispSwap_GetMinmaxParameterfvEXT}, - /* [ 10] = 10 */ {__glXDisp_GetMinmaxParameterivEXT, __glXDispSwap_GetMinmaxParameterivEXT}, - /* [ 11] = 11 */ {__glXDisp_AreTexturesResidentEXT, __glXDispSwap_AreTexturesResidentEXT}, - /* [ 12] = 12 */ {__glXDisp_DeleteTexturesEXT, __glXDispSwap_DeleteTexturesEXT}, - /* [ 13] = 13 */ {__glXDisp_GenTexturesEXT, __glXDispSwap_GenTexturesEXT}, - /* [ 14] = 14 */ {__glXDisp_IsTextureEXT, __glXDispSwap_IsTextureEXT}, - /* [ 15] = 15 */ {NULL, NULL}, - /* [ 16] = 1024 */ {__glXDisp_QueryContextInfoEXT, __glXDispSwap_QueryContextInfoEXT}, - /* [ 17] = 1025 */ {NULL, NULL}, - /* [ 18] = 1026 */ {NULL, NULL}, - /* [ 19] = 1027 */ {NULL, NULL}, - /* [ 20] = 1028 */ {NULL, NULL}, - /* [ 21] = 1029 */ {NULL, NULL}, - /* [ 22] = 1030 */ {NULL, NULL}, - /* [ 23] = 1031 */ {NULL, NULL}, - /* [ 24] = 1296 */ {__glXDisp_GetProgramEnvParameterfvARB, __glXDispSwap_GetProgramEnvParameterfvARB}, - /* [ 25] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB}, - /* [ 26] = 1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV}, - /* [ 27] = 1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV}, - /* [ 28] = 1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV}, - /* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdvARB, __glXDispSwap_GetVertexAttribdvARB}, - /* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfvNV, __glXDispSwap_GetVertexAttribfvNV}, - /* [ 31] = 1303 */ {__glXDisp_GetVertexAttribivNV, __glXDispSwap_GetVertexAttribivNV}, - /* [ 32] = 1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV}, - /* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB}, - /* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB}, - /* [ 35] = 1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB}, - /* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB}, - /* [ 37] = 1309 */ {NULL, NULL}, - /* [ 38] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV}, - /* [ 39] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV}, - /* [ 40] = 1288 */ {NULL, NULL}, - /* [ 41] = 1289 */ {NULL, NULL}, - /* [ 42] = 1290 */ {NULL, NULL}, - /* [ 43] = 1291 */ {NULL, NULL}, - /* [ 44] = 1292 */ {NULL, NULL}, - /* [ 45] = 1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV}, - /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsNV, __glXDispSwap_DeleteProgramsNV}, - /* [ 47] = 1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV}, - /* [ 48] = 1328 */ {NULL, NULL}, - /* [ 49] = 1329 */ {NULL, NULL}, - /* [ 50] = 1330 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT}, - /* [ 51] = 1331 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT}, - /* [ 52] = 1332 */ {NULL, NULL}, - /* [ 53] = 1333 */ {NULL, NULL}, - /* [ 54] = 1334 */ {NULL, NULL}, - /* [ 55] = 1335 */ {NULL, NULL}, - /* [ 56] = 1416 */ {NULL, NULL}, - /* [ 57] = 1417 */ {NULL, NULL}, - /* [ 58] = 1418 */ {NULL, NULL}, - /* [ 59] = 1419 */ {NULL, NULL}, - /* [ 60] = 1420 */ {NULL, NULL}, - /* [ 61] = 1421 */ {NULL, NULL}, - /* [ 62] = 1422 */ {__glXDisp_IsRenderbufferEXT, __glXDispSwap_IsRenderbufferEXT}, - /* [ 63] = 1423 */ {__glXDisp_GenRenderbuffersEXT, __glXDispSwap_GenRenderbuffersEXT}, - /* [ 64] = 1424 */ {__glXDisp_GetRenderbufferParameterivEXT, __glXDispSwap_GetRenderbufferParameterivEXT}, - /* [ 65] = 1425 */ {__glXDisp_IsFramebufferEXT, __glXDispSwap_IsFramebufferEXT}, - /* [ 66] = 1426 */ {__glXDisp_GenFramebuffersEXT, __glXDispSwap_GenFramebuffersEXT}, - /* [ 67] = 1427 */ {__glXDisp_CheckFramebufferStatusEXT, __glXDispSwap_CheckFramebufferStatusEXT}, - /* [ 68] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, __glXDispSwap_GetFramebufferAttachmentParameterivEXT}, - /* [ 69] = 1429 */ {NULL, NULL}, - /* [ 70] = 1430 */ {NULL, NULL}, - /* [ 71] = 1431 */ {NULL, NULL}, - /* [ 72] = 4096 */ {NULL, NULL}, - /* [ 73] = 4097 */ {NULL, NULL}, - /* [ 74] = 4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI}, - /* [ 75] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI}, - /* [ 76] = 4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI}, - /* [ 77] = 4101 */ {NULL, NULL}, - /* [ 78] = 4102 */ {NULL, NULL}, - /* [ 79] = 4103 */ {NULL, NULL}, - /* [ 80] = 5152 */ {NULL, NULL}, - /* [ 81] = 5153 */ {NULL, NULL}, - /* [ 82] = 5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA}, - /* [ 83] = 5155 */ {NULL, NULL}, - /* [ 84] = 5156 */ {NULL, NULL}, - /* [ 85] = 5157 */ {NULL, NULL}, - /* [ 86] = 5158 */ {NULL, NULL}, - /* [ 87] = 5159 */ {NULL, NULL}, - /* [ 88] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI}, - /* [ 89] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI}, - /* [ 90] = 65538 */ {NULL, NULL}, - /* [ 91] = 65539 */ {NULL, NULL}, - /* [ 92] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX}, - /* [ 93] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX}, - /* [ 94] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX}, - /* [ 95] = 65543 */ {__glXDisp_CreateGLXPbufferSGIX, __glXDispSwap_CreateGLXPbufferSGIX}, - /* [ 96] = 65544 */ {__glXDisp_DestroyGLXPbufferSGIX, __glXDispSwap_DestroyGLXPbufferSGIX}, - /* [ 97] = 65545 */ {__glXDisp_ChangeDrawableAttributesSGIX, __glXDispSwap_ChangeDrawableAttributesSGIX}, - /* [ 98] = 65546 */ {__glXDisp_GetDrawableAttributesSGIX, __glXDispSwap_GetDrawableAttributesSGIX}, - /* [ 99] = 65547 */ {NULL, NULL}, - /* [ 100] = 65548 */ {NULL, NULL}, - /* [ 101] = 65549 */ {NULL, NULL}, - /* [ 102] = 65550 */ {NULL, NULL}, - /* [ 103] = 65551 */ {NULL, NULL}, -}; - -const struct __glXDispatchInfo VendorPriv_dispatch_info = { - 17, - VendorPriv_dispatch_tree, - VendorPriv_function_table, - NULL, - NULL -}; - +/* DO NOT EDIT - This file generated automatically by glX_server_table.py (from Mesa) script */ + +/* + * (C) Copyright IBM Corporation 2005, 2006 + * 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, sub license, + * 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 and this permission notice (including the next + * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL + * IBM, + * AND/OR THEIR SUPPLIERS 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. + */ + +#include +#include "glxserver.h" +#include "glxext.h" +#include "indirect_dispatch.h" +#include "indirect_reqsize.h" +#include "indirect_table.h" + +/*****************************************************************/ +/* tree depth = 3 */ +static const int_fast16_t Single_dispatch_tree[24] = { + /* [0] -> opcode range [0, 256], node depth 1 */ + 2, + 5, + 13, + 16, + EMPTY_LEAF, + + /* [5] -> opcode range [0, 64], node depth 2 */ + 2, + LEAF(0), + LEAF(16), + 10, + EMPTY_LEAF, + + /* [10] -> opcode range [32, 48], node depth 3 */ + 1, + LEAF(32), + EMPTY_LEAF, + + /* [13] -> opcode range [64, 128], node depth 2 */ + 1, + EMPTY_LEAF, + LEAF(40), + + /* [16] -> opcode range [128, 192], node depth 2 */ + 2, + LEAF(72), + LEAF(88), + 21, + EMPTY_LEAF, + + /* [21] -> opcode range [160, 176], node depth 3 */ + 1, + LEAF(104), + EMPTY_LEAF, + +}; + +static const void *Single_function_table[112][2] = { + /* [ 0] = 0 */ {NULL, NULL}, + /* [ 1] = 1 */ {__glXDisp_Render, __glXDispSwap_Render}, + /* [ 2] = 2 */ {__glXDisp_RenderLarge, __glXDispSwap_RenderLarge}, + /* [ 3] = 3 */ {__glXDisp_CreateContext, __glXDispSwap_CreateContext}, + /* [ 4] = 4 */ {__glXDisp_DestroyContext, __glXDispSwap_DestroyContext}, + /* [ 5] = 5 */ {__glXDisp_MakeCurrent, __glXDispSwap_MakeCurrent}, + /* [ 6] = 6 */ {__glXDisp_IsDirect, __glXDispSwap_IsDirect}, + /* [ 7] = 7 */ {__glXDisp_QueryVersion, __glXDispSwap_QueryVersion}, + /* [ 8] = 8 */ {__glXDisp_WaitGL, __glXDispSwap_WaitGL}, + /* [ 9] = 9 */ {__glXDisp_WaitX, __glXDispSwap_WaitX}, + /* [ 10] = 10 */ {__glXDisp_CopyContext, __glXDispSwap_CopyContext}, + /* [ 11] = 11 */ {__glXDisp_SwapBuffers, __glXDispSwap_SwapBuffers}, + /* [ 12] = 12 */ {__glXDisp_UseXFont, __glXDispSwap_UseXFont}, + /* [ 13] = 13 */ {__glXDisp_CreateGLXPixmap, __glXDispSwap_CreateGLXPixmap}, + /* [ 14] = 14 */ {__glXDisp_GetVisualConfigs, __glXDispSwap_GetVisualConfigs}, + /* [ 15] = 15 */ {__glXDisp_DestroyGLXPixmap, __glXDispSwap_DestroyGLXPixmap}, + /* [ 16] = 16 */ {__glXDisp_VendorPrivate, __glXDispSwap_VendorPrivate}, + /* [ 17] = 17 */ {__glXDisp_VendorPrivateWithReply, __glXDispSwap_VendorPrivateWithReply}, + /* [ 18] = 18 */ {__glXDisp_QueryExtensionsString, __glXDispSwap_QueryExtensionsString}, + /* [ 19] = 19 */ {__glXDisp_QueryServerString, __glXDispSwap_QueryServerString}, + /* [ 20] = 20 */ {__glXDisp_ClientInfo, __glXDispSwap_ClientInfo}, + /* [ 21] = 21 */ {__glXDisp_GetFBConfigs, __glXDispSwap_GetFBConfigs}, + /* [ 22] = 22 */ {__glXDisp_CreatePixmap, __glXDispSwap_CreatePixmap}, + /* [ 23] = 23 */ {__glXDisp_DestroyPixmap, __glXDispSwap_DestroyPixmap}, + /* [ 24] = 24 */ {__glXDisp_CreateNewContext, __glXDispSwap_CreateNewContext}, + /* [ 25] = 25 */ {__glXDisp_QueryContext, __glXDispSwap_QueryContext}, + /* [ 26] = 26 */ {__glXDisp_MakeContextCurrent, __glXDispSwap_MakeContextCurrent}, + /* [ 27] = 27 */ {__glXDisp_CreatePbuffer, __glXDispSwap_CreatePbuffer}, + /* [ 28] = 28 */ {__glXDisp_DestroyPbuffer, __glXDispSwap_DestroyPbuffer}, + /* [ 29] = 29 */ {__glXDisp_GetDrawableAttributes, __glXDispSwap_GetDrawableAttributes}, + /* [ 30] = 30 */ {__glXDisp_ChangeDrawableAttributes, __glXDispSwap_ChangeDrawableAttributes}, + /* [ 31] = 31 */ {__glXDisp_CreateWindow, __glXDispSwap_CreateWindow}, + /* [ 32] = 32 */ {__glXDisp_DestroyWindow, __glXDispSwap_DestroyWindow}, + /* [ 33] = 33 */ {NULL, NULL}, + /* [ 34] = 34 */ {NULL, NULL}, + /* [ 35] = 35 */ {NULL, NULL}, + /* [ 36] = 36 */ {NULL, NULL}, + /* [ 37] = 37 */ {NULL, NULL}, + /* [ 38] = 38 */ {NULL, NULL}, + /* [ 39] = 39 */ {NULL, NULL}, + /* [ 40] = 96 */ {NULL, NULL}, + /* [ 41] = 97 */ {NULL, NULL}, + /* [ 42] = 98 */ {NULL, NULL}, + /* [ 43] = 99 */ {NULL, NULL}, + /* [ 44] = 100 */ {NULL, NULL}, + /* [ 45] = 101 */ {__glXDisp_NewList, __glXDispSwap_NewList}, + /* [ 46] = 102 */ {__glXDisp_EndList, __glXDispSwap_EndList}, + /* [ 47] = 103 */ {__glXDisp_DeleteLists, __glXDispSwap_DeleteLists}, + /* [ 48] = 104 */ {__glXDisp_GenLists, __glXDispSwap_GenLists}, + /* [ 49] = 105 */ {__glXDisp_FeedbackBuffer, __glXDispSwap_FeedbackBuffer}, + /* [ 50] = 106 */ {__glXDisp_SelectBuffer, __glXDispSwap_SelectBuffer}, + /* [ 51] = 107 */ {__glXDisp_RenderMode, __glXDispSwap_RenderMode}, + /* [ 52] = 108 */ {__glXDisp_Finish, __glXDispSwap_Finish}, + /* [ 53] = 109 */ {__glXDisp_PixelStoref, __glXDispSwap_PixelStoref}, + /* [ 54] = 110 */ {__glXDisp_PixelStorei, __glXDispSwap_PixelStorei}, + /* [ 55] = 111 */ {__glXDisp_ReadPixels, __glXDispSwap_ReadPixels}, + /* [ 56] = 112 */ {__glXDisp_GetBooleanv, __glXDispSwap_GetBooleanv}, + /* [ 57] = 113 */ {__glXDisp_GetClipPlane, __glXDispSwap_GetClipPlane}, + /* [ 58] = 114 */ {__glXDisp_GetDoublev, __glXDispSwap_GetDoublev}, + /* [ 59] = 115 */ {__glXDisp_GetError, __glXDispSwap_GetError}, + /* [ 60] = 116 */ {__glXDisp_GetFloatv, __glXDispSwap_GetFloatv}, + /* [ 61] = 117 */ {__glXDisp_GetIntegerv, __glXDispSwap_GetIntegerv}, + /* [ 62] = 118 */ {__glXDisp_GetLightfv, __glXDispSwap_GetLightfv}, + /* [ 63] = 119 */ {__glXDisp_GetLightiv, __glXDispSwap_GetLightiv}, + /* [ 64] = 120 */ {__glXDisp_GetMapdv, __glXDispSwap_GetMapdv}, + /* [ 65] = 121 */ {__glXDisp_GetMapfv, __glXDispSwap_GetMapfv}, + /* [ 66] = 122 */ {__glXDisp_GetMapiv, __glXDispSwap_GetMapiv}, + /* [ 67] = 123 */ {__glXDisp_GetMaterialfv, __glXDispSwap_GetMaterialfv}, + /* [ 68] = 124 */ {__glXDisp_GetMaterialiv, __glXDispSwap_GetMaterialiv}, + /* [ 69] = 125 */ {__glXDisp_GetPixelMapfv, __glXDispSwap_GetPixelMapfv}, + /* [ 70] = 126 */ {__glXDisp_GetPixelMapuiv, __glXDispSwap_GetPixelMapuiv}, + /* [ 71] = 127 */ {__glXDisp_GetPixelMapusv, __glXDispSwap_GetPixelMapusv}, + /* [ 72] = 128 */ {__glXDisp_GetPolygonStipple, __glXDispSwap_GetPolygonStipple}, + /* [ 73] = 129 */ {__glXDisp_GetString, __glXDispSwap_GetString}, + /* [ 74] = 130 */ {__glXDisp_GetTexEnvfv, __glXDispSwap_GetTexEnvfv}, + /* [ 75] = 131 */ {__glXDisp_GetTexEnviv, __glXDispSwap_GetTexEnviv}, + /* [ 76] = 132 */ {__glXDisp_GetTexGendv, __glXDispSwap_GetTexGendv}, + /* [ 77] = 133 */ {__glXDisp_GetTexGenfv, __glXDispSwap_GetTexGenfv}, + /* [ 78] = 134 */ {__glXDisp_GetTexGeniv, __glXDispSwap_GetTexGeniv}, + /* [ 79] = 135 */ {__glXDisp_GetTexImage, __glXDispSwap_GetTexImage}, + /* [ 80] = 136 */ {__glXDisp_GetTexParameterfv, __glXDispSwap_GetTexParameterfv}, + /* [ 81] = 137 */ {__glXDisp_GetTexParameteriv, __glXDispSwap_GetTexParameteriv}, + /* [ 82] = 138 */ {__glXDisp_GetTexLevelParameterfv, __glXDispSwap_GetTexLevelParameterfv}, + /* [ 83] = 139 */ {__glXDisp_GetTexLevelParameteriv, __glXDispSwap_GetTexLevelParameteriv}, + /* [ 84] = 140 */ {__glXDisp_IsEnabled, __glXDispSwap_IsEnabled}, + /* [ 85] = 141 */ {__glXDisp_IsList, __glXDispSwap_IsList}, + /* [ 86] = 142 */ {__glXDisp_Flush, __glXDispSwap_Flush}, + /* [ 87] = 143 */ {__glXDisp_AreTexturesResident, __glXDispSwap_AreTexturesResident}, + /* [ 88] = 144 */ {__glXDisp_DeleteTextures, __glXDispSwap_DeleteTextures}, + /* [ 89] = 145 */ {__glXDisp_GenTextures, __glXDispSwap_GenTextures}, + /* [ 90] = 146 */ {__glXDisp_IsTexture, __glXDispSwap_IsTexture}, + /* [ 91] = 147 */ {__glXDisp_GetColorTable, __glXDispSwap_GetColorTable}, + /* [ 92] = 148 */ {__glXDisp_GetColorTableParameterfv, __glXDispSwap_GetColorTableParameterfv}, + /* [ 93] = 149 */ {__glXDisp_GetColorTableParameteriv, __glXDispSwap_GetColorTableParameteriv}, + /* [ 94] = 150 */ {__glXDisp_GetConvolutionFilter, __glXDispSwap_GetConvolutionFilter}, + /* [ 95] = 151 */ {__glXDisp_GetConvolutionParameterfv, __glXDispSwap_GetConvolutionParameterfv}, + /* [ 96] = 152 */ {__glXDisp_GetConvolutionParameteriv, __glXDispSwap_GetConvolutionParameteriv}, + /* [ 97] = 153 */ {__glXDisp_GetSeparableFilter, __glXDispSwap_GetSeparableFilter}, + /* [ 98] = 154 */ {__glXDisp_GetHistogram, __glXDispSwap_GetHistogram}, + /* [ 99] = 155 */ {__glXDisp_GetHistogramParameterfv, __glXDispSwap_GetHistogramParameterfv}, + /* [ 100] = 156 */ {__glXDisp_GetHistogramParameteriv, __glXDispSwap_GetHistogramParameteriv}, + /* [ 101] = 157 */ {__glXDisp_GetMinmax, __glXDispSwap_GetMinmax}, + /* [ 102] = 158 */ {__glXDisp_GetMinmaxParameterfv, __glXDispSwap_GetMinmaxParameterfv}, + /* [ 103] = 159 */ {__glXDisp_GetMinmaxParameteriv, __glXDispSwap_GetMinmaxParameteriv}, + /* [ 104] = 160 */ {__glXDisp_GetCompressedTexImageARB, __glXDispSwap_GetCompressedTexImageARB}, + /* [ 105] = 161 */ {__glXDisp_DeleteQueriesARB, __glXDispSwap_DeleteQueriesARB}, + /* [ 106] = 162 */ {__glXDisp_GenQueriesARB, __glXDispSwap_GenQueriesARB}, + /* [ 107] = 163 */ {__glXDisp_IsQueryARB, __glXDispSwap_IsQueryARB}, + /* [ 108] = 164 */ {__glXDisp_GetQueryivARB, __glXDispSwap_GetQueryivARB}, + /* [ 109] = 165 */ {__glXDisp_GetQueryObjectivARB, __glXDispSwap_GetQueryObjectivARB}, + /* [ 110] = 166 */ {__glXDisp_GetQueryObjectuivARB, __glXDispSwap_GetQueryObjectuivARB}, + /* [ 111] = 167 */ {NULL, NULL}, +}; + +const struct __glXDispatchInfo Single_dispatch_info = { + 8, + Single_dispatch_tree, + Single_function_table, + NULL, + NULL +}; + +/*****************************************************************/ +/* tree depth = 8 */ +static const int_fast16_t Render_dispatch_tree[95] = { + /* [0] -> opcode range [0, 8192], node depth 1 */ + 2, + 5, + 31, + 54, + EMPTY_LEAF, + + /* [5] -> opcode range [0, 2048], node depth 2 */ + 1, + 8, + EMPTY_LEAF, + + /* [8] -> opcode range [0, 1024], node depth 3 */ + 1, + 11, + EMPTY_LEAF, + + /* [11] -> opcode range [0, 512], node depth 4 */ + 1, + 14, + EMPTY_LEAF, + + /* [14] -> opcode range [0, 256], node depth 5 */ + 4, + LEAF(0), + LEAF(16), + LEAF(32), + LEAF(48), + LEAF(64), + LEAF(80), + LEAF(96), + LEAF(112), + LEAF(128), + LEAF(144), + LEAF(160), + LEAF(176), + LEAF(192), + LEAF(208), + LEAF(224), + EMPTY_LEAF, + + /* [31] -> opcode range [2048, 4096], node depth 2 */ + 1, + 34, + EMPTY_LEAF, + + /* [34] -> opcode range [2048, 3072], node depth 3 */ + 1, + 37, + EMPTY_LEAF, + + /* [37] -> opcode range [2048, 2560], node depth 4 */ + 1, + 40, + EMPTY_LEAF, + + /* [40] -> opcode range [2048, 2304], node depth 5 */ + 1, + 43, + EMPTY_LEAF, + + /* [43] -> opcode range [2048, 2176], node depth 6 */ + 1, + 46, + EMPTY_LEAF, + + /* [46] -> opcode range [2048, 2112], node depth 7 */ + 1, + 49, + EMPTY_LEAF, + + /* [49] -> opcode range [2048, 2080], node depth 8 */ + 2, + LEAF(240), + LEAF(248), + LEAF(256), + EMPTY_LEAF, + + /* [54] -> opcode range [4096, 6144], node depth 2 */ + 1, + 57, + EMPTY_LEAF, + + /* [57] -> opcode range [4096, 5120], node depth 3 */ + 1, + 60, + EMPTY_LEAF, + + /* [60] -> opcode range [4096, 4608], node depth 4 */ + 1, + 63, + EMPTY_LEAF, + + /* [63] -> opcode range [4096, 4352], node depth 5 */ + 4, + LEAF(264), + LEAF(280), + 80, + EMPTY_LEAF, + EMPTY_LEAF, + LEAF(296), + LEAF(312), + LEAF(328), + LEAF(344), + EMPTY_LEAF, + 83, + 86, + EMPTY_LEAF, + 89, + 92, + EMPTY_LEAF, + + /* [80] -> opcode range [4128, 4144], node depth 6 */ + 1, + LEAF(360), + EMPTY_LEAF, + + /* [83] -> opcode range [4256, 4272], node depth 6 */ + 1, + EMPTY_LEAF, + LEAF(368), + + /* [86] -> opcode range [4272, 4288], node depth 6 */ + 1, + LEAF(376), + EMPTY_LEAF, + + /* [89] -> opcode range [4304, 4320], node depth 6 */ + 1, + EMPTY_LEAF, + LEAF(384), + + /* [92] -> opcode range [4320, 4336], node depth 6 */ + 1, + LEAF(392), + EMPTY_LEAF, + +}; + +static const void *Render_function_table[400][2] = { + /* [ 0] = 0 */ {NULL, NULL}, + /* [ 1] = 1 */ {__glXDisp_CallList, __glXDispSwap_CallList}, + /* [ 2] = 2 */ {__glXDisp_CallLists, __glXDispSwap_CallLists}, + /* [ 3] = 3 */ {__glXDisp_ListBase, __glXDispSwap_ListBase}, + /* [ 4] = 4 */ {__glXDisp_Begin, __glXDispSwap_Begin}, + /* [ 5] = 5 */ {__glXDisp_Bitmap, __glXDispSwap_Bitmap}, + /* [ 6] = 6 */ {__glXDisp_Color3bv, __glXDispSwap_Color3bv}, + /* [ 7] = 7 */ {__glXDisp_Color3dv, __glXDispSwap_Color3dv}, + /* [ 8] = 8 */ {__glXDisp_Color3fv, __glXDispSwap_Color3fv}, + /* [ 9] = 9 */ {__glXDisp_Color3iv, __glXDispSwap_Color3iv}, + /* [ 10] = 10 */ {__glXDisp_Color3sv, __glXDispSwap_Color3sv}, + /* [ 11] = 11 */ {__glXDisp_Color3ubv, __glXDispSwap_Color3ubv}, + /* [ 12] = 12 */ {__glXDisp_Color3uiv, __glXDispSwap_Color3uiv}, + /* [ 13] = 13 */ {__glXDisp_Color3usv, __glXDispSwap_Color3usv}, + /* [ 14] = 14 */ {__glXDisp_Color4bv, __glXDispSwap_Color4bv}, + /* [ 15] = 15 */ {__glXDisp_Color4dv, __glXDispSwap_Color4dv}, + /* [ 16] = 16 */ {__glXDisp_Color4fv, __glXDispSwap_Color4fv}, + /* [ 17] = 17 */ {__glXDisp_Color4iv, __glXDispSwap_Color4iv}, + /* [ 18] = 18 */ {__glXDisp_Color4sv, __glXDispSwap_Color4sv}, + /* [ 19] = 19 */ {__glXDisp_Color4ubv, __glXDispSwap_Color4ubv}, + /* [ 20] = 20 */ {__glXDisp_Color4uiv, __glXDispSwap_Color4uiv}, + /* [ 21] = 21 */ {__glXDisp_Color4usv, __glXDispSwap_Color4usv}, + /* [ 22] = 22 */ {__glXDisp_EdgeFlagv, __glXDispSwap_EdgeFlagv}, + /* [ 23] = 23 */ {__glXDisp_End, __glXDispSwap_End}, + /* [ 24] = 24 */ {__glXDisp_Indexdv, __glXDispSwap_Indexdv}, + /* [ 25] = 25 */ {__glXDisp_Indexfv, __glXDispSwap_Indexfv}, + /* [ 26] = 26 */ {__glXDisp_Indexiv, __glXDispSwap_Indexiv}, + /* [ 27] = 27 */ {__glXDisp_Indexsv, __glXDispSwap_Indexsv}, + /* [ 28] = 28 */ {__glXDisp_Normal3bv, __glXDispSwap_Normal3bv}, + /* [ 29] = 29 */ {__glXDisp_Normal3dv, __glXDispSwap_Normal3dv}, + /* [ 30] = 30 */ {__glXDisp_Normal3fv, __glXDispSwap_Normal3fv}, + /* [ 31] = 31 */ {__glXDisp_Normal3iv, __glXDispSwap_Normal3iv}, + /* [ 32] = 32 */ {__glXDisp_Normal3sv, __glXDispSwap_Normal3sv}, + /* [ 33] = 33 */ {__glXDisp_RasterPos2dv, __glXDispSwap_RasterPos2dv}, + /* [ 34] = 34 */ {__glXDisp_RasterPos2fv, __glXDispSwap_RasterPos2fv}, + /* [ 35] = 35 */ {__glXDisp_RasterPos2iv, __glXDispSwap_RasterPos2iv}, + /* [ 36] = 36 */ {__glXDisp_RasterPos2sv, __glXDispSwap_RasterPos2sv}, + /* [ 37] = 37 */ {__glXDisp_RasterPos3dv, __glXDispSwap_RasterPos3dv}, + /* [ 38] = 38 */ {__glXDisp_RasterPos3fv, __glXDispSwap_RasterPos3fv}, + /* [ 39] = 39 */ {__glXDisp_RasterPos3iv, __glXDispSwap_RasterPos3iv}, + /* [ 40] = 40 */ {__glXDisp_RasterPos3sv, __glXDispSwap_RasterPos3sv}, + /* [ 41] = 41 */ {__glXDisp_RasterPos4dv, __glXDispSwap_RasterPos4dv}, + /* [ 42] = 42 */ {__glXDisp_RasterPos4fv, __glXDispSwap_RasterPos4fv}, + /* [ 43] = 43 */ {__glXDisp_RasterPos4iv, __glXDispSwap_RasterPos4iv}, + /* [ 44] = 44 */ {__glXDisp_RasterPos4sv, __glXDispSwap_RasterPos4sv}, + /* [ 45] = 45 */ {__glXDisp_Rectdv, __glXDispSwap_Rectdv}, + /* [ 46] = 46 */ {__glXDisp_Rectfv, __glXDispSwap_Rectfv}, + /* [ 47] = 47 */ {__glXDisp_Rectiv, __glXDispSwap_Rectiv}, + /* [ 48] = 48 */ {__glXDisp_Rectsv, __glXDispSwap_Rectsv}, + /* [ 49] = 49 */ {__glXDisp_TexCoord1dv, __glXDispSwap_TexCoord1dv}, + /* [ 50] = 50 */ {__glXDisp_TexCoord1fv, __glXDispSwap_TexCoord1fv}, + /* [ 51] = 51 */ {__glXDisp_TexCoord1iv, __glXDispSwap_TexCoord1iv}, + /* [ 52] = 52 */ {__glXDisp_TexCoord1sv, __glXDispSwap_TexCoord1sv}, + /* [ 53] = 53 */ {__glXDisp_TexCoord2dv, __glXDispSwap_TexCoord2dv}, + /* [ 54] = 54 */ {__glXDisp_TexCoord2fv, __glXDispSwap_TexCoord2fv}, + /* [ 55] = 55 */ {__glXDisp_TexCoord2iv, __glXDispSwap_TexCoord2iv}, + /* [ 56] = 56 */ {__glXDisp_TexCoord2sv, __glXDispSwap_TexCoord2sv}, + /* [ 57] = 57 */ {__glXDisp_TexCoord3dv, __glXDispSwap_TexCoord3dv}, + /* [ 58] = 58 */ {__glXDisp_TexCoord3fv, __glXDispSwap_TexCoord3fv}, + /* [ 59] = 59 */ {__glXDisp_TexCoord3iv, __glXDispSwap_TexCoord3iv}, + /* [ 60] = 60 */ {__glXDisp_TexCoord3sv, __glXDispSwap_TexCoord3sv}, + /* [ 61] = 61 */ {__glXDisp_TexCoord4dv, __glXDispSwap_TexCoord4dv}, + /* [ 62] = 62 */ {__glXDisp_TexCoord4fv, __glXDispSwap_TexCoord4fv}, + /* [ 63] = 63 */ {__glXDisp_TexCoord4iv, __glXDispSwap_TexCoord4iv}, + /* [ 64] = 64 */ {__glXDisp_TexCoord4sv, __glXDispSwap_TexCoord4sv}, + /* [ 65] = 65 */ {__glXDisp_Vertex2dv, __glXDispSwap_Vertex2dv}, + /* [ 66] = 66 */ {__glXDisp_Vertex2fv, __glXDispSwap_Vertex2fv}, + /* [ 67] = 67 */ {__glXDisp_Vertex2iv, __glXDispSwap_Vertex2iv}, + /* [ 68] = 68 */ {__glXDisp_Vertex2sv, __glXDispSwap_Vertex2sv}, + /* [ 69] = 69 */ {__glXDisp_Vertex3dv, __glXDispSwap_Vertex3dv}, + /* [ 70] = 70 */ {__glXDisp_Vertex3fv, __glXDispSwap_Vertex3fv}, + /* [ 71] = 71 */ {__glXDisp_Vertex3iv, __glXDispSwap_Vertex3iv}, + /* [ 72] = 72 */ {__glXDisp_Vertex3sv, __glXDispSwap_Vertex3sv}, + /* [ 73] = 73 */ {__glXDisp_Vertex4dv, __glXDispSwap_Vertex4dv}, + /* [ 74] = 74 */ {__glXDisp_Vertex4fv, __glXDispSwap_Vertex4fv}, + /* [ 75] = 75 */ {__glXDisp_Vertex4iv, __glXDispSwap_Vertex4iv}, + /* [ 76] = 76 */ {__glXDisp_Vertex4sv, __glXDispSwap_Vertex4sv}, + /* [ 77] = 77 */ {__glXDisp_ClipPlane, __glXDispSwap_ClipPlane}, + /* [ 78] = 78 */ {__glXDisp_ColorMaterial, __glXDispSwap_ColorMaterial}, + /* [ 79] = 79 */ {__glXDisp_CullFace, __glXDispSwap_CullFace}, + /* [ 80] = 80 */ {__glXDisp_Fogf, __glXDispSwap_Fogf}, + /* [ 81] = 81 */ {__glXDisp_Fogfv, __glXDispSwap_Fogfv}, + /* [ 82] = 82 */ {__glXDisp_Fogi, __glXDispSwap_Fogi}, + /* [ 83] = 83 */ {__glXDisp_Fogiv, __glXDispSwap_Fogiv}, + /* [ 84] = 84 */ {__glXDisp_FrontFace, __glXDispSwap_FrontFace}, + /* [ 85] = 85 */ {__glXDisp_Hint, __glXDispSwap_Hint}, + /* [ 86] = 86 */ {__glXDisp_Lightf, __glXDispSwap_Lightf}, + /* [ 87] = 87 */ {__glXDisp_Lightfv, __glXDispSwap_Lightfv}, + /* [ 88] = 88 */ {__glXDisp_Lighti, __glXDispSwap_Lighti}, + /* [ 89] = 89 */ {__glXDisp_Lightiv, __glXDispSwap_Lightiv}, + /* [ 90] = 90 */ {__glXDisp_LightModelf, __glXDispSwap_LightModelf}, + /* [ 91] = 91 */ {__glXDisp_LightModelfv, __glXDispSwap_LightModelfv}, + /* [ 92] = 92 */ {__glXDisp_LightModeli, __glXDispSwap_LightModeli}, + /* [ 93] = 93 */ {__glXDisp_LightModeliv, __glXDispSwap_LightModeliv}, + /* [ 94] = 94 */ {__glXDisp_LineStipple, __glXDispSwap_LineStipple}, + /* [ 95] = 95 */ {__glXDisp_LineWidth, __glXDispSwap_LineWidth}, + /* [ 96] = 96 */ {__glXDisp_Materialf, __glXDispSwap_Materialf}, + /* [ 97] = 97 */ {__glXDisp_Materialfv, __glXDispSwap_Materialfv}, + /* [ 98] = 98 */ {__glXDisp_Materiali, __glXDispSwap_Materiali}, + /* [ 99] = 99 */ {__glXDisp_Materialiv, __glXDispSwap_Materialiv}, + /* [ 100] = 100 */ {__glXDisp_PointSize, __glXDispSwap_PointSize}, + /* [ 101] = 101 */ {__glXDisp_PolygonMode, __glXDispSwap_PolygonMode}, + /* [ 102] = 102 */ {__glXDisp_PolygonStipple, __glXDispSwap_PolygonStipple}, + /* [ 103] = 103 */ {__glXDisp_Scissor, __glXDispSwap_Scissor}, + /* [ 104] = 104 */ {__glXDisp_ShadeModel, __glXDispSwap_ShadeModel}, + /* [ 105] = 105 */ {__glXDisp_TexParameterf, __glXDispSwap_TexParameterf}, + /* [ 106] = 106 */ {__glXDisp_TexParameterfv, __glXDispSwap_TexParameterfv}, + /* [ 107] = 107 */ {__glXDisp_TexParameteri, __glXDispSwap_TexParameteri}, + /* [ 108] = 108 */ {__glXDisp_TexParameteriv, __glXDispSwap_TexParameteriv}, + /* [ 109] = 109 */ {__glXDisp_TexImage1D, __glXDispSwap_TexImage1D}, + /* [ 110] = 110 */ {__glXDisp_TexImage2D, __glXDispSwap_TexImage2D}, + /* [ 111] = 111 */ {__glXDisp_TexEnvf, __glXDispSwap_TexEnvf}, + /* [ 112] = 112 */ {__glXDisp_TexEnvfv, __glXDispSwap_TexEnvfv}, + /* [ 113] = 113 */ {__glXDisp_TexEnvi, __glXDispSwap_TexEnvi}, + /* [ 114] = 114 */ {__glXDisp_TexEnviv, __glXDispSwap_TexEnviv}, + /* [ 115] = 115 */ {__glXDisp_TexGend, __glXDispSwap_TexGend}, + /* [ 116] = 116 */ {__glXDisp_TexGendv, __glXDispSwap_TexGendv}, + /* [ 117] = 117 */ {__glXDisp_TexGenf, __glXDispSwap_TexGenf}, + /* [ 118] = 118 */ {__glXDisp_TexGenfv, __glXDispSwap_TexGenfv}, + /* [ 119] = 119 */ {__glXDisp_TexGeni, __glXDispSwap_TexGeni}, + /* [ 120] = 120 */ {__glXDisp_TexGeniv, __glXDispSwap_TexGeniv}, + /* [ 121] = 121 */ {__glXDisp_InitNames, __glXDispSwap_InitNames}, + /* [ 122] = 122 */ {__glXDisp_LoadName, __glXDispSwap_LoadName}, + /* [ 123] = 123 */ {__glXDisp_PassThrough, __glXDispSwap_PassThrough}, + /* [ 124] = 124 */ {__glXDisp_PopName, __glXDispSwap_PopName}, + /* [ 125] = 125 */ {__glXDisp_PushName, __glXDispSwap_PushName}, + /* [ 126] = 126 */ {__glXDisp_DrawBuffer, __glXDispSwap_DrawBuffer}, + /* [ 127] = 127 */ {__glXDisp_Clear, __glXDispSwap_Clear}, + /* [ 128] = 128 */ {__glXDisp_ClearAccum, __glXDispSwap_ClearAccum}, + /* [ 129] = 129 */ {__glXDisp_ClearIndex, __glXDispSwap_ClearIndex}, + /* [ 130] = 130 */ {__glXDisp_ClearColor, __glXDispSwap_ClearColor}, + /* [ 131] = 131 */ {__glXDisp_ClearStencil, __glXDispSwap_ClearStencil}, + /* [ 132] = 132 */ {__glXDisp_ClearDepth, __glXDispSwap_ClearDepth}, + /* [ 133] = 133 */ {__glXDisp_StencilMask, __glXDispSwap_StencilMask}, + /* [ 134] = 134 */ {__glXDisp_ColorMask, __glXDispSwap_ColorMask}, + /* [ 135] = 135 */ {__glXDisp_DepthMask, __glXDispSwap_DepthMask}, + /* [ 136] = 136 */ {__glXDisp_IndexMask, __glXDispSwap_IndexMask}, + /* [ 137] = 137 */ {__glXDisp_Accum, __glXDispSwap_Accum}, + /* [ 138] = 138 */ {__glXDisp_Disable, __glXDispSwap_Disable}, + /* [ 139] = 139 */ {__glXDisp_Enable, __glXDispSwap_Enable}, + /* [ 140] = 140 */ {NULL, NULL}, + /* [ 141] = 141 */ {__glXDisp_PopAttrib, __glXDispSwap_PopAttrib}, + /* [ 142] = 142 */ {__glXDisp_PushAttrib, __glXDispSwap_PushAttrib}, + /* [ 143] = 143 */ {__glXDisp_Map1d, __glXDispSwap_Map1d}, + /* [ 144] = 144 */ {__glXDisp_Map1f, __glXDispSwap_Map1f}, + /* [ 145] = 145 */ {__glXDisp_Map2d, __glXDispSwap_Map2d}, + /* [ 146] = 146 */ {__glXDisp_Map2f, __glXDispSwap_Map2f}, + /* [ 147] = 147 */ {__glXDisp_MapGrid1d, __glXDispSwap_MapGrid1d}, + /* [ 148] = 148 */ {__glXDisp_MapGrid1f, __glXDispSwap_MapGrid1f}, + /* [ 149] = 149 */ {__glXDisp_MapGrid2d, __glXDispSwap_MapGrid2d}, + /* [ 150] = 150 */ {__glXDisp_MapGrid2f, __glXDispSwap_MapGrid2f}, + /* [ 151] = 151 */ {__glXDisp_EvalCoord1dv, __glXDispSwap_EvalCoord1dv}, + /* [ 152] = 152 */ {__glXDisp_EvalCoord1fv, __glXDispSwap_EvalCoord1fv}, + /* [ 153] = 153 */ {__glXDisp_EvalCoord2dv, __glXDispSwap_EvalCoord2dv}, + /* [ 154] = 154 */ {__glXDisp_EvalCoord2fv, __glXDispSwap_EvalCoord2fv}, + /* [ 155] = 155 */ {__glXDisp_EvalMesh1, __glXDispSwap_EvalMesh1}, + /* [ 156] = 156 */ {__glXDisp_EvalPoint1, __glXDispSwap_EvalPoint1}, + /* [ 157] = 157 */ {__glXDisp_EvalMesh2, __glXDispSwap_EvalMesh2}, + /* [ 158] = 158 */ {__glXDisp_EvalPoint2, __glXDispSwap_EvalPoint2}, + /* [ 159] = 159 */ {__glXDisp_AlphaFunc, __glXDispSwap_AlphaFunc}, + /* [ 160] = 160 */ {__glXDisp_BlendFunc, __glXDispSwap_BlendFunc}, + /* [ 161] = 161 */ {__glXDisp_LogicOp, __glXDispSwap_LogicOp}, + /* [ 162] = 162 */ {__glXDisp_StencilFunc, __glXDispSwap_StencilFunc}, + /* [ 163] = 163 */ {__glXDisp_StencilOp, __glXDispSwap_StencilOp}, + /* [ 164] = 164 */ {__glXDisp_DepthFunc, __glXDispSwap_DepthFunc}, + /* [ 165] = 165 */ {__glXDisp_PixelZoom, __glXDispSwap_PixelZoom}, + /* [ 166] = 166 */ {__glXDisp_PixelTransferf, __glXDispSwap_PixelTransferf}, + /* [ 167] = 167 */ {__glXDisp_PixelTransferi, __glXDispSwap_PixelTransferi}, + /* [ 168] = 168 */ {__glXDisp_PixelMapfv, __glXDispSwap_PixelMapfv}, + /* [ 169] = 169 */ {__glXDisp_PixelMapuiv, __glXDispSwap_PixelMapuiv}, + /* [ 170] = 170 */ {__glXDisp_PixelMapusv, __glXDispSwap_PixelMapusv}, + /* [ 171] = 171 */ {__glXDisp_ReadBuffer, __glXDispSwap_ReadBuffer}, + /* [ 172] = 172 */ {__glXDisp_CopyPixels, __glXDispSwap_CopyPixels}, + /* [ 173] = 173 */ {__glXDisp_DrawPixels, __glXDispSwap_DrawPixels}, + /* [ 174] = 174 */ {__glXDisp_DepthRange, __glXDispSwap_DepthRange}, + /* [ 175] = 175 */ {__glXDisp_Frustum, __glXDispSwap_Frustum}, + /* [ 176] = 176 */ {__glXDisp_LoadIdentity, __glXDispSwap_LoadIdentity}, + /* [ 177] = 177 */ {__glXDisp_LoadMatrixf, __glXDispSwap_LoadMatrixf}, + /* [ 178] = 178 */ {__glXDisp_LoadMatrixd, __glXDispSwap_LoadMatrixd}, + /* [ 179] = 179 */ {__glXDisp_MatrixMode, __glXDispSwap_MatrixMode}, + /* [ 180] = 180 */ {__glXDisp_MultMatrixf, __glXDispSwap_MultMatrixf}, + /* [ 181] = 181 */ {__glXDisp_MultMatrixd, __glXDispSwap_MultMatrixd}, + /* [ 182] = 182 */ {__glXDisp_Ortho, __glXDispSwap_Ortho}, + /* [ 183] = 183 */ {__glXDisp_PopMatrix, __glXDispSwap_PopMatrix}, + /* [ 184] = 184 */ {__glXDisp_PushMatrix, __glXDispSwap_PushMatrix}, + /* [ 185] = 185 */ {__glXDisp_Rotated, __glXDispSwap_Rotated}, + /* [ 186] = 186 */ {__glXDisp_Rotatef, __glXDispSwap_Rotatef}, + /* [ 187] = 187 */ {__glXDisp_Scaled, __glXDispSwap_Scaled}, + /* [ 188] = 188 */ {__glXDisp_Scalef, __glXDispSwap_Scalef}, + /* [ 189] = 189 */ {__glXDisp_Translated, __glXDispSwap_Translated}, + /* [ 190] = 190 */ {__glXDisp_Translatef, __glXDispSwap_Translatef}, + /* [ 191] = 191 */ {__glXDisp_Viewport, __glXDispSwap_Viewport}, + /* [ 192] = 192 */ {__glXDisp_PolygonOffset, __glXDispSwap_PolygonOffset}, + /* [ 193] = 193 */ {__glXDisp_DrawArrays, __glXDispSwap_DrawArrays}, + /* [ 194] = 194 */ {__glXDisp_Indexubv, __glXDispSwap_Indexubv}, + /* [ 195] = 195 */ {__glXDisp_ColorSubTable, __glXDispSwap_ColorSubTable}, + /* [ 196] = 196 */ {__glXDisp_CopyColorSubTable, __glXDispSwap_CopyColorSubTable}, + /* [ 197] = 197 */ {__glXDisp_ActiveTextureARB, __glXDispSwap_ActiveTextureARB}, + /* [ 198] = 198 */ {__glXDisp_MultiTexCoord1dvARB, __glXDispSwap_MultiTexCoord1dvARB}, + /* [ 199] = 199 */ {__glXDisp_MultiTexCoord1fvARB, __glXDispSwap_MultiTexCoord1fvARB}, + /* [ 200] = 200 */ {__glXDisp_MultiTexCoord1ivARB, __glXDispSwap_MultiTexCoord1ivARB}, + /* [ 201] = 201 */ {__glXDisp_MultiTexCoord1svARB, __glXDispSwap_MultiTexCoord1svARB}, + /* [ 202] = 202 */ {__glXDisp_MultiTexCoord2dvARB, __glXDispSwap_MultiTexCoord2dvARB}, + /* [ 203] = 203 */ {__glXDisp_MultiTexCoord2fvARB, __glXDispSwap_MultiTexCoord2fvARB}, + /* [ 204] = 204 */ {__glXDisp_MultiTexCoord2ivARB, __glXDispSwap_MultiTexCoord2ivARB}, + /* [ 205] = 205 */ {__glXDisp_MultiTexCoord2svARB, __glXDispSwap_MultiTexCoord2svARB}, + /* [ 206] = 206 */ {__glXDisp_MultiTexCoord3dvARB, __glXDispSwap_MultiTexCoord3dvARB}, + /* [ 207] = 207 */ {__glXDisp_MultiTexCoord3fvARB, __glXDispSwap_MultiTexCoord3fvARB}, + /* [ 208] = 208 */ {__glXDisp_MultiTexCoord3ivARB, __glXDispSwap_MultiTexCoord3ivARB}, + /* [ 209] = 209 */ {__glXDisp_MultiTexCoord3svARB, __glXDispSwap_MultiTexCoord3svARB}, + /* [ 210] = 210 */ {__glXDisp_MultiTexCoord4dvARB, __glXDispSwap_MultiTexCoord4dvARB}, + /* [ 211] = 211 */ {__glXDisp_MultiTexCoord4fvARB, __glXDispSwap_MultiTexCoord4fvARB}, + /* [ 212] = 212 */ {__glXDisp_MultiTexCoord4ivARB, __glXDispSwap_MultiTexCoord4ivARB}, + /* [ 213] = 213 */ {__glXDisp_MultiTexCoord4svARB, __glXDispSwap_MultiTexCoord4svARB}, + /* [ 214] = 214 */ {__glXDisp_CompressedTexImage1DARB, __glXDispSwap_CompressedTexImage1DARB}, + /* [ 215] = 215 */ {__glXDisp_CompressedTexImage2DARB, __glXDispSwap_CompressedTexImage2DARB}, + /* [ 216] = 216 */ {__glXDisp_CompressedTexImage3DARB, __glXDispSwap_CompressedTexImage3DARB}, + /* [ 217] = 217 */ {__glXDisp_CompressedTexSubImage1DARB, __glXDispSwap_CompressedTexSubImage1DARB}, + /* [ 218] = 218 */ {__glXDisp_CompressedTexSubImage2DARB, __glXDispSwap_CompressedTexSubImage2DARB}, + /* [ 219] = 219 */ {__glXDisp_CompressedTexSubImage3DARB, __glXDispSwap_CompressedTexSubImage3DARB}, + /* [ 220] = 220 */ {NULL, NULL}, + /* [ 221] = 221 */ {NULL, NULL}, + /* [ 222] = 222 */ {NULL, NULL}, + /* [ 223] = 223 */ {NULL, NULL}, + /* [ 224] = 224 */ {NULL, NULL}, + /* [ 225] = 225 */ {NULL, NULL}, + /* [ 226] = 226 */ {NULL, NULL}, + /* [ 227] = 227 */ {NULL, NULL}, + /* [ 228] = 228 */ {NULL, NULL}, + /* [ 229] = 229 */ {__glXDisp_SampleCoverageARB, __glXDispSwap_SampleCoverageARB}, + /* [ 230] = 230 */ {__glXDisp_WindowPos3fvMESA, __glXDispSwap_WindowPos3fvMESA}, + /* [ 231] = 231 */ {__glXDisp_BeginQueryARB, __glXDispSwap_BeginQueryARB}, + /* [ 232] = 232 */ {__glXDisp_EndQueryARB, __glXDispSwap_EndQueryARB}, + /* [ 233] = 233 */ {__glXDisp_DrawBuffersARB, __glXDispSwap_DrawBuffersARB}, + /* [ 234] = 234 */ {NULL, NULL}, + /* [ 235] = 235 */ {NULL, NULL}, + /* [ 236] = 236 */ {NULL, NULL}, + /* [ 237] = 237 */ {NULL, NULL}, + /* [ 238] = 238 */ {NULL, NULL}, + /* [ 239] = 239 */ {NULL, NULL}, + /* [ 240] = 2048 */ {__glXDisp_SampleMaskSGIS, __glXDispSwap_SampleMaskSGIS}, + /* [ 241] = 2049 */ {__glXDisp_SamplePatternSGIS, __glXDispSwap_SamplePatternSGIS}, + /* [ 242] = 2050 */ {NULL, NULL}, + /* [ 243] = 2051 */ {NULL, NULL}, + /* [ 244] = 2052 */ {NULL, NULL}, + /* [ 245] = 2053 */ {__glXDisp_ColorTable, __glXDispSwap_ColorTable}, + /* [ 246] = 2054 */ {__glXDisp_ColorTableParameterfv, __glXDispSwap_ColorTableParameterfv}, + /* [ 247] = 2055 */ {__glXDisp_ColorTableParameteriv, __glXDispSwap_ColorTableParameteriv}, + /* [ 248] = 2056 */ {__glXDisp_CopyColorTable, __glXDispSwap_CopyColorTable}, + /* [ 249] = 2057 */ {NULL, NULL}, + /* [ 250] = 2058 */ {NULL, NULL}, + /* [ 251] = 2059 */ {NULL, NULL}, + /* [ 252] = 2060 */ {NULL, NULL}, + /* [ 253] = 2061 */ {NULL, NULL}, + /* [ 254] = 2062 */ {NULL, NULL}, + /* [ 255] = 2063 */ {NULL, NULL}, + /* [ 256] = 2064 */ {NULL, NULL}, + /* [ 257] = 2065 */ {__glXDisp_PointParameterfEXT, __glXDispSwap_PointParameterfEXT}, + /* [ 258] = 2066 */ {__glXDisp_PointParameterfvEXT, __glXDispSwap_PointParameterfvEXT}, + /* [ 259] = 2067 */ {NULL, NULL}, + /* [ 260] = 2068 */ {NULL, NULL}, + /* [ 261] = 2069 */ {NULL, NULL}, + /* [ 262] = 2070 */ {NULL, NULL}, + /* [ 263] = 2071 */ {NULL, NULL}, + /* [ 264] = 4096 */ {__glXDisp_BlendColor, __glXDispSwap_BlendColor}, + /* [ 265] = 4097 */ {__glXDisp_BlendEquation, __glXDispSwap_BlendEquation}, + /* [ 266] = 4098 */ {NULL, NULL}, + /* [ 267] = 4099 */ {__glXDisp_TexSubImage1D, __glXDispSwap_TexSubImage1D}, + /* [ 268] = 4100 */ {__glXDisp_TexSubImage2D, __glXDispSwap_TexSubImage2D}, + /* [ 269] = 4101 */ {__glXDisp_ConvolutionFilter1D, __glXDispSwap_ConvolutionFilter1D}, + /* [ 270] = 4102 */ {__glXDisp_ConvolutionFilter2D, __glXDispSwap_ConvolutionFilter2D}, + /* [ 271] = 4103 */ {__glXDisp_ConvolutionParameterf, __glXDispSwap_ConvolutionParameterf}, + /* [ 272] = 4104 */ {__glXDisp_ConvolutionParameterfv, __glXDispSwap_ConvolutionParameterfv}, + /* [ 273] = 4105 */ {__glXDisp_ConvolutionParameteri, __glXDispSwap_ConvolutionParameteri}, + /* [ 274] = 4106 */ {__glXDisp_ConvolutionParameteriv, __glXDispSwap_ConvolutionParameteriv}, + /* [ 275] = 4107 */ {__glXDisp_CopyConvolutionFilter1D, __glXDispSwap_CopyConvolutionFilter1D}, + /* [ 276] = 4108 */ {__glXDisp_CopyConvolutionFilter2D, __glXDispSwap_CopyConvolutionFilter2D}, + /* [ 277] = 4109 */ {__glXDisp_SeparableFilter2D, __glXDispSwap_SeparableFilter2D}, + /* [ 278] = 4110 */ {__glXDisp_Histogram, __glXDispSwap_Histogram}, + /* [ 279] = 4111 */ {__glXDisp_Minmax, __glXDispSwap_Minmax}, + /* [ 280] = 4112 */ {__glXDisp_ResetHistogram, __glXDispSwap_ResetHistogram}, + /* [ 281] = 4113 */ {__glXDisp_ResetMinmax, __glXDispSwap_ResetMinmax}, + /* [ 282] = 4114 */ {__glXDisp_TexImage3D, __glXDispSwap_TexImage3D}, + /* [ 283] = 4115 */ {__glXDisp_TexSubImage3D, __glXDispSwap_TexSubImage3D}, + /* [ 284] = 4116 */ {NULL, NULL}, + /* [ 285] = 4117 */ {__glXDisp_BindTexture, __glXDispSwap_BindTexture}, + /* [ 286] = 4118 */ {__glXDisp_PrioritizeTextures, __glXDispSwap_PrioritizeTextures}, + /* [ 287] = 4119 */ {__glXDisp_CopyTexImage1D, __glXDispSwap_CopyTexImage1D}, + /* [ 288] = 4120 */ {__glXDisp_CopyTexImage2D, __glXDispSwap_CopyTexImage2D}, + /* [ 289] = 4121 */ {__glXDisp_CopyTexSubImage1D, __glXDispSwap_CopyTexSubImage1D}, + /* [ 290] = 4122 */ {__glXDisp_CopyTexSubImage2D, __glXDispSwap_CopyTexSubImage2D}, + /* [ 291] = 4123 */ {__glXDisp_CopyTexSubImage3D, __glXDispSwap_CopyTexSubImage3D}, + /* [ 292] = 4124 */ {__glXDisp_FogCoordfvEXT, __glXDispSwap_FogCoordfvEXT}, + /* [ 293] = 4125 */ {__glXDisp_FogCoorddvEXT, __glXDispSwap_FogCoorddvEXT}, + /* [ 294] = 4126 */ {__glXDisp_SecondaryColor3bvEXT, __glXDispSwap_SecondaryColor3bvEXT}, + /* [ 295] = 4127 */ {__glXDisp_SecondaryColor3svEXT, __glXDispSwap_SecondaryColor3svEXT}, + /* [ 296] = 4176 */ {NULL, NULL}, + /* [ 297] = 4177 */ {NULL, NULL}, + /* [ 298] = 4178 */ {NULL, NULL}, + /* [ 299] = 4179 */ {NULL, NULL}, + /* [ 300] = 4180 */ {__glXDisp_BindProgramNV, __glXDispSwap_BindProgramNV}, + /* [ 301] = 4181 */ {__glXDisp_ExecuteProgramNV, __glXDispSwap_ExecuteProgramNV}, + /* [ 302] = 4182 */ {__glXDisp_RequestResidentProgramsNV, __glXDispSwap_RequestResidentProgramsNV}, + /* [ 303] = 4183 */ {__glXDisp_LoadProgramNV, __glXDispSwap_LoadProgramNV}, + /* [ 304] = 4184 */ {__glXDisp_ProgramEnvParameter4fvARB, __glXDispSwap_ProgramEnvParameter4fvARB}, + /* [ 305] = 4185 */ {__glXDisp_ProgramEnvParameter4dvARB, __glXDispSwap_ProgramEnvParameter4dvARB}, + /* [ 306] = 4186 */ {__glXDisp_ProgramParameters4fvNV, __glXDispSwap_ProgramParameters4fvNV}, + /* [ 307] = 4187 */ {__glXDisp_ProgramParameters4dvNV, __glXDispSwap_ProgramParameters4dvNV}, + /* [ 308] = 4188 */ {__glXDisp_TrackMatrixNV, __glXDispSwap_TrackMatrixNV}, + /* [ 309] = 4189 */ {__glXDisp_VertexAttrib1svARB, __glXDispSwap_VertexAttrib1svARB}, + /* [ 310] = 4190 */ {__glXDisp_VertexAttrib2svARB, __glXDispSwap_VertexAttrib2svARB}, + /* [ 311] = 4191 */ {__glXDisp_VertexAttrib3svARB, __glXDispSwap_VertexAttrib3svARB}, + /* [ 312] = 4192 */ {__glXDisp_VertexAttrib4svARB, __glXDispSwap_VertexAttrib4svARB}, + /* [ 313] = 4193 */ {__glXDisp_VertexAttrib1fvARB, __glXDispSwap_VertexAttrib1fvARB}, + /* [ 314] = 4194 */ {__glXDisp_VertexAttrib2fvARB, __glXDispSwap_VertexAttrib2fvARB}, + /* [ 315] = 4195 */ {__glXDisp_VertexAttrib3fvARB, __glXDispSwap_VertexAttrib3fvARB}, + /* [ 316] = 4196 */ {__glXDisp_VertexAttrib4fvARB, __glXDispSwap_VertexAttrib4fvARB}, + /* [ 317] = 4197 */ {__glXDisp_VertexAttrib1dvARB, __glXDispSwap_VertexAttrib1dvARB}, + /* [ 318] = 4198 */ {__glXDisp_VertexAttrib2dvARB, __glXDispSwap_VertexAttrib2dvARB}, + /* [ 319] = 4199 */ {__glXDisp_VertexAttrib3dvARB, __glXDispSwap_VertexAttrib3dvARB}, + /* [ 320] = 4200 */ {__glXDisp_VertexAttrib4dvARB, __glXDispSwap_VertexAttrib4dvARB}, + /* [ 321] = 4201 */ {__glXDisp_VertexAttrib4NubvARB, __glXDispSwap_VertexAttrib4NubvARB}, + /* [ 322] = 4202 */ {__glXDisp_VertexAttribs1svNV, __glXDispSwap_VertexAttribs1svNV}, + /* [ 323] = 4203 */ {__glXDisp_VertexAttribs2svNV, __glXDispSwap_VertexAttribs2svNV}, + /* [ 324] = 4204 */ {__glXDisp_VertexAttribs3svNV, __glXDispSwap_VertexAttribs3svNV}, + /* [ 325] = 4205 */ {__glXDisp_VertexAttribs4svNV, __glXDispSwap_VertexAttribs4svNV}, + /* [ 326] = 4206 */ {__glXDisp_VertexAttribs1fvNV, __glXDispSwap_VertexAttribs1fvNV}, + /* [ 327] = 4207 */ {__glXDisp_VertexAttribs2fvNV, __glXDispSwap_VertexAttribs2fvNV}, + /* [ 328] = 4208 */ {__glXDisp_VertexAttribs3fvNV, __glXDispSwap_VertexAttribs3fvNV}, + /* [ 329] = 4209 */ {__glXDisp_VertexAttribs4fvNV, __glXDispSwap_VertexAttribs4fvNV}, + /* [ 330] = 4210 */ {__glXDisp_VertexAttribs1dvNV, __glXDispSwap_VertexAttribs1dvNV}, + /* [ 331] = 4211 */ {__glXDisp_VertexAttribs2dvNV, __glXDispSwap_VertexAttribs2dvNV}, + /* [ 332] = 4212 */ {__glXDisp_VertexAttribs3dvNV, __glXDispSwap_VertexAttribs3dvNV}, + /* [ 333] = 4213 */ {__glXDisp_VertexAttribs4dvNV, __glXDispSwap_VertexAttribs4dvNV}, + /* [ 334] = 4214 */ {__glXDisp_VertexAttribs4ubvNV, __glXDispSwap_VertexAttribs4ubvNV}, + /* [ 335] = 4215 */ {__glXDisp_ProgramLocalParameter4fvARB, __glXDispSwap_ProgramLocalParameter4fvARB}, + /* [ 336] = 4216 */ {__glXDisp_ProgramLocalParameter4dvARB, __glXDispSwap_ProgramLocalParameter4dvARB}, + /* [ 337] = 4217 */ {__glXDisp_ProgramStringARB, __glXDispSwap_ProgramStringARB}, + /* [ 338] = 4218 */ {__glXDisp_ProgramNamedParameter4fvNV, __glXDispSwap_ProgramNamedParameter4fvNV}, + /* [ 339] = 4219 */ {__glXDisp_ProgramNamedParameter4dvNV, __glXDispSwap_ProgramNamedParameter4dvNV}, + /* [ 340] = 4220 */ {__glXDisp_ActiveStencilFaceEXT, __glXDispSwap_ActiveStencilFaceEXT}, + /* [ 341] = 4221 */ {__glXDisp_PointParameteriNV, __glXDispSwap_PointParameteriNV}, + /* [ 342] = 4222 */ {__glXDisp_PointParameterivNV, __glXDispSwap_PointParameterivNV}, + /* [ 343] = 4223 */ {NULL, NULL}, + /* [ 344] = 4224 */ {NULL, NULL}, + /* [ 345] = 4225 */ {NULL, NULL}, + /* [ 346] = 4226 */ {NULL, NULL}, + /* [ 347] = 4227 */ {NULL, NULL}, + /* [ 348] = 4228 */ {__glXDisp_BlendEquationSeparateEXT, __glXDispSwap_BlendEquationSeparateEXT}, + /* [ 349] = 4229 */ {NULL, NULL}, + /* [ 350] = 4230 */ {__glXDisp_VertexAttrib4bvARB, __glXDispSwap_VertexAttrib4bvARB}, + /* [ 351] = 4231 */ {__glXDisp_VertexAttrib4ivARB, __glXDispSwap_VertexAttrib4ivARB}, + /* [ 352] = 4232 */ {__glXDisp_VertexAttrib4ubvARB, __glXDispSwap_VertexAttrib4ubvARB}, + /* [ 353] = 4233 */ {__glXDisp_VertexAttrib4usvARB, __glXDispSwap_VertexAttrib4usvARB}, + /* [ 354] = 4234 */ {__glXDisp_VertexAttrib4uivARB, __glXDispSwap_VertexAttrib4uivARB}, + /* [ 355] = 4235 */ {__glXDisp_VertexAttrib4NbvARB, __glXDispSwap_VertexAttrib4NbvARB}, + /* [ 356] = 4236 */ {__glXDisp_VertexAttrib4NsvARB, __glXDispSwap_VertexAttrib4NsvARB}, + /* [ 357] = 4237 */ {__glXDisp_VertexAttrib4NivARB, __glXDispSwap_VertexAttrib4NivARB}, + /* [ 358] = 4238 */ {__glXDisp_VertexAttrib4NusvARB, __glXDispSwap_VertexAttrib4NusvARB}, + /* [ 359] = 4239 */ {__glXDisp_VertexAttrib4NuivARB, __glXDispSwap_VertexAttrib4NuivARB}, + /* [ 360] = 4128 */ {__glXDisp_SecondaryColor3ivEXT, __glXDispSwap_SecondaryColor3ivEXT}, + /* [ 361] = 4129 */ {__glXDisp_SecondaryColor3fvEXT, __glXDispSwap_SecondaryColor3fvEXT}, + /* [ 362] = 4130 */ {__glXDisp_SecondaryColor3dvEXT, __glXDispSwap_SecondaryColor3dvEXT}, + /* [ 363] = 4131 */ {__glXDisp_SecondaryColor3ubvEXT, __glXDispSwap_SecondaryColor3ubvEXT}, + /* [ 364] = 4132 */ {__glXDisp_SecondaryColor3usvEXT, __glXDispSwap_SecondaryColor3usvEXT}, + /* [ 365] = 4133 */ {__glXDisp_SecondaryColor3uivEXT, __glXDispSwap_SecondaryColor3uivEXT}, + /* [ 366] = 4134 */ {__glXDisp_BlendFuncSeparateEXT, __glXDispSwap_BlendFuncSeparateEXT}, + /* [ 367] = 4135 */ {NULL, NULL}, + /* [ 368] = 4264 */ {NULL, NULL}, + /* [ 369] = 4265 */ {__glXDisp_VertexAttrib1svNV, __glXDispSwap_VertexAttrib1svNV}, + /* [ 370] = 4266 */ {__glXDisp_VertexAttrib2svNV, __glXDispSwap_VertexAttrib2svNV}, + /* [ 371] = 4267 */ {__glXDisp_VertexAttrib3svNV, __glXDispSwap_VertexAttrib3svNV}, + /* [ 372] = 4268 */ {__glXDisp_VertexAttrib4svNV, __glXDispSwap_VertexAttrib4svNV}, + /* [ 373] = 4269 */ {__glXDisp_VertexAttrib1fvNV, __glXDispSwap_VertexAttrib1fvNV}, + /* [ 374] = 4270 */ {__glXDisp_VertexAttrib2fvNV, __glXDispSwap_VertexAttrib2fvNV}, + /* [ 375] = 4271 */ {__glXDisp_VertexAttrib3fvNV, __glXDispSwap_VertexAttrib3fvNV}, + /* [ 376] = 4272 */ {__glXDisp_VertexAttrib4fvNV, __glXDispSwap_VertexAttrib4fvNV}, + /* [ 377] = 4273 */ {__glXDisp_VertexAttrib1dvNV, __glXDispSwap_VertexAttrib1dvNV}, + /* [ 378] = 4274 */ {__glXDisp_VertexAttrib2dvNV, __glXDispSwap_VertexAttrib2dvNV}, + /* [ 379] = 4275 */ {__glXDisp_VertexAttrib3dvNV, __glXDispSwap_VertexAttrib3dvNV}, + /* [ 380] = 4276 */ {__glXDisp_VertexAttrib4dvNV, __glXDispSwap_VertexAttrib4dvNV}, + /* [ 381] = 4277 */ {__glXDisp_VertexAttrib4ubvNV, __glXDispSwap_VertexAttrib4ubvNV}, + /* [ 382] = 4278 */ {NULL, NULL}, + /* [ 383] = 4279 */ {NULL, NULL}, + /* [ 384] = 4312 */ {NULL, NULL}, + /* [ 385] = 4313 */ {NULL, NULL}, + /* [ 386] = 4314 */ {NULL, NULL}, + /* [ 387] = 4315 */ {NULL, NULL}, + /* [ 388] = 4316 */ {__glXDisp_BindRenderbufferEXT, __glXDispSwap_BindRenderbufferEXT}, + /* [ 389] = 4317 */ {__glXDisp_DeleteRenderbuffersEXT, __glXDispSwap_DeleteRenderbuffersEXT}, + /* [ 390] = 4318 */ {__glXDisp_RenderbufferStorageEXT, __glXDispSwap_RenderbufferStorageEXT}, + /* [ 391] = 4319 */ {__glXDisp_BindFramebufferEXT, __glXDispSwap_BindFramebufferEXT}, + /* [ 392] = 4320 */ {__glXDisp_DeleteFramebuffersEXT, __glXDispSwap_DeleteFramebuffersEXT}, + /* [ 393] = 4321 */ {__glXDisp_FramebufferTexture1DEXT, __glXDispSwap_FramebufferTexture1DEXT}, + /* [ 394] = 4322 */ {__glXDisp_FramebufferTexture2DEXT, __glXDispSwap_FramebufferTexture2DEXT}, + /* [ 395] = 4323 */ {__glXDisp_FramebufferTexture3DEXT, __glXDispSwap_FramebufferTexture3DEXT}, + /* [ 396] = 4324 */ {__glXDisp_FramebufferRenderbufferEXT, __glXDispSwap_FramebufferRenderbufferEXT}, + /* [ 397] = 4325 */ {__glXDisp_GenerateMipmapEXT, __glXDispSwap_GenerateMipmapEXT}, + /* [ 398] = 4326 */ {NULL, NULL}, + /* [ 399] = 4327 */ {NULL, NULL}, +}; + +static const int_fast16_t Render_size_table[400][2] = { + /* [ 0] = 0 */ { 0, ~0}, + /* [ 1] = 1 */ { 8, ~0}, + /* [ 2] = 2 */ { 12, 0}, + /* [ 3] = 3 */ { 8, ~0}, + /* [ 4] = 4 */ { 8, ~0}, + /* [ 5] = 5 */ { 48, 1}, + /* [ 6] = 6 */ { 8, ~0}, + /* [ 7] = 7 */ { 28, ~0}, + /* [ 8] = 8 */ { 16, ~0}, + /* [ 9] = 9 */ { 16, ~0}, + /* [ 10] = 10 */ { 12, ~0}, + /* [ 11] = 11 */ { 8, ~0}, + /* [ 12] = 12 */ { 16, ~0}, + /* [ 13] = 13 */ { 12, ~0}, + /* [ 14] = 14 */ { 8, ~0}, + /* [ 15] = 15 */ { 36, ~0}, + /* [ 16] = 16 */ { 20, ~0}, + /* [ 17] = 17 */ { 20, ~0}, + /* [ 18] = 18 */ { 12, ~0}, + /* [ 19] = 19 */ { 8, ~0}, + /* [ 20] = 20 */ { 20, ~0}, + /* [ 21] = 21 */ { 12, ~0}, + /* [ 22] = 22 */ { 8, ~0}, + /* [ 23] = 23 */ { 4, ~0}, + /* [ 24] = 24 */ { 12, ~0}, + /* [ 25] = 25 */ { 8, ~0}, + /* [ 26] = 26 */ { 8, ~0}, + /* [ 27] = 27 */ { 8, ~0}, + /* [ 28] = 28 */ { 8, ~0}, + /* [ 29] = 29 */ { 28, ~0}, + /* [ 30] = 30 */ { 16, ~0}, + /* [ 31] = 31 */ { 16, ~0}, + /* [ 32] = 32 */ { 12, ~0}, + /* [ 33] = 33 */ { 20, ~0}, + /* [ 34] = 34 */ { 12, ~0}, + /* [ 35] = 35 */ { 12, ~0}, + /* [ 36] = 36 */ { 8, ~0}, + /* [ 37] = 37 */ { 28, ~0}, + /* [ 38] = 38 */ { 16, ~0}, + /* [ 39] = 39 */ { 16, ~0}, + /* [ 40] = 40 */ { 12, ~0}, + /* [ 41] = 41 */ { 36, ~0}, + /* [ 42] = 42 */ { 20, ~0}, + /* [ 43] = 43 */ { 20, ~0}, + /* [ 44] = 44 */ { 12, ~0}, + /* [ 45] = 45 */ { 36, ~0}, + /* [ 46] = 46 */ { 20, ~0}, + /* [ 47] = 47 */ { 20, ~0}, + /* [ 48] = 48 */ { 12, ~0}, + /* [ 49] = 49 */ { 12, ~0}, + /* [ 50] = 50 */ { 8, ~0}, + /* [ 51] = 51 */ { 8, ~0}, + /* [ 52] = 52 */ { 8, ~0}, + /* [ 53] = 53 */ { 20, ~0}, + /* [ 54] = 54 */ { 12, ~0}, + /* [ 55] = 55 */ { 12, ~0}, + /* [ 56] = 56 */ { 8, ~0}, + /* [ 57] = 57 */ { 28, ~0}, + /* [ 58] = 58 */ { 16, ~0}, + /* [ 59] = 59 */ { 16, ~0}, + /* [ 60] = 60 */ { 12, ~0}, + /* [ 61] = 61 */ { 36, ~0}, + /* [ 62] = 62 */ { 20, ~0}, + /* [ 63] = 63 */ { 20, ~0}, + /* [ 64] = 64 */ { 12, ~0}, + /* [ 65] = 65 */ { 20, ~0}, + /* [ 66] = 66 */ { 12, ~0}, + /* [ 67] = 67 */ { 12, ~0}, + /* [ 68] = 68 */ { 8, ~0}, + /* [ 69] = 69 */ { 28, ~0}, + /* [ 70] = 70 */ { 16, ~0}, + /* [ 71] = 71 */ { 16, ~0}, + /* [ 72] = 72 */ { 12, ~0}, + /* [ 73] = 73 */ { 36, ~0}, + /* [ 74] = 74 */ { 20, ~0}, + /* [ 75] = 75 */ { 20, ~0}, + /* [ 76] = 76 */ { 12, ~0}, + /* [ 77] = 77 */ { 40, ~0}, + /* [ 78] = 78 */ { 12, ~0}, + /* [ 79] = 79 */ { 8, ~0}, + /* [ 80] = 80 */ { 12, ~0}, + /* [ 81] = 81 */ { 8, 2}, + /* [ 82] = 82 */ { 12, ~0}, + /* [ 83] = 83 */ { 8, 3}, + /* [ 84] = 84 */ { 8, ~0}, + /* [ 85] = 85 */ { 12, ~0}, + /* [ 86] = 86 */ { 16, ~0}, + /* [ 87] = 87 */ { 12, 4}, + /* [ 88] = 88 */ { 16, ~0}, + /* [ 89] = 89 */ { 12, 5}, + /* [ 90] = 90 */ { 12, ~0}, + /* [ 91] = 91 */ { 8, 6}, + /* [ 92] = 92 */ { 12, ~0}, + /* [ 93] = 93 */ { 8, 7}, + /* [ 94] = 94 */ { 12, ~0}, + /* [ 95] = 95 */ { 8, ~0}, + /* [ 96] = 96 */ { 16, ~0}, + /* [ 97] = 97 */ { 12, 8}, + /* [ 98] = 98 */ { 16, ~0}, + /* [ 99] = 99 */ { 12, 9}, + /* [100] = 100 */ { 8, ~0}, + /* [101] = 101 */ { 12, ~0}, + /* [102] = 102 */ { 24, 10}, + /* [103] = 103 */ { 20, ~0}, + /* [104] = 104 */ { 8, ~0}, + /* [105] = 105 */ { 16, ~0}, + /* [106] = 106 */ { 12, 11}, + /* [107] = 107 */ { 16, ~0}, + /* [108] = 108 */ { 12, 12}, + /* [109] = 109 */ { 56, 13}, + /* [110] = 110 */ { 56, 14}, + /* [111] = 111 */ { 16, ~0}, + /* [112] = 112 */ { 12, 15}, + /* [113] = 113 */ { 16, ~0}, + /* [114] = 114 */ { 12, 16}, + /* [115] = 115 */ { 20, ~0}, + /* [116] = 116 */ { 12, 17}, + /* [117] = 117 */ { 16, ~0}, + /* [118] = 118 */ { 12, 18}, + /* [119] = 119 */ { 16, ~0}, + /* [120] = 120 */ { 12, 19}, + /* [121] = 121 */ { 4, ~0}, + /* [122] = 122 */ { 8, ~0}, + /* [123] = 123 */ { 8, ~0}, + /* [124] = 124 */ { 4, ~0}, + /* [125] = 125 */ { 8, ~0}, + /* [126] = 126 */ { 8, ~0}, + /* [127] = 127 */ { 8, ~0}, + /* [128] = 128 */ { 20, ~0}, + /* [129] = 129 */ { 8, ~0}, + /* [130] = 130 */ { 20, ~0}, + /* [131] = 131 */ { 8, ~0}, + /* [132] = 132 */ { 12, ~0}, + /* [133] = 133 */ { 8, ~0}, + /* [134] = 134 */ { 8, ~0}, + /* [135] = 135 */ { 8, ~0}, + /* [136] = 136 */ { 8, ~0}, + /* [137] = 137 */ { 12, ~0}, + /* [138] = 138 */ { 8, ~0}, + /* [139] = 139 */ { 8, ~0}, + /* [140] = 140 */ { 0, ~0}, + /* [141] = 141 */ { 4, ~0}, + /* [142] = 142 */ { 8, ~0}, + /* [143] = 143 */ { 28, 20}, + /* [144] = 144 */ { 20, 21}, + /* [145] = 145 */ { 48, 22}, + /* [146] = 146 */ { 32, 23}, + /* [147] = 147 */ { 24, ~0}, + /* [148] = 148 */ { 16, ~0}, + /* [149] = 149 */ { 44, ~0}, + /* [150] = 150 */ { 28, ~0}, + /* [151] = 151 */ { 12, ~0}, + /* [152] = 152 */ { 8, ~0}, + /* [153] = 153 */ { 20, ~0}, + /* [154] = 154 */ { 12, ~0}, + /* [155] = 155 */ { 16, ~0}, + /* [156] = 156 */ { 8, ~0}, + /* [157] = 157 */ { 24, ~0}, + /* [158] = 158 */ { 12, ~0}, + /* [159] = 159 */ { 12, ~0}, + /* [160] = 160 */ { 12, ~0}, + /* [161] = 161 */ { 8, ~0}, + /* [162] = 162 */ { 16, ~0}, + /* [163] = 163 */ { 16, ~0}, + /* [164] = 164 */ { 8, ~0}, + /* [165] = 165 */ { 12, ~0}, + /* [166] = 166 */ { 12, ~0}, + /* [167] = 167 */ { 12, ~0}, + /* [168] = 168 */ { 12, 24}, + /* [169] = 169 */ { 12, 25}, + /* [170] = 170 */ { 12, 26}, + /* [171] = 171 */ { 8, ~0}, + /* [172] = 172 */ { 24, ~0}, + /* [173] = 173 */ { 40, 27}, + /* [174] = 174 */ { 20, ~0}, + /* [175] = 175 */ { 52, ~0}, + /* [176] = 176 */ { 4, ~0}, + /* [177] = 177 */ { 68, ~0}, + /* [178] = 178 */ {132, ~0}, + /* [179] = 179 */ { 8, ~0}, + /* [180] = 180 */ { 68, ~0}, + /* [181] = 181 */ {132, ~0}, + /* [182] = 182 */ { 52, ~0}, + /* [183] = 183 */ { 4, ~0}, + /* [184] = 184 */ { 4, ~0}, + /* [185] = 185 */ { 36, ~0}, + /* [186] = 186 */ { 20, ~0}, + /* [187] = 187 */ { 28, ~0}, + /* [188] = 188 */ { 16, ~0}, + /* [189] = 189 */ { 28, ~0}, + /* [190] = 190 */ { 16, ~0}, + /* [191] = 191 */ { 20, ~0}, + /* [192] = 192 */ { 12, ~0}, + /* [193] = 193 */ { 16, 28}, + /* [194] = 194 */ { 8, ~0}, + /* [195] = 195 */ { 44, 29}, + /* [196] = 196 */ { 24, ~0}, + /* [197] = 197 */ { 8, ~0}, + /* [198] = 198 */ { 16, ~0}, + /* [199] = 199 */ { 12, ~0}, + /* [200] = 200 */ { 12, ~0}, + /* [201] = 201 */ { 12, ~0}, + /* [202] = 202 */ { 24, ~0}, + /* [203] = 203 */ { 16, ~0}, + /* [204] = 204 */ { 16, ~0}, + /* [205] = 205 */ { 12, ~0}, + /* [206] = 206 */ { 32, ~0}, + /* [207] = 207 */ { 20, ~0}, + /* [208] = 208 */ { 20, ~0}, + /* [209] = 209 */ { 16, ~0}, + /* [210] = 210 */ { 40, ~0}, + /* [211] = 211 */ { 24, ~0}, + /* [212] = 212 */ { 24, ~0}, + /* [213] = 213 */ { 16, ~0}, + /* [214] = 214 */ { 28, 30}, + /* [215] = 215 */ { 32, 31}, + /* [216] = 216 */ { 36, 32}, + /* [217] = 217 */ { 28, 33}, + /* [218] = 218 */ { 36, 34}, + /* [219] = 219 */ { 44, 35}, + /* [220] = 220 */ { 0, ~0}, + /* [221] = 221 */ { 0, ~0}, + /* [222] = 222 */ { 0, ~0}, + /* [223] = 223 */ { 0, ~0}, + /* [224] = 224 */ { 0, ~0}, + /* [225] = 225 */ { 0, ~0}, + /* [226] = 226 */ { 0, ~0}, + /* [227] = 227 */ { 0, ~0}, + /* [228] = 228 */ { 0, ~0}, + /* [229] = 229 */ { 12, ~0}, + /* [230] = 230 */ { 16, ~0}, + /* [231] = 231 */ { 12, ~0}, + /* [232] = 232 */ { 8, ~0}, + /* [233] = 233 */ { 8, 36}, + /* [234] = 234 */ { 0, ~0}, + /* [235] = 235 */ { 0, ~0}, + /* [236] = 236 */ { 0, ~0}, + /* [237] = 237 */ { 0, ~0}, + /* [238] = 238 */ { 0, ~0}, + /* [239] = 239 */ { 0, ~0}, + /* [240] = 2048 */ { 12, ~0}, + /* [241] = 2049 */ { 8, ~0}, + /* [242] = 2050 */ { 0, ~0}, + /* [243] = 2051 */ { 0, ~0}, + /* [244] = 2052 */ { 0, ~0}, + /* [245] = 2053 */ { 44, 37}, + /* [246] = 2054 */ { 12, 38}, + /* [247] = 2055 */ { 12, 39}, + /* [248] = 2056 */ { 24, ~0}, + /* [249] = 2057 */ { 0, ~0}, + /* [250] = 2058 */ { 0, ~0}, + /* [251] = 2059 */ { 0, ~0}, + /* [252] = 2060 */ { 0, ~0}, + /* [253] = 2061 */ { 0, ~0}, + /* [254] = 2062 */ { 0, ~0}, + /* [255] = 2063 */ { 0, ~0}, + /* [256] = 2064 */ { 0, ~0}, + /* [257] = 2065 */ { 12, ~0}, + /* [258] = 2066 */ { 8, 40}, + /* [259] = 2067 */ { 0, ~0}, + /* [260] = 2068 */ { 0, ~0}, + /* [261] = 2069 */ { 0, ~0}, + /* [262] = 2070 */ { 0, ~0}, + /* [263] = 2071 */ { 0, ~0}, + /* [264] = 4096 */ { 20, ~0}, + /* [265] = 4097 */ { 8, ~0}, + /* [266] = 4098 */ { 0, ~0}, + /* [267] = 4099 */ { 60, 41}, + /* [268] = 4100 */ { 60, 42}, + /* [269] = 4101 */ { 48, 43}, + /* [270] = 4102 */ { 48, 44}, + /* [271] = 4103 */ { 16, ~0}, + /* [272] = 4104 */ { 12, 45}, + /* [273] = 4105 */ { 16, ~0}, + /* [274] = 4106 */ { 12, 46}, + /* [275] = 4107 */ { 24, ~0}, + /* [276] = 4108 */ { 28, ~0}, + /* [277] = 4109 */ { 32, 47}, + /* [278] = 4110 */ { 20, ~0}, + /* [279] = 4111 */ { 16, ~0}, + /* [280] = 4112 */ { 8, ~0}, + /* [281] = 4113 */ { 8, ~0}, + /* [282] = 4114 */ { 84, 48}, + /* [283] = 4115 */ { 92, 49}, + /* [284] = 4116 */ { 0, ~0}, + /* [285] = 4117 */ { 12, ~0}, + /* [286] = 4118 */ { 8, 50}, + /* [287] = 4119 */ { 32, ~0}, + /* [288] = 4120 */ { 36, ~0}, + /* [289] = 4121 */ { 28, ~0}, + /* [290] = 4122 */ { 36, ~0}, + /* [291] = 4123 */ { 40, ~0}, + /* [292] = 4124 */ { 8, ~0}, + /* [293] = 4125 */ { 12, ~0}, + /* [294] = 4126 */ { 8, ~0}, + /* [295] = 4127 */ { 12, ~0}, + /* [296] = 4176 */ { 0, ~0}, + /* [297] = 4177 */ { 0, ~0}, + /* [298] = 4178 */ { 0, ~0}, + /* [299] = 4179 */ { 0, ~0}, + /* [300] = 4180 */ { 12, ~0}, + /* [301] = 4181 */ { 28, ~0}, + /* [302] = 4182 */ { 8, 51}, + /* [303] = 4183 */ { 16, 52}, + /* [304] = 4184 */ { 28, ~0}, + /* [305] = 4185 */ { 44, ~0}, + /* [306] = 4186 */ { 16, 53}, + /* [307] = 4187 */ { 16, 54}, + /* [308] = 4188 */ { 20, ~0}, + /* [309] = 4189 */ { 12, ~0}, + /* [310] = 4190 */ { 12, ~0}, + /* [311] = 4191 */ { 16, ~0}, + /* [312] = 4192 */ { 16, ~0}, + /* [313] = 4193 */ { 12, ~0}, + /* [314] = 4194 */ { 16, ~0}, + /* [315] = 4195 */ { 20, ~0}, + /* [316] = 4196 */ { 24, ~0}, + /* [317] = 4197 */ { 16, ~0}, + /* [318] = 4198 */ { 24, ~0}, + /* [319] = 4199 */ { 32, ~0}, + /* [320] = 4200 */ { 40, ~0}, + /* [321] = 4201 */ { 12, ~0}, + /* [322] = 4202 */ { 12, 55}, + /* [323] = 4203 */ { 12, 56}, + /* [324] = 4204 */ { 12, 57}, + /* [325] = 4205 */ { 12, 58}, + /* [326] = 4206 */ { 12, 59}, + /* [327] = 4207 */ { 12, 60}, + /* [328] = 4208 */ { 12, 61}, + /* [329] = 4209 */ { 12, 62}, + /* [330] = 4210 */ { 12, 63}, + /* [331] = 4211 */ { 12, 64}, + /* [332] = 4212 */ { 12, 65}, + /* [333] = 4213 */ { 12, 66}, + /* [334] = 4214 */ { 12, 67}, + /* [335] = 4215 */ { 28, ~0}, + /* [336] = 4216 */ { 44, ~0}, + /* [337] = 4217 */ { 16, 68}, + /* [338] = 4218 */ { 28, 69}, + /* [339] = 4219 */ { 44, 70}, + /* [340] = 4220 */ { 8, ~0}, + /* [341] = 4221 */ { 12, ~0}, + /* [342] = 4222 */ { 8, 71}, + /* [343] = 4223 */ { 0, ~0}, + /* [344] = 4224 */ { 0, ~0}, + /* [345] = 4225 */ { 0, ~0}, + /* [346] = 4226 */ { 0, ~0}, + /* [347] = 4227 */ { 0, ~0}, + /* [348] = 4228 */ { 12, ~0}, + /* [349] = 4229 */ { 0, ~0}, + /* [350] = 4230 */ { 12, ~0}, + /* [351] = 4231 */ { 24, ~0}, + /* [352] = 4232 */ { 12, ~0}, + /* [353] = 4233 */ { 16, ~0}, + /* [354] = 4234 */ { 24, ~0}, + /* [355] = 4235 */ { 12, ~0}, + /* [356] = 4236 */ { 16, ~0}, + /* [357] = 4237 */ { 24, ~0}, + /* [358] = 4238 */ { 16, ~0}, + /* [359] = 4239 */ { 24, ~0}, + /* [360] = 4128 */ { 16, ~0}, + /* [361] = 4129 */ { 16, ~0}, + /* [362] = 4130 */ { 28, ~0}, + /* [363] = 4131 */ { 8, ~0}, + /* [364] = 4132 */ { 12, ~0}, + /* [365] = 4133 */ { 16, ~0}, + /* [366] = 4134 */ { 20, ~0}, + /* [367] = 4135 */ { 0, ~0}, + /* [368] = 4264 */ { 0, ~0}, + /* [369] = 4265 */ { 12, ~0}, + /* [370] = 4266 */ { 12, ~0}, + /* [371] = 4267 */ { 16, ~0}, + /* [372] = 4268 */ { 16, ~0}, + /* [373] = 4269 */ { 12, ~0}, + /* [374] = 4270 */ { 16, ~0}, + /* [375] = 4271 */ { 20, ~0}, + /* [376] = 4272 */ { 24, ~0}, + /* [377] = 4273 */ { 16, ~0}, + /* [378] = 4274 */ { 24, ~0}, + /* [379] = 4275 */ { 32, ~0}, + /* [380] = 4276 */ { 40, ~0}, + /* [381] = 4277 */ { 12, ~0}, + /* [382] = 4278 */ { 0, ~0}, + /* [383] = 4279 */ { 0, ~0}, + /* [384] = 4312 */ { 0, ~0}, + /* [385] = 4313 */ { 0, ~0}, + /* [386] = 4314 */ { 0, ~0}, + /* [387] = 4315 */ { 0, ~0}, + /* [388] = 4316 */ { 12, ~0}, + /* [389] = 4317 */ { 8, 72}, + /* [390] = 4318 */ { 20, ~0}, + /* [391] = 4319 */ { 12, ~0}, + /* [392] = 4320 */ { 8, 73}, + /* [393] = 4321 */ { 24, ~0}, + /* [394] = 4322 */ { 24, ~0}, + /* [395] = 4323 */ { 28, ~0}, + /* [396] = 4324 */ { 20, ~0}, + /* [397] = 4325 */ { 8, ~0}, + /* [398] = 4326 */ { 0, ~0}, + /* [399] = 4327 */ { 0, ~0}, +}; + +static const gl_proto_size_func Render_size_func_table[74] = { + __glXCallListsReqSize, + __glXBitmapReqSize, + __glXFogfvReqSize, + __glXFogivReqSize, + __glXLightfvReqSize, + __glXLightivReqSize, + __glXLightModelfvReqSize, + __glXLightModelivReqSize, + __glXMaterialfvReqSize, + __glXMaterialivReqSize, + __glXPolygonStippleReqSize, + __glXTexParameterfvReqSize, + __glXTexParameterivReqSize, + __glXTexImage1DReqSize, + __glXTexImage2DReqSize, + __glXTexEnvfvReqSize, + __glXTexEnvivReqSize, + __glXTexGendvReqSize, + __glXTexGenfvReqSize, + __glXTexGenivReqSize, + __glXMap1dReqSize, + __glXMap1fReqSize, + __glXMap2dReqSize, + __glXMap2fReqSize, + __glXPixelMapfvReqSize, + __glXPixelMapuivReqSize, + __glXPixelMapusvReqSize, + __glXDrawPixelsReqSize, + __glXDrawArraysReqSize, + __glXColorSubTableReqSize, + __glXCompressedTexImage1DARBReqSize, + __glXCompressedTexImage2DARBReqSize, + __glXCompressedTexImage3DARBReqSize, + __glXCompressedTexSubImage1DARBReqSize, + __glXCompressedTexSubImage2DARBReqSize, + __glXCompressedTexSubImage3DARBReqSize, + __glXDrawBuffersARBReqSize, + __glXColorTableReqSize, + __glXColorTableParameterfvReqSize, + __glXColorTableParameterivReqSize, + __glXPointParameterfvEXTReqSize, + __glXTexSubImage1DReqSize, + __glXTexSubImage2DReqSize, + __glXConvolutionFilter1DReqSize, + __glXConvolutionFilter2DReqSize, + __glXConvolutionParameterfvReqSize, + __glXConvolutionParameterivReqSize, + __glXSeparableFilter2DReqSize, + __glXTexImage3DReqSize, + __glXTexSubImage3DReqSize, + __glXPrioritizeTexturesReqSize, + __glXRequestResidentProgramsNVReqSize, + __glXLoadProgramNVReqSize, + __glXProgramParameters4fvNVReqSize, + __glXProgramParameters4dvNVReqSize, + __glXVertexAttribs1svNVReqSize, + __glXVertexAttribs2svNVReqSize, + __glXVertexAttribs3svNVReqSize, + __glXVertexAttribs4svNVReqSize, + __glXVertexAttribs1fvNVReqSize, + __glXVertexAttribs2fvNVReqSize, + __glXVertexAttribs3fvNVReqSize, + __glXVertexAttribs4fvNVReqSize, + __glXVertexAttribs1dvNVReqSize, + __glXVertexAttribs2dvNVReqSize, + __glXVertexAttribs3dvNVReqSize, + __glXVertexAttribs4dvNVReqSize, + __glXVertexAttribs4ubvNVReqSize, + __glXProgramStringARBReqSize, + __glXProgramNamedParameter4fvNVReqSize, + __glXProgramNamedParameter4dvNVReqSize, + __glXPointParameterivNVReqSize, + __glXDeleteRenderbuffersEXTReqSize, + __glXDeleteFramebuffersEXTReqSize, +}; + +const struct __glXDispatchInfo Render_dispatch_info = { + 13, + Render_dispatch_tree, + Render_function_table, + Render_size_table, + Render_size_func_table +}; + +/*****************************************************************/ +/* tree depth = 12 */ +static const int_fast16_t VendorPriv_dispatch_tree[152] = { + /* [0] -> opcode range [0, 131072], node depth 1 */ + 2, + 5, + EMPTY_LEAF, + 119, + EMPTY_LEAF, + + /* [5] -> opcode range [0, 32768], node depth 2 */ + 1, + 8, + EMPTY_LEAF, + + /* [8] -> opcode range [0, 16384], node depth 3 */ + 1, + 11, + EMPTY_LEAF, + + /* [11] -> opcode range [0, 8192], node depth 4 */ + 2, + 16, + EMPTY_LEAF, + 78, + EMPTY_LEAF, + + /* [16] -> opcode range [0, 2048], node depth 5 */ + 2, + 21, + EMPTY_LEAF, + 36, + EMPTY_LEAF, + + /* [21] -> opcode range [0, 512], node depth 6 */ + 1, + 24, + EMPTY_LEAF, + + /* [24] -> opcode range [0, 256], node depth 7 */ + 1, + 27, + EMPTY_LEAF, + + /* [27] -> opcode range [0, 128], node depth 8 */ + 1, + 30, + EMPTY_LEAF, + + /* [30] -> opcode range [0, 64], node depth 9 */ + 1, + 33, + EMPTY_LEAF, + + /* [33] -> opcode range [0, 32], node depth 10 */ + 1, + LEAF(0), + EMPTY_LEAF, + + /* [36] -> opcode range [1024, 1536], node depth 6 */ + 2, + 41, + EMPTY_LEAF, + 53, + 67, + + /* [41] -> opcode range [1024, 1152], node depth 7 */ + 1, + 44, + EMPTY_LEAF, + + /* [44] -> opcode range [1024, 1088], node depth 8 */ + 1, + 47, + EMPTY_LEAF, + + /* [47] -> opcode range [1024, 1056], node depth 9 */ + 1, + 50, + EMPTY_LEAF, + + /* [50] -> opcode range [1024, 1040], node depth 10 */ + 1, + LEAF(16), + EMPTY_LEAF, + + /* [53] -> opcode range [1280, 1408], node depth 7 */ + 1, + 56, + EMPTY_LEAF, + + /* [56] -> opcode range [1280, 1344], node depth 8 */ + 2, + 61, + LEAF(24), + EMPTY_LEAF, + 64, + + /* [61] -> opcode range [1280, 1296], node depth 9 */ + 1, + EMPTY_LEAF, + LEAF(40), + + /* [64] -> opcode range [1328, 1344], node depth 9 */ + 1, + LEAF(48), + EMPTY_LEAF, + + /* [67] -> opcode range [1408, 1536], node depth 7 */ + 1, + 70, + EMPTY_LEAF, + + /* [70] -> opcode range [1408, 1472], node depth 8 */ + 1, + 73, + EMPTY_LEAF, + + /* [73] -> opcode range [1408, 1440], node depth 9 */ + 2, + EMPTY_LEAF, + LEAF(56), + LEAF(64), + EMPTY_LEAF, + + /* [78] -> opcode range [4096, 6144], node depth 5 */ + 2, + 83, + EMPTY_LEAF, + 101, + EMPTY_LEAF, + + /* [83] -> opcode range [4096, 4608], node depth 6 */ + 1, + 86, + EMPTY_LEAF, + + /* [86] -> opcode range [4096, 4352], node depth 7 */ + 1, + 89, + EMPTY_LEAF, + + /* [89] -> opcode range [4096, 4224], node depth 8 */ + 1, + 92, + EMPTY_LEAF, + + /* [92] -> opcode range [4096, 4160], node depth 9 */ + 1, + 95, + EMPTY_LEAF, + + /* [95] -> opcode range [4096, 4128], node depth 10 */ + 1, + 98, + EMPTY_LEAF, + + /* [98] -> opcode range [4096, 4112], node depth 11 */ + 1, + LEAF(72), + EMPTY_LEAF, + + /* [101] -> opcode range [5120, 5632], node depth 6 */ + 1, + 104, + EMPTY_LEAF, + + /* [104] -> opcode range [5120, 5376], node depth 7 */ + 1, + 107, + EMPTY_LEAF, + + /* [107] -> opcode range [5120, 5248], node depth 8 */ + 1, + 110, + EMPTY_LEAF, + + /* [110] -> opcode range [5120, 5184], node depth 9 */ + 1, + EMPTY_LEAF, + 113, + + /* [113] -> opcode range [5152, 5184], node depth 10 */ + 1, + 116, + EMPTY_LEAF, + + /* [116] -> opcode range [5152, 5168], node depth 11 */ + 1, + LEAF(80), + EMPTY_LEAF, + + /* [119] -> opcode range [65536, 98304], node depth 2 */ + 1, + 122, + EMPTY_LEAF, + + /* [122] -> opcode range [65536, 81920], node depth 3 */ + 1, + 125, + EMPTY_LEAF, + + /* [125] -> opcode range [65536, 73728], node depth 4 */ + 1, + 128, + EMPTY_LEAF, + + /* [128] -> opcode range [65536, 69632], node depth 5 */ + 1, + 131, + EMPTY_LEAF, + + /* [131] -> opcode range [65536, 67584], node depth 6 */ + 1, + 134, + EMPTY_LEAF, + + /* [134] -> opcode range [65536, 66560], node depth 7 */ + 1, + 137, + EMPTY_LEAF, + + /* [137] -> opcode range [65536, 66048], node depth 8 */ + 1, + 140, + EMPTY_LEAF, + + /* [140] -> opcode range [65536, 65792], node depth 9 */ + 1, + 143, + EMPTY_LEAF, + + /* [143] -> opcode range [65536, 65664], node depth 10 */ + 1, + 146, + EMPTY_LEAF, + + /* [146] -> opcode range [65536, 65600], node depth 11 */ + 1, + 149, + EMPTY_LEAF, + + /* [149] -> opcode range [65536, 65568], node depth 12 */ + 1, + LEAF(88), + EMPTY_LEAF, + +}; + +static const void *VendorPriv_function_table[104][2] = { + /* [ 0] = 0 */ {NULL, NULL}, + /* [ 1] = 1 */ {__glXDisp_GetConvolutionFilterEXT, __glXDispSwap_GetConvolutionFilterEXT}, + /* [ 2] = 2 */ {__glXDisp_GetConvolutionParameterfvEXT, __glXDispSwap_GetConvolutionParameterfvEXT}, + /* [ 3] = 3 */ {__glXDisp_GetConvolutionParameterivEXT, __glXDispSwap_GetConvolutionParameterivEXT}, + /* [ 4] = 4 */ {__glXDisp_GetSeparableFilterEXT, __glXDispSwap_GetSeparableFilterEXT}, + /* [ 5] = 5 */ {__glXDisp_GetHistogramEXT, __glXDispSwap_GetHistogramEXT}, + /* [ 6] = 6 */ {__glXDisp_GetHistogramParameterfvEXT, __glXDispSwap_GetHistogramParameterfvEXT}, + /* [ 7] = 7 */ {__glXDisp_GetHistogramParameterivEXT, __glXDispSwap_GetHistogramParameterivEXT}, + /* [ 8] = 8 */ {__glXDisp_GetMinmaxEXT, __glXDispSwap_GetMinmaxEXT}, + /* [ 9] = 9 */ {__glXDisp_GetMinmaxParameterfvEXT, __glXDispSwap_GetMinmaxParameterfvEXT}, + /* [ 10] = 10 */ {__glXDisp_GetMinmaxParameterivEXT, __glXDispSwap_GetMinmaxParameterivEXT}, + /* [ 11] = 11 */ {__glXDisp_AreTexturesResidentEXT, __glXDispSwap_AreTexturesResidentEXT}, + /* [ 12] = 12 */ {__glXDisp_DeleteTexturesEXT, __glXDispSwap_DeleteTexturesEXT}, + /* [ 13] = 13 */ {__glXDisp_GenTexturesEXT, __glXDispSwap_GenTexturesEXT}, + /* [ 14] = 14 */ {__glXDisp_IsTextureEXT, __glXDispSwap_IsTextureEXT}, + /* [ 15] = 15 */ {NULL, NULL}, + /* [ 16] = 1024 */ {__glXDisp_QueryContextInfoEXT, __glXDispSwap_QueryContextInfoEXT}, + /* [ 17] = 1025 */ {NULL, NULL}, + /* [ 18] = 1026 */ {NULL, NULL}, + /* [ 19] = 1027 */ {NULL, NULL}, + /* [ 20] = 1028 */ {NULL, NULL}, + /* [ 21] = 1029 */ {NULL, NULL}, + /* [ 22] = 1030 */ {NULL, NULL}, + /* [ 23] = 1031 */ {NULL, NULL}, + /* [ 24] = 1296 */ {__glXDisp_GetProgramEnvParameterfvARB, __glXDispSwap_GetProgramEnvParameterfvARB}, + /* [ 25] = 1297 */ {__glXDisp_GetProgramEnvParameterdvARB, __glXDispSwap_GetProgramEnvParameterdvARB}, + /* [ 26] = 1298 */ {__glXDisp_GetProgramivNV, __glXDispSwap_GetProgramivNV}, + /* [ 27] = 1299 */ {__glXDisp_GetProgramStringNV, __glXDispSwap_GetProgramStringNV}, + /* [ 28] = 1300 */ {__glXDisp_GetTrackMatrixivNV, __glXDispSwap_GetTrackMatrixivNV}, + /* [ 29] = 1301 */ {__glXDisp_GetVertexAttribdvARB, __glXDispSwap_GetVertexAttribdvARB}, + /* [ 30] = 1302 */ {__glXDisp_GetVertexAttribfvNV, __glXDispSwap_GetVertexAttribfvNV}, + /* [ 31] = 1303 */ {__glXDisp_GetVertexAttribivNV, __glXDispSwap_GetVertexAttribivNV}, + /* [ 32] = 1304 */ {__glXDisp_IsProgramNV, __glXDispSwap_IsProgramNV}, + /* [ 33] = 1305 */ {__glXDisp_GetProgramLocalParameterfvARB, __glXDispSwap_GetProgramLocalParameterfvARB}, + /* [ 34] = 1306 */ {__glXDisp_GetProgramLocalParameterdvARB, __glXDispSwap_GetProgramLocalParameterdvARB}, + /* [ 35] = 1307 */ {__glXDisp_GetProgramivARB, __glXDispSwap_GetProgramivARB}, + /* [ 36] = 1308 */ {__glXDisp_GetProgramStringARB, __glXDispSwap_GetProgramStringARB}, + /* [ 37] = 1309 */ {NULL, NULL}, + /* [ 38] = 1310 */ {__glXDisp_GetProgramNamedParameterfvNV, __glXDispSwap_GetProgramNamedParameterfvNV}, + /* [ 39] = 1311 */ {__glXDisp_GetProgramNamedParameterdvNV, __glXDispSwap_GetProgramNamedParameterdvNV}, + /* [ 40] = 1288 */ {NULL, NULL}, + /* [ 41] = 1289 */ {NULL, NULL}, + /* [ 42] = 1290 */ {NULL, NULL}, + /* [ 43] = 1291 */ {NULL, NULL}, + /* [ 44] = 1292 */ {NULL, NULL}, + /* [ 45] = 1293 */ {__glXDisp_AreProgramsResidentNV, __glXDispSwap_AreProgramsResidentNV}, + /* [ 46] = 1294 */ {__glXDisp_DeleteProgramsNV, __glXDispSwap_DeleteProgramsNV}, + /* [ 47] = 1295 */ {__glXDisp_GenProgramsNV, __glXDispSwap_GenProgramsNV}, + /* [ 48] = 1328 */ {NULL, NULL}, + /* [ 49] = 1329 */ {NULL, NULL}, + /* [ 50] = 1330 */ {__glXDisp_BindTexImageEXT, __glXDispSwap_BindTexImageEXT}, + /* [ 51] = 1331 */ {__glXDisp_ReleaseTexImageEXT, __glXDispSwap_ReleaseTexImageEXT}, + /* [ 52] = 1332 */ {NULL, NULL}, + /* [ 53] = 1333 */ {NULL, NULL}, + /* [ 54] = 1334 */ {NULL, NULL}, + /* [ 55] = 1335 */ {NULL, NULL}, + /* [ 56] = 1416 */ {NULL, NULL}, + /* [ 57] = 1417 */ {NULL, NULL}, + /* [ 58] = 1418 */ {NULL, NULL}, + /* [ 59] = 1419 */ {NULL, NULL}, + /* [ 60] = 1420 */ {NULL, NULL}, + /* [ 61] = 1421 */ {NULL, NULL}, + /* [ 62] = 1422 */ {__glXDisp_IsRenderbufferEXT, __glXDispSwap_IsRenderbufferEXT}, + /* [ 63] = 1423 */ {__glXDisp_GenRenderbuffersEXT, __glXDispSwap_GenRenderbuffersEXT}, + /* [ 64] = 1424 */ {__glXDisp_GetRenderbufferParameterivEXT, __glXDispSwap_GetRenderbufferParameterivEXT}, + /* [ 65] = 1425 */ {__glXDisp_IsFramebufferEXT, __glXDispSwap_IsFramebufferEXT}, + /* [ 66] = 1426 */ {__glXDisp_GenFramebuffersEXT, __glXDispSwap_GenFramebuffersEXT}, + /* [ 67] = 1427 */ {__glXDisp_CheckFramebufferStatusEXT, __glXDispSwap_CheckFramebufferStatusEXT}, + /* [ 68] = 1428 */ {__glXDisp_GetFramebufferAttachmentParameterivEXT, __glXDispSwap_GetFramebufferAttachmentParameterivEXT}, + /* [ 69] = 1429 */ {NULL, NULL}, + /* [ 70] = 1430 */ {NULL, NULL}, + /* [ 71] = 1431 */ {NULL, NULL}, + /* [ 72] = 4096 */ {NULL, NULL}, + /* [ 73] = 4097 */ {NULL, NULL}, + /* [ 74] = 4098 */ {__glXDisp_GetColorTableSGI, __glXDispSwap_GetColorTableSGI}, + /* [ 75] = 4099 */ {__glXDisp_GetColorTableParameterfvSGI, __glXDispSwap_GetColorTableParameterfvSGI}, + /* [ 76] = 4100 */ {__glXDisp_GetColorTableParameterivSGI, __glXDispSwap_GetColorTableParameterivSGI}, + /* [ 77] = 4101 */ {NULL, NULL}, + /* [ 78] = 4102 */ {NULL, NULL}, + /* [ 79] = 4103 */ {NULL, NULL}, + /* [ 80] = 5152 */ {NULL, NULL}, + /* [ 81] = 5153 */ {NULL, NULL}, + /* [ 82] = 5154 */ {__glXDisp_CopySubBufferMESA, __glXDispSwap_CopySubBufferMESA}, + /* [ 83] = 5155 */ {NULL, NULL}, + /* [ 84] = 5156 */ {NULL, NULL}, + /* [ 85] = 5157 */ {NULL, NULL}, + /* [ 86] = 5158 */ {NULL, NULL}, + /* [ 87] = 5159 */ {NULL, NULL}, + /* [ 88] = 65536 */ {__glXDisp_SwapIntervalSGI, __glXDispSwap_SwapIntervalSGI}, + /* [ 89] = 65537 */ {__glXDisp_MakeCurrentReadSGI, __glXDispSwap_MakeCurrentReadSGI}, + /* [ 90] = 65538 */ {NULL, NULL}, + /* [ 91] = 65539 */ {NULL, NULL}, + /* [ 92] = 65540 */ {__glXDisp_GetFBConfigsSGIX, __glXDispSwap_GetFBConfigsSGIX}, + /* [ 93] = 65541 */ {__glXDisp_CreateContextWithConfigSGIX, __glXDispSwap_CreateContextWithConfigSGIX}, + /* [ 94] = 65542 */ {__glXDisp_CreateGLXPixmapWithConfigSGIX, __glXDispSwap_CreateGLXPixmapWithConfigSGIX}, + /* [ 95] = 65543 */ {__glXDisp_CreateGLXPbufferSGIX, __glXDispSwap_CreateGLXPbufferSGIX}, + /* [ 96] = 65544 */ {__glXDisp_DestroyGLXPbufferSGIX, __glXDispSwap_DestroyGLXPbufferSGIX}, + /* [ 97] = 65545 */ {__glXDisp_ChangeDrawableAttributesSGIX, __glXDispSwap_ChangeDrawableAttributesSGIX}, + /* [ 98] = 65546 */ {__glXDisp_GetDrawableAttributesSGIX, __glXDispSwap_GetDrawableAttributesSGIX}, + /* [ 99] = 65547 */ {NULL, NULL}, + /* [ 100] = 65548 */ {NULL, NULL}, + /* [ 101] = 65549 */ {NULL, NULL}, + /* [ 102] = 65550 */ {NULL, NULL}, + /* [ 103] = 65551 */ {NULL, NULL}, +}; + +const struct __glXDispatchInfo VendorPriv_dispatch_info = { + 17, + VendorPriv_dispatch_tree, + VendorPriv_function_table, + NULL, + NULL +}; + diff --git a/xorg-server/glx/xfont.c b/xorg-server/glx/xfont.c index 73b546d0e..9cd440a85 100644 --- a/xorg-server/glx/xfont.c +++ b/xorg-server/glx/xfont.c @@ -35,7 +35,6 @@ #include "glxserver.h" #include "glxutil.h" #include "unpack.h" -#include "g_disptab.h" #include "glapitable.h" #include "glapi.h" #include "glthread.h" diff --git a/xorg-server/hw/dmx/dmxpict.c b/xorg-server/hw/dmx/dmxpict.c index 18ac85c03..25d923f01 100644 --- a/xorg-server/hw/dmx/dmxpict.c +++ b/xorg-server/hw/dmx/dmxpict.c @@ -1011,8 +1011,6 @@ void dmxValidatePicture(PicturePtr pPicture, Mask mask) attribs.poly_edge = pPicture->polyEdge; if (mask & CPPolyMode) attribs.poly_mode = pPicture->polyMode; - if (mask & CPDither) - attribs.dither = pPicture->dither; if (mask & CPComponentAlpha) attribs.component_alpha = pPicture->componentAlpha; diff --git a/xorg-server/hw/dmx/dmxscrinit.c b/xorg-server/hw/dmx/dmxscrinit.c index 7504610bd..8582d2ceb 100644 --- a/xorg-server/hw/dmx/dmxscrinit.c +++ b/xorg-server/hw/dmx/dmxscrinit.c @@ -283,8 +283,6 @@ Bool dmxScreenInit(int idx, ScreenPtr pScreen, int argc, char *argv[]) if (dmxShadowFB && !shadowInit(pScreen, dmxShadowUpdateProc, NULL)) return FALSE; - miInitializeBackingStore(pScreen); - if (dmxShadowFB) { miDCInitialize(pScreen, &dmxPointerCursorFuncs); } else { diff --git a/xorg-server/hw/kdrive/src/kdrive.c b/xorg-server/hw/kdrive/src/kdrive.c index 5c8819c73..7f42248c0 100644 --- a/xorg-server/hw/kdrive/src/kdrive.c +++ b/xorg-server/hw/kdrive/src/kdrive.c @@ -1022,12 +1022,6 @@ KdScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) fbInitValidateTree (pScreen); #endif -#if 0 - pScreen->backingStoreSupport = Always; - miInitializeBackingStore (pScreen); -#endif - - /* * Wrap CloseScreen, the order now is: * KdCloseScreen diff --git a/xorg-server/hw/vfb/InitOutput.c b/xorg-server/hw/vfb/InitOutput.c index 0172f4fbf..04253dc5a 100644 --- a/xorg-server/hw/vfb/InitOutput.c +++ b/xorg-server/hw/vfb/InitOutput.c @@ -875,13 +875,6 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv) if (!ret) return FALSE; - miInitializeBackingStore(pScreen); - - /* - * Circumvent the backing store that was just initialised. This amounts - * to a truely bizarre way of initialising SaveDoomedAreas and friends. - */ - pScreen->InstallColormap = vfbInstallColormap; pScreen->UninstallColormap = vfbUninstallColormap; pScreen->ListInstalledColormaps = vfbListInstalledColormaps; diff --git a/xorg-server/hw/xfree86/Makefile.am b/xorg-server/hw/xfree86/Makefile.am index 116113b1a..c948afdcf 100644 --- a/xorg-server/hw/xfree86/Makefile.am +++ b/xorg-server/hw/xfree86/Makefile.am @@ -1,120 +1,120 @@ -include $(top_srcdir)/cpprules.in - -if DRI -DRI_SUBDIR = dri -endif - -if DRI2 -DRI2_SUBDIR = dri2 -endif - -if XF86UTILS -XF86UTILS_SUBDIR = utils -endif - -if XAA -XAA_SUBDIR = xaa -endif - -if VGAHW -VGAHW_SUBDIR = vgahw -endif - -if VBE -VBE_SUBDIR = vbe -endif - -if INT10MODULE -INT10_SUBDIR = int10 -endif - -DOC_SUBDIR = doc - -SUBDIRS = common ddc i2c x86emu $(INT10_SUBDIR) fbdevhw os-support parser \ - ramdac shadowfb $(VBE_SUBDIR) $(VGAHW_SUBDIR) $(XAA_SUBDIR) \ - xf8_16bpp loader dixmods exa modes \ - $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR) - -DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ - parser ramdac shadowfb vbe vgahw xaa \ - xf8_16bpp loader dixmods dri dri2 exa modes \ - utils doc - -bin_PROGRAMS = Xorg -Xorg_SOURCES = xorg.c - -AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ -INCLUDES = @XORG_INCS@ - -noinst_LTLIBRARIES = libxorg.la -libxorg_la_SOURCES = libxorg.c -libxorg_la_LIBADD = \ - $(XSERVER_LIBS) \ - loader/libloader.la \ - os-support/libxorgos.la \ - common/libcommon.la \ - parser/libxf86config_internal.la \ - dixmods/libdixmods.la \ - modes/libxf86modes.la \ - ramdac/libramdac.la \ - ddc/libddc.la \ - i2c/libi2c.la \ - dixmods/libxorgxkb.la \ - $(top_builddir)/mi/libmi.la \ - $(top_builddir)/os/libos.la \ - @XORG_LIBS@ - -libxorg_la_DEPENDENCIES = $(libxorg_la_LIBADD) - -libxorg.c xorg.c: - touch $@ - -DISTCLEANFILES = libxorg.c xorg.c - -Xorg_DEPENDENCIES = libxorg.la -Xorg_LDADD = $(MAIN_LIB) libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) - -Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) - -BUILT_SOURCES = xorg.conf.example -DISTCLEANFILES += xorg.conf.example xorg.conf.example.pre -EXTRA_DIST = xorgconf.cpp - -if SPECIAL_DTRACE_OBJECTS -# Re-add dtrace object code that gets lost when building static libraries -Xorg_LDADD += $(XSERVER_LIBS) -endif - -if SOLARIS_ASM_INLINE -# Needs to be built before any files are compiled when using Sun compilers -# so in*/out* inline definitions are properly processed. - -BUILT_SOURCES += os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il - -os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il: - cd os-support/solaris ; \ - $(MAKE) $(AM_MAKEFLAGS) solaris-@SOLARIS_INOUT_ARCH@.il -endif - -# do not use $(mkdir_p) if you want automake 1.7 to work -install-data-local: - mkdir -p $(DESTDIR)$(logdir) - - -install-exec-local: install-binPROGRAMS - (cd $(DESTDIR)$(bindir) && rm -f X && ln -s Xorg X) -if INSTALL_SETUID - chown root $(DESTDIR)$(bindir)/Xorg - chmod u+s $(DESTDIR)$(bindir)/Xorg -endif - -CPP_FILES_FLAGS = \ - $(MANDEFS) \ - -DDEFAULTFONTPATH="\"$(COMPILEDDEFAULTFONTPATH)\"" \ - -DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\" - -relink: - $(AM_V_at)rm -f Xorg && $(MAKE) Xorg - -xorg.conf.example.pre: xorgconf.cpp - cp $(srcdir)/xorgconf.cpp $@ +include $(top_srcdir)/cpprules.in + +if DRI +DRI_SUBDIR = dri +endif + +if DRI2 +DRI2_SUBDIR = dri2 +endif + +if XF86UTILS +XF86UTILS_SUBDIR = utils +endif + +if XAA +XAA_SUBDIR = xaa +endif + +if VGAHW +VGAHW_SUBDIR = vgahw +endif + +if VBE +VBE_SUBDIR = vbe +endif + +if INT10MODULE +INT10_SUBDIR = int10 +endif + +DOC_SUBDIR = doc + +SUBDIRS = common ddc i2c x86emu $(INT10_SUBDIR) fbdevhw os-support parser \ + ramdac shadowfb $(VBE_SUBDIR) $(VGAHW_SUBDIR) $(XAA_SUBDIR) \ + loader dixmods exa modes \ + $(DRI_SUBDIR) $(DRI2_SUBDIR) $(XF86UTILS_SUBDIR) $(DOC_SUBDIR) + +DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ + parser ramdac shadowfb vbe vgahw xaa \ + loader dixmods dri dri2 exa modes \ + utils doc + +bin_PROGRAMS = Xorg +Xorg_SOURCES = xorg.c + +AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ +INCLUDES = @XORG_INCS@ + +noinst_LTLIBRARIES = libxorg.la +libxorg_la_SOURCES = libxorg.c +libxorg_la_LIBADD = \ + $(XSERVER_LIBS) \ + loader/libloader.la \ + os-support/libxorgos.la \ + common/libcommon.la \ + parser/libxf86config_internal.la \ + dixmods/libdixmods.la \ + modes/libxf86modes.la \ + ramdac/libramdac.la \ + ddc/libddc.la \ + i2c/libi2c.la \ + dixmods/libxorgxkb.la \ + $(top_builddir)/mi/libmi.la \ + $(top_builddir)/os/libos.la \ + @XORG_LIBS@ + +libxorg_la_DEPENDENCIES = $(libxorg_la_LIBADD) + +libxorg.c xorg.c: + touch $@ + +DISTCLEANFILES = libxorg.c xorg.c + +Xorg_DEPENDENCIES = libxorg.la +Xorg_LDADD = $(MAIN_LIB) libxorg.la $(XORG_SYS_LIBS) $(XSERVER_SYS_LIBS) + +Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) + +BUILT_SOURCES = xorg.conf.example +DISTCLEANFILES += xorg.conf.example xorg.conf.example.pre +EXTRA_DIST = xorgconf.cpp + +if SPECIAL_DTRACE_OBJECTS +# Re-add dtrace object code that gets lost when building static libraries +Xorg_LDADD += $(XSERVER_LIBS) +endif + +if SOLARIS_ASM_INLINE +# Needs to be built before any files are compiled when using Sun compilers +# so in*/out* inline definitions are properly processed. + +BUILT_SOURCES += os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il + +os-support/solaris/solaris-@SOLARIS_INOUT_ARCH@.il: + cd os-support/solaris ; \ + $(MAKE) $(AM_MAKEFLAGS) solaris-@SOLARIS_INOUT_ARCH@.il +endif + +# do not use $(mkdir_p) if you want automake 1.7 to work +install-data-local: + mkdir -p $(DESTDIR)$(logdir) + + +install-exec-local: install-binPROGRAMS + (cd $(DESTDIR)$(bindir) && rm -f X && ln -s Xorg X) +if INSTALL_SETUID + chown root $(DESTDIR)$(bindir)/Xorg + chmod u+s $(DESTDIR)$(bindir)/Xorg +endif + +CPP_FILES_FLAGS = \ + $(MANDEFS) \ + -DDEFAULTFONTPATH="\"$(COMPILEDDEFAULTFONTPATH)\"" \ + -DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\" + +relink: + $(AM_V_at)rm -f Xorg && $(MAKE) Xorg + +xorg.conf.example.pre: xorgconf.cpp + cp $(srcdir)/xorgconf.cpp $@ diff --git a/xorg-server/hw/xfree86/common/xf86.h b/xorg-server/hw/xfree86/common/xf86.h index 68653395b..c91020132 100644 --- a/xorg-server/hw/xfree86/common/xf86.h +++ b/xorg-server/hw/xfree86/common/xf86.h @@ -62,9 +62,6 @@ extern _X_EXPORT DevPrivateKeyRec xf86ScreenKeyRec; extern _X_EXPORT DevPrivateKeyRec xf86CreateRootWindowKeyRec; #define xf86CreateRootWindowKey (&xf86CreateRootWindowKeyRec) -extern _X_EXPORT DevPrivateKeyRec xf86PixmapKeyRec; -#define xf86PixmapKey (&xf86PixmapKeyRec) - extern _X_EXPORT ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */ extern _X_EXPORT const unsigned char byte_reversed[256]; extern _X_EXPORT Bool fbSlotClaimed; diff --git a/xorg-server/hw/xfree86/common/xf86Globals.c b/xorg-server/hw/xfree86/common/xf86Globals.c index 0b0931408..02f20f690 100644 --- a/xorg-server/hw/xfree86/common/xf86Globals.c +++ b/xorg-server/hw/xfree86/common/xf86Globals.c @@ -49,7 +49,6 @@ DevPrivateKeyRec xf86CreateRootWindowKeyRec; DevPrivateKeyRec xf86ScreenKeyRec; -DevPrivateKeyRec xf86PixmapKeyRec; ScrnInfoPtr *xf86Screens = NULL; /* List of ScrnInfos */ const unsigned char byte_reversed[256] = diff --git a/xorg-server/hw/xfree86/common/xf86Init.c b/xorg-server/hw/xfree86/common/xf86Init.c index aee1e8e33..a6740e69f 100644 --- a/xorg-server/hw/xfree86/common/xf86Init.c +++ b/xorg-server/hw/xfree86/common/xf86Init.c @@ -732,8 +732,7 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) FatalError("Cannot register DDX private keys"); if (!dixRegisterPrivateKey(&xf86ScreenKeyRec, PRIVATE_SCREEN, 0) || - !dixRegisterPrivateKey(&xf86CreateRootWindowKeyRec, PRIVATE_SCREEN, 0) || - !dixRegisterPrivateKey(&xf86PixmapKeyRec, PRIVATE_PIXMAP, 0)) + !dixRegisterPrivateKey(&xf86CreateRootWindowKeyRec, PRIVATE_SCREEN, 0)) FatalError("Cannot register DDX private keys"); for (i = 0; i < xf86NumScreens; i++) { diff --git a/xorg-server/hw/xfree86/common/xf86Mode.c b/xorg-server/hw/xfree86/common/xf86Mode.c index c3a190777..2ba5ea990 100644 --- a/xorg-server/hw/xfree86/common/xf86Mode.c +++ b/xorg-server/hw/xfree86/common/xf86Mode.c @@ -1402,6 +1402,7 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, strategy &= ~LOOKUP_OPTIONAL_TOLERANCES; } else { const char *type = ""; + Bool specified = FALSE; if (scrp->monitor->nHsync <= 0) { if (numTimings > 0) { @@ -1412,11 +1413,13 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, } } else { scrp->monitor->hsync[0].lo = 31.5; - scrp->monitor->hsync[0].hi = 37.9; + scrp->monitor->hsync[0].hi = 48.0; scrp->monitor->nHsync = 1; } type = "default "; - } + } else { + specified = TRUE; + } for (i = 0; i < scrp->monitor->nHsync; i++) { if (scrp->monitor->hsync[i].lo == scrp->monitor->hsync[i].hi) xf86DrvMsg(scrp->scrnIndex, X_INFO, @@ -1445,7 +1448,9 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, scrp->monitor->nVrefresh = 1; } type = "default "; - } + } else { + specified = TRUE; + } for (i = 0; i < scrp->monitor->nVrefresh; i++) { if (scrp->monitor->vrefresh[i].lo == scrp->monitor->vrefresh[i].hi) xf86DrvMsg(scrp->scrnIndex, X_INFO, @@ -1459,10 +1464,16 @@ xf86ValidateModes(ScrnInfoPtr scrp, DisplayModePtr availModes, scrp->monitor->vrefresh[i].lo, scrp->monitor->vrefresh[i].hi); } + + type = ""; + if (!scrp->monitor->maxPixClock && !specified) { + type = "default "; + scrp->monitor->maxPixClock = 65000.0; + } if (scrp->monitor->maxPixClock) { xf86DrvMsg(scrp->scrnIndex, X_INFO, - "%s: Using maximum pixel clock of %.2f MHz\n", - scrp->monitor->id, + "%s: Using %smaximum pixel clock of %.2f MHz\n", + scrp->monitor->id, type, (float)scrp->monitor->maxPixClock / 1000.0); } } diff --git a/xorg-server/hw/xfree86/doc/sgml/DESIGN.xml b/xorg-server/hw/xfree86/doc/sgml/DESIGN.xml index 52a104cbc..13e582877 100644 --- a/xorg-server/hw/xfree86/doc/sgml/DESIGN.xml +++ b/xorg-server/hw/xfree86/doc/sgml/DESIGN.xml @@ -1628,14 +1628,6 @@ Here is what InitOutput() does: - - Currently, aperture remapping, as described here, should not be - attempted if the driver uses the xf8_16bpp or - xf8_32bpp framebuffer layers. A pending - restructuring of VT switching will address this restriction in - the near future. - - Other layers may wrap the ChipEnterVT() and ChipLeaveVT() functions if they need to take some diff --git a/xorg-server/hw/xfree86/loader/sdksyms.sh b/xorg-server/hw/xfree86/loader/sdksyms.sh index 6c45ec45e..e9f8eda78 100644 --- a/xorg-server/hw/xfree86/loader/sdksyms.sh +++ b/xorg-server/hw/xfree86/loader/sdksyms.sh @@ -208,12 +208,6 @@ cat > sdksyms.c << EOF */ -/* hw/xfree86/xf8_16bpp/Makefile.am -- module */ -/* -#include "cfb8_16.h" - */ - - /* mi/Makefile.am */ #include "micmap.h" #include "miline.h" @@ -255,8 +249,6 @@ cat > sdksyms.c << EOF /* include/Makefile.am */ #include "XIstubs.h" -#include "bstore.h" -#include "bstorestr.h" #include "closestr.h" #include "closure.h" #include "colormap.h" diff --git a/xorg-server/hw/xfree86/modes/xf86Cursors.c b/xorg-server/hw/xfree86/modes/xf86Cursors.c index 6886ad7b2..5562f29cc 100644 --- a/xorg-server/hw/xfree86/modes/xf86Cursors.c +++ b/xorg-server/hw/xfree86/modes/xf86Cursors.c @@ -1,5 +1,6 @@ /* * Copyright © 2007 Keith Packard + * Copyright © 2010 Aaron Plattner * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -126,12 +127,33 @@ xf86_crtc_rotate_coord_back (Rotation rotation, *y_src = y_dst; } +struct cursor_bit { + CARD8 *byte; + char bitpos; +}; + /* * Convert an x coordinate to a position within the cursor bitmap */ -static int -cursor_bitpos (int flags, int x, Bool mask) +static struct cursor_bit +cursor_bitpos (CARD8 *image, xf86CursorInfoPtr cursor_info, int x, int y, + Bool mask) { + const int flags = cursor_info->Flags; + const Bool interleaved = + !!(flags & (HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_1 | + HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_8 | + HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_16 | + HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_32 | + HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64)); + const int width = cursor_info->MaxWidth; + const int height = cursor_info->MaxHeight; + const int stride = interleaved ? width / 4 : width / 8; + + struct cursor_bit ret; + + image += y * stride; + if (flags & HARDWARE_CURSOR_SWAP_SOURCE_AND_MASK) mask = !mask; if (flags & HARDWARE_CURSOR_NIBBLE_SWAPPED) @@ -149,29 +171,33 @@ cursor_bitpos (int flags, int x, Bool mask) x = ((x & ~31) << 1) | (mask << 5) | (x & 31); else if (flags & HARDWARE_CURSOR_SOURCE_MASK_INTERLEAVE_64) x = ((x & ~63) << 1) | (mask << 6) | (x & 63); - return x; + else if (mask) + image += stride * height; + + ret.byte = image + (x / 8); + ret.bitpos = x & 7; + + return ret; } /* * Fetch one bit from a cursor bitmap */ static CARD8 -get_bit (CARD8 *image, int stride, int flags, int x, int y, Bool mask) +get_bit (CARD8 *image, xf86CursorInfoPtr cursor_info, int x, int y, Bool mask) { - x = cursor_bitpos (flags, x, mask); - image += y * stride; - return (image[(x >> 3)] >> (x & 7)) & 1; + struct cursor_bit bit = cursor_bitpos(image, cursor_info, x, y, mask); + return (*bit.byte >> bit.bitpos) & 1; } /* * Set one bit in a cursor bitmap */ static void -set_bit (CARD8 *image, int stride, int flags, int x, int y, Bool mask) +set_bit (CARD8 *image, xf86CursorInfoPtr cursor_info, int x, int y, Bool mask) { - x = cursor_bitpos (flags, x, mask); - image += y * stride; - image[(x >> 3)] |= 1 << (x & 7); + struct cursor_bit bit = cursor_bitpos(image, cursor_info, x, y, mask); + *bit.byte |= 1 << bit.bitpos; } /* @@ -186,7 +212,6 @@ xf86_crtc_convert_cursor_to_argb (xf86CrtcPtr crtc, unsigned char *src) CARD32 *cursor_image = (CARD32 *) xf86_config->cursor_image; int x, y; int xin, yin; - int stride = cursor_info->MaxWidth >> 2; int flags = cursor_info->Flags; CARD32 bits; @@ -201,10 +226,10 @@ xf86_crtc_convert_cursor_to_argb (xf86CrtcPtr crtc, unsigned char *src) cursor_info->MaxWidth, cursor_info->MaxHeight, x, y, &xin, &yin); - if (get_bit (src, stride, flags, xin, yin, TRUE) == + if (get_bit (src, cursor_info, xin, yin, TRUE) == ((flags & HARDWARE_CURSOR_INVERT_MASK) == 0)) { - if (get_bit (src, stride, flags, xin, yin, FALSE)) + if (get_bit (src, cursor_info, xin, yin, FALSE)) bits = xf86_config->cursor_fg; else bits = xf86_config->cursor_bg; @@ -407,7 +432,6 @@ xf86_crtc_load_cursor_image (xf86CrtcPtr crtc, CARD8 *src) int x, y; int xin, yin; int stride = cursor_info->MaxWidth >> 2; - int flags = cursor_info->Flags; cursor_image = xf86_config->cursor_image; memset(cursor_image, 0, cursor_info->MaxHeight * stride); @@ -419,10 +443,10 @@ xf86_crtc_load_cursor_image (xf86CrtcPtr crtc, CARD8 *src) cursor_info->MaxWidth, cursor_info->MaxHeight, x, y, &xin, &yin); - if (get_bit(src, stride, flags, xin, yin, FALSE)) - set_bit(cursor_image, stride, flags, x, y, FALSE); - if (get_bit(src, stride, flags, xin, yin, TRUE)) - set_bit(cursor_image, stride, flags, x, y, TRUE); + if (get_bit(src, cursor_info, xin, yin, FALSE)) + set_bit(cursor_image, cursor_info, x, y, FALSE); + if (get_bit(src, cursor_info, xin, yin, TRUE)) + set_bit(cursor_image, cursor_info, x, y, TRUE); } } crtc->funcs->load_cursor_image (crtc, cursor_image); diff --git a/xorg-server/hw/xfree86/os-support/Makefile.am b/xorg-server/hw/xfree86/os-support/Makefile.am index 04997a6cb..c0504d5eb 100644 --- a/xorg-server/hw/xfree86/os-support/Makefile.am +++ b/xorg-server/hw/xfree86/os-support/Makefile.am @@ -1,26 +1,26 @@ -SUBDIRS = bus @XORG_OS_SUBDIR@ misc $(DRI_SUBDIRS) -DIST_SUBDIRS = bsd bus misc linux solaris sysv sco hurd - -sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h - -EXTRA_DIST = int10Defines.h xf86OSpriv.h - -# to get the grouping semantics right, you have to glom these three together -# as one library, otherwise libtool will actively defeat your attempts to -# list them multiple times on the link line. -noinst_LTLIBRARIES = libxorgos.la -libxorgos_la_SOURCES = xorgos.c -libxorgos_la_LIBADD = @XORG_OS_SUBDIR@/lib@XORG_OS_SUBDIR@.la \ - bus/libbus.la \ - misc/libmisc.la - -AM_CFLAGS = $(DIX_CFLAGS) - -xorgos.c: - touch $@ - -DISTCLEANFILES = xorgos.c - -# FIXME: These don't seem to be used anywhere -EXTRA_DIST += \ - shared/bios_devmem.c +SUBDIRS = bus @XORG_OS_SUBDIR@ misc $(DRI_SUBDIRS) +DIST_SUBDIRS = bsd bus misc linux solaris sco hurd + +sdk_HEADERS = xf86_OSproc.h xf86_OSlib.h + +EXTRA_DIST = int10Defines.h xf86OSpriv.h + +# to get the grouping semantics right, you have to glom these three together +# as one library, otherwise libtool will actively defeat your attempts to +# list them multiple times on the link line. +noinst_LTLIBRARIES = libxorgos.la +libxorgos_la_SOURCES = xorgos.c +libxorgos_la_LIBADD = @XORG_OS_SUBDIR@/lib@XORG_OS_SUBDIR@.la \ + bus/libbus.la \ + misc/libmisc.la + +AM_CFLAGS = $(DIX_CFLAGS) + +xorgos.c: + touch $@ + +DISTCLEANFILES = xorgos.c + +# FIXME: These don't seem to be used anywhere +EXTRA_DIST += \ + shared/bios_devmem.c diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_init.c b/xorg-server/hw/xfree86/os-support/linux/lnx_init.c index 7adf0ff73..d1f29d909 100644 --- a/xorg-server/hw/xfree86/os-support/linux/lnx_init.c +++ b/xorg-server/hw/xfree86/os-support/linux/lnx_init.c @@ -39,47 +39,14 @@ #include static Bool KeepTty = FALSE; -static int VTnum = -1; static Bool VTSwitch = TRUE; static Bool ShareVTs = FALSE; static int activeVT = -1; -static int vtPermSave[4]; static char vtname[11]; static struct termios tty_attr; /* tty state to restore */ static int tty_mode; /* kbd mode to restore */ -static int -saveVtPerms(void) -{ - /* We need to use stat to get permissions. */ - struct stat svtp; - - /* Do them numerically ordered, hard coded tty0 first. */ - if (stat("/dev/tty0", &svtp) != 0) - return 0; - vtPermSave[0] = (int)svtp.st_uid; - vtPermSave[1] = (int)svtp.st_gid; - - /* Now check the console we are dealing with. */ - if (stat(vtname, &svtp) != 0) - return 0; - vtPermSave[2] = (int)svtp.st_uid; - vtPermSave[3] = (int)svtp.st_gid; - - return 1; -} - -static void -restoreVtPerms(void) -{ - if (geteuid() == 0) { - /* Set the terminal permissions back to before we started. */ - (void)chown("/dev/tty0", vtPermSave[0], vtPermSave[1]); - (void)chown(vtname, vtPermSave[2], vtPermSave[3]); - } -} - static void *console_handler; static void @@ -92,6 +59,16 @@ drain_console(int fd, void *closure) } } +static void +switch_to(int vt, const char *from) +{ + if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, vt) < 0) + FatalError("%s: VT_ACTIVATE failed: %s\n", from, strerror(errno)); + + if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, vt) < 0) + FatalError("%s: VT_WAITACTIVE failed: %s\n", from, strerror(errno)); +} + void xf86OpenConsole(void) { @@ -112,8 +89,7 @@ xf86OpenConsole(void) /* * setup the virtual terminal manager */ - if (VTnum != -1) { - xf86Info.vtno = VTnum; + if (xf86Info.vtno != -1) { from = X_CMDLINE; } else { @@ -179,34 +155,6 @@ xf86OpenConsole(void) FatalError("xf86OpenConsole: Cannot open virtual console" " %d (%s)\n", xf86Info.vtno, strerror(errno)); - if (!ShareVTs) - { - /* - * Grab the vt ownership before we overwrite it. - * Hard coded /dev/tty0 into this function as well for below. - */ - if (!saveVtPerms()) - xf86Msg(X_WARNING, - "xf86OpenConsole: Could not save ownership of VT\n"); - - if (geteuid() == 0) { - /* change ownership of the vt */ - if (chown(vtname, getuid(), getgid()) < 0) - xf86Msg(X_WARNING,"xf86OpenConsole: chown %s failed: %s\n", - vtname, strerror(errno)); - - /* - * the current VT device we're running on is not - * "console", we want to grab all consoles too - * - * Why is this needed?? - */ - if (chown("/dev/tty0", getuid(), getgid()) < 0) - xf86Msg(X_WARNING,"xf86OpenConsole: chown /dev/tty0 failed: %s\n", - strerror(errno)); - } - } - /* * Linux doesn't switch to an active vt after the last close of a vt, * so we do this ourselves by remembering which is active now. @@ -236,13 +184,7 @@ xf86OpenConsole(void) /* * now get the VT. This _must_ succeed, or else fail completely. */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) < 0) - FatalError("xf86OpenConsole: VT_ACTIVATE failed: %s\n", - strerror(errno)); - - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) < 0) - FatalError("xf86OpenConsole: VT_WAITACTIVE failed: %s\n", - strerror(errno)); + switch_to(xf86Info.vtno, "xf86OpenConsole"); if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) FatalError("xf86OpenConsole: VT_GETMODE failed %s\n", @@ -289,16 +231,8 @@ xf86OpenConsole(void) } else { /* serverGeneration != 1 */ if (!ShareVTs && VTSwitch) { - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) < 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed %s\n", - strerror(errno)); - - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) < 0) - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed %s\n", - strerror(errno)); + /* now get the VT */ + switch_to(xf86Info.vtno, "xf86OpenConsole"); } } } @@ -343,19 +277,11 @@ xf86CloseConsole(void) * Perform a switch back to the active VT when we were started */ if (activeVT >= 0) { - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, activeVT) < 0) - xf86Msg(X_WARNING, "xf86CloseConsole: VT_ACTIVATE failed: %s\n", - strerror(errno)); - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, activeVT) < 0) - xf86Msg(X_WARNING, - "xf86CloseConsole: VT_WAITACTIVE failed: %s\n", - strerror(errno)); + switch_to(activeVT, "xf86CloseConsole"); activeVT = -1; } } close(xf86Info.consoleFd); /* make the vt-manager happy */ - - restoreVtPerms(); /* restore the permissions */ } int @@ -382,10 +308,10 @@ xf86ProcessArgument(int argc, char *argv[], int i) } if ((argv[i][0] == 'v') && (argv[i][1] == 't')) { - if (sscanf(argv[i], "vt%2d", &VTnum) == 0) + if (sscanf(argv[i], "vt%2d", &xf86Info.vtno) == 0) { UseMsg(); - VTnum = -1; + xf86Info.vtno = -1; return 0; } return 1; diff --git a/xorg-server/hw/xfree86/os-support/shared/VTsw_usl.c b/xorg-server/hw/xfree86/os-support/shared/VTsw_usl.c index 00bfb7151..769fa009c 100644 --- a/xorg-server/hw/xfree86/os-support/shared/VTsw_usl.c +++ b/xorg-server/hw/xfree86/os-support/shared/VTsw_usl.c @@ -31,10 +31,6 @@ #include "xf86Priv.h" #include "xf86_OSlib.h" -#ifdef OSHEADER -# include OSHEADER -#endif - /* * Handle the VT-switching interface for OSs that use USL-style ioctl()s * (the sysv, sco, and linux subdirs). @@ -63,16 +59,9 @@ xf86VTSwitchAway(void) { xf86Info.vtRequestsPending = FALSE; if (ioctl(xf86Info.consoleFd, VT_RELDISP, 1) < 0) - { return FALSE; - } else - { -#ifdef OSSWITCHAWAY - OSSWITCHAWAY; -#endif return TRUE; - } } Bool @@ -80,13 +69,9 @@ xf86VTSwitchTo(void) { xf86Info.vtRequestsPending = FALSE; if (ioctl(xf86Info.consoleFd, VT_RELDISP, VT_ACKACQ) < 0) - { return FALSE; - } else - { return TRUE; - } } Bool diff --git a/xorg-server/hw/xfree86/os-support/sysv/Makefile.am b/xorg-server/hw/xfree86/os-support/sysv/Makefile.am deleted file mode 100644 index e86e70ad1..000000000 --- a/xorg-server/hw/xfree86/os-support/sysv/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -EXTRA_DIST = sysv_init.c sysv_video.c diff --git a/xorg-server/hw/xfree86/os-support/sysv/sysv_init.c b/xorg-server/hw/xfree86/os-support/sysv/sysv_init.c deleted file mode 100644 index 3b94ac135..000000000 --- a/xorg-server/hw/xfree86/os-support/sysv/sysv_init.c +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany - * Copyright 1993 by David Wexelblat - * - * 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, and that the names of Thomas Roell and David Wexelblat - * not be used in advertising or publicity pertaining to distribution of - * the software without specific, written prior permission. Thomas Roell and - * David Wexelblat makes no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - * THOMAS ROELL AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO - * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID WEXELBLAT BE LIABLE FOR - * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF - * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include - -#include "compiler.h" - -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" - -static Bool KeepTty = FALSE; -#ifdef SVR4 -static Bool Protect0 = FALSE; -#endif -static int VTnum = -1; - - -void -xf86OpenConsole() -{ - int fd; - struct vt_mode VT; - char vtname1[10],vtname2[10]; - MessageType from = X_PROBED; - - if (serverGeneration == 1) - { - /* check if we're run with euid==0 */ - if (geteuid() != 0) - { - FatalError("xf86OpenConsole: Server must be suid root\n"); - } - -#ifdef SVR4 - /* Protect page 0 to help find NULL dereferencing */ - /* mprotect() doesn't seem to work */ - if (Protect0) - { - int fd = -1; - - if ((fd = open("/dev/zero", O_RDONLY, 0)) < 0) - { - xf86Msg(X_WARNING, - "xf86OpenConsole: cannot open /dev/zero (%s)\n", - strerror(errno)); - } - else - { - if ((int)mmap(0, 0x1000, PROT_NONE, - MAP_FIXED | MAP_SHARED, fd, 0) == -1) - { - xf86Msg(X_WARNING, - "xf86OpenConsole: failed to protect page 0 (%s)\n", - strerror(errno)); - } - close(fd); - } - } -#endif - /* - * setup the virtual terminal manager - */ - if (VTnum != -1) - { - xf86Info.vtno = VTnum; - from = X_CMDLINE; - } - else - { - if ((fd = open("/dev/console",O_WRONLY,0)) < 0) - { - FatalError( - "xf86OpenConsole: Cannot open /dev/console (%s)\n", - strerror(errno)); - } - if ((ioctl(fd, VT_OPENQRY, &xf86Info.vtno) < 0) || - (xf86Info.vtno == -1)) - { - FatalError("xf86OpenConsole: Cannot find a free VT\n"); - } - close(fd); - } - xf86Msg(from, "using VT number %d\n\n", xf86Info.vtno); - - sprintf(vtname1,"/dev/vc%02d",xf86Info.vtno); /* ESIX */ - sprintf(vtname2,"/dev/vt%02d",xf86Info.vtno); /* rest of the world */ - - if (!KeepTty) - { - setpgrp(); - } - - if (((xf86Info.consoleFd = open(vtname1, O_RDWR|O_NDELAY, 0)) < 0) && - ((xf86Info.consoleFd = open(vtname2, O_RDWR|O_NDELAY, 0)) < 0)) - { - FatalError("xf86OpenConsole: Cannot open %s (%s) (%s)\n", - vtname2, vtname1, strerror(errno)); - } - - /* change ownership of the vt */ - if (chown(vtname1, getuid(), getgid()) < 0) - { - chown(vtname2, getuid(), getgid()); - } - - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); - } - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) < 0) - { - FatalError("xf86OpenConsole: VT_GETMODE failed\n"); - } - - signal(SIGUSR1, xf86VTRequest); - - VT.mode = VT_PROCESS; - VT.relsig = SIGUSR1; - VT.acqsig = SIGUSR1; - if (ioctl(xf86Info.consoleFd, VT_SETMODE, &VT) < 0) - { - FatalError("xf86OpenConsole: VT_SETMODE VT_PROCESS failed\n"); - } - if (ioctl(xf86Info.consoleFd, KDSETMODE, KD_GRAPHICS) < 0) - { - FatalError("xf86OpenConsole: KDSETMODE KD_GRAPHICS failed\n"); - } - } - else - { - /* serverGeneration != 1 */ - /* - * now get the VT - */ - if (ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_ACTIVATE failed\n"); - } - if (ioctl(xf86Info.consoleFd, VT_WAITACTIVE, xf86Info.vtno) != 0) - { - xf86Msg(X_WARNING, "xf86OpenConsole: VT_WAITACTIVE failed\n"); - } - /* - * If the server doesn't have the VT when the reset occurs, - * this is to make sure we don't continue until the activate - * signal is received. - */ - if (!xf86Screens[0]->vtSema) - sleep(5); - } - return; -} - -void -xf86CloseConsole() -{ - struct vt_mode VT; - -#if 0 - ioctl(xf86Info.consoleFd, VT_ACTIVATE, xf86Info.vtno); - ioctl(xf86Info.consoleFd, VT_WAITACTIVE, 0); -#endif - ioctl(xf86Info.consoleFd, KDSETMODE, KD_TEXT); /* Back to text mode ... */ - if (ioctl(xf86Info.consoleFd, VT_GETMODE, &VT) != -1) - { - VT.mode = VT_AUTO; - ioctl(xf86Info.consoleFd, VT_SETMODE, &VT); /* set dflt vt handling */ - } - close(xf86Info.consoleFd); /* make the vt-manager happy */ - return; -} - -int -xf86ProcessArgument(int argc, char *argv[], int i) -{ - /* - * Keep server from detaching from controlling tty. This is useful - * when debugging (so the server can receive keyboard signals. - */ - if (!strcmp(argv[i], "-keeptty")) - { - KeepTty = TRUE; - return 1; - } -#ifdef SVR4 - /* - * Undocumented flag to protect page 0 from read/write to help - * catch NULL pointer dereferences. This is purely a debugging - * flag. - */ - if (!strcmp(argv[i], "-protect0")) - { - Protect0 = TRUE; - return 1; - } -#endif - if ((argv[i][0] == 'v') && (argv[i][1] == 't')) - { - if (sscanf(argv[i], "vt%2d", &VTnum) == 0) - { - UseMsg(); - VTnum = -1; - return 0; - } - return 1; - } - return 0; -} - -void -xf86UseMsg() -{ - ErrorF("vtXX use the specified VT number\n"); - ErrorF("-keeptty "); - ErrorF("don't detach controlling tty (for debugging only)\n"); - return; -} diff --git a/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c b/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c deleted file mode 100644 index 6d5948796..000000000 --- a/xorg-server/hw/xfree86/os-support/sysv/sysv_video.c +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany - * Copyright 1993 by David Wexelblat - * - * 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, and that the names of Thomas Roell and David Wexelblat - * not be used in advertising or publicity pertaining to distribution of - * the software without specific, written prior permission. Thomas Roell and - * David Wexelblat makes no representations about the suitability of this - * software for any purpose. It is provided "as is" without express or - * implied warranty. - * - * THOMAS ROELL AND DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO - * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID WEXELBLAT BE LIABLE FOR - * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER - * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF - * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include - -#define _NEED_SYSI86 -#include "xf86.h" -#include "xf86Priv.h" -#include "xf86_OSlib.h" -#include "xf86OSpriv.h" - -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - -#ifndef SI86IOPL -#define SET_IOPL() sysi86(SI86V86,V86SC_IOPL,PS_IOPL) -#define RESET_IOPL() sysi86(SI86V86,V86SC_IOPL,0) -#else -#define SET_IOPL() sysi86(SI86IOPL,3) -#define RESET_IOPL() sysi86(SI86IOPL,0) -#endif - -/***************************************************************************/ -/* Video Memory Mapping section */ -/***************************************************************************/ - -/* - * XXX Support for SVR3 will need to be reworked if needed. In particular - * the Region parameter is no longer passed, and will need to be dealt - * with internally if required. - * OK, i'll rework that thing ... (clean it up a lot) - * SVR3 Support only with SVR3_MMAPDRV (mr) - * - */ - -#ifdef HAS_SVR3_MMAPDRV -#ifndef MMAP_DEBUG -#define MMAP_DEBUG 3 -#endif - -struct kd_memloc MapDSC; -int mmapFd = -2; - -static int -mmapStat(pointer Base, unsigned long Size) { - - int nmmreg,i=0,region=-1; - mmapinfo_t *ibuf; - - nmmreg = ioctl(mmapFd, GETNMMREG); - - if(nmmreg <= 0) - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "\nNo physical memory mapped currently.\n\n"); - else { - if((ibuf = (mmapinfo_t *)malloc(nmmreg*sizeof(mmapinfo_t))) == NULL) - xf86Msg(X_WARNING, - "Couldn't allocate memory 4 mmapinfo_t\n"); - else { - if(ioctl(mmapFd, GETMMREG, ibuf) != -1) - { - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "# mmapStat: [Size=%x,Base=%x]\n", Size, Base); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "# Physical Address Size Reference Count\n"); - for(i = 0; i < nmmreg; i++) { - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "%-4d 0x%08X %5dk %5d ", - i, ibuf[i].physaddr, ibuf[i].length/1024, ibuf[i].refcnt); - if (ibuf[i].physaddr == Base || ibuf[i].length == Size ) { - xf86MsgVerb(X_INFO, MMAP_DEBUG,"MATCH !!!"); - if (region==-1) region=i; - } - xf86ErrorFVerb(MMAP_DEBUG, "\n"); - } - xf86ErrorFVerb(MMAP_DEBUG, "\n"); - } - free(ibuf); - } - } - if (region == -1 && nmmreg > 0) region=region * i; - return region; -} -#endif - - -static Bool -linearVidMem() -{ -#ifdef SVR4 - return TRUE; -#elif defined(HAS_SVR3_MMAPDRV) - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "# xf86LinearVidMem: MMAP 2.2.2 called\n"); - - if(mmapFd >= 0) return TRUE; - - if ((mmapFd = open("/dev/mmap", O_RDWR)) != -1) - { - if(ioctl(mmapFd, GETVERSION) < 0x0222) { - xf86Msg(X_WARNING, - "xf86LinearVidMem: MMAP 2.2.2 or above required\n"); - xf86ErrorF("\tlinear memory access disabled\n"); - return FALSE; - } - return TRUE; - } - xf86Msg(X_WARNING, "xf86LinearVidMem: failed to open /dev/mmap (%s)\n", - strerror(errno)); - xf86ErrorF("\tlinear memory access disabled\n"); - return FALSE; -#endif -} - -static pointer -mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) -{ - pointer base; - int fd; - -#if defined(SVR4) - fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR); - if (fd < 0) - { - FatalError("xf86MapVidMem: failed to open %s (%s)\n", - DEV_MEM, strerror(errno)); - } - base = mmap((caddr_t)0, Size, - (flags & VIDMEM_READONLY) ? - PROT_READ : (PROT_READ | PROT_WRITE), - MAP_SHARED, fd, (off_t)Base); - close(fd); - if (base == MAP_FAILED) - { - FatalError("%s: Could not mmap framebuffer [s=%x,a=%x] (%s)\n", - "xf86MapVidMem", Size, Base, strerror(errno)); - } -#else /* SVR4 */ -#ifdef HAS_SVR3_MMAPDRV - - xf86MsgVerb(X_INFO, MMAP_DEBUG, "# xf86MapVidMem: MMAP 2.2.2 called\n"); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "MMAP_VERSION: 0x%x\n",ioctl(mmapFd, GETVERSION)); - if (ioctl(mmapFd, GETVERSION) == -1) - { - xf86LinearVidMem(); - } - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "MMAP_VERSION: 0x%x\n",ioctl(mmapFd, GETVERSION)); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "xf86MapVidMem: Screen: %d\n", ScreenNum); - mmapStat(Base,Size); - /* To force the MMAP driver to provide the address */ - base = (pointer)0; - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "xf86MapVidMem: [s=%x,a=%x]\n", Size, Base); - MapDSC.vaddr = (char *)base; - MapDSC.physaddr = (char *)Base; - MapDSC.length = Size; - MapDSC.ioflg = 1; - if(mmapFd >= 0) - { - if((base = (pointer)ioctl(mmapFd, MAP, &MapDSC)) == (pointer)-1) - { - FatalError("%s: Could not mmap framebuffer [s=%x,a=%x] (%s)\n", - "xf86MapVidMem", Size, Base, strerror(errno)); - /* NOTREACHED */ - } - - /* Next time we want the same address! */ - MapDSC.vaddr = (char *)base; - } - - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "MapDSC.vaddr : 0x%x\n", MapDSC.vaddr); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "MapDSC.physaddr: 0x%x\n", MapDSC.physaddr); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "MapDSC.length : %d\n", MapDSC.length); - mmapStat(Base,Size); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "xf86MapVidMem: [s=%x,a=%x,b=%x]\n", Size, Base, base); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "xf86MapVidMem: SUCCEED Mapping FrameBuffer \n"); -#endif /* HAS_SVR3_MMAPDRV */ -#endif /* SVR4 */ - return base; -} - -/* ARGSUSED */ -static void -unmapVidMem(int ScreenNum, pointer Base, unsigned long Size) -{ -#if defined (SVR4) - munmap(Base, Size); -#else /* SVR4 */ -#ifdef HAS_SVR3_MMAPDRV - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "# xf86UnMapVidMem: UNMapping FrameBuffer\n"); - mmapStat(Base,Size); - ioctl(mmapFd, UNMAPRM , Base); - mmapStat(Base,Size); - xf86MsgVerb(X_INFO, MMAP_DEBUG, - "# xf86UnMapVidMem: Screen: %d [v=%x]\n", ScreenNum, Base); -#endif /* HAS_SVR3_MMAPDRV */ -#endif /* SVR4 */ - return; -} - -#if defined(SVR4) && defined(__i386__) && !defined(sun) -/* - * For some SVR4 versions, a 32-bit read is done for the first location - * in each page when the page is first mapped. If this is done while - * memory access is enabled for regions that have read side-effects, - * this can cause unexpected results, including lockups on some hardware. - * This function is called to make sure each page is mapped while it is - * safe to do so. - */ - -/* - * XXX Should get this the correct way (see os/xalloc.c), but since this is - * for one platform I'll be lazy. - */ -#define X_PAGE_SIZE 4096 - -static void -readSideEffects(int ScreenNum, pointer Base, unsigned long Size) -{ - unsigned long base, end, addr; - CARD32 val; - - base = (unsigned long)Base; - end = base + Size; - - for (addr = base; addr < end; addr += X_PAGE_SIZE) - val = *(volatile CARD32 *)addr; -} -#endif - -void -xf86OSInitVidMem(VidMemInfoPtr pVidMem) -{ - pVidMem->linearSupported = linearVidMem(); - pVidMem->mapMem = mapVidMem; - pVidMem->unmapMem = unmapVidMem; -#if defined(SVR4) && defined(__i386__) && !defined(sun) - pVidMem->readSideEffects = readSideEffects; -#endif - pVidMem->initialised = TRUE; -} - -/***************************************************************************/ -/* I/O Permissions section */ -/***************************************************************************/ - -static Bool ExtendedEnabled = FALSE; -static Bool InitDone = FALSE; - -Bool -xf86EnableIO() -{ - int i; - - if (ExtendedEnabled) - return TRUE; - - if (SET_IOPL() < 0) - { - xf86Msg(X_WARNING, - "xf86EnableIO: Failed to set IOPL for extended I/O\n"); - return FALSE; - } - ExtendedEnabled = TRUE; - - return TRUE; -} - -void -xf86DisableIO() -{ - if (!ExtendedEnabled) - return; - - RESET_IOPL(); - ExtendedEnabled = FALSE; - - return; -} diff --git a/xorg-server/hw/xfree86/vbe/vbe.c b/xorg-server/hw/xfree86/vbe/vbe.c index 56ac5f6b7..5120b3199 100644 --- a/xorg-server/hw/xfree86/vbe/vbe.c +++ b/xorg-server/hw/xfree86/vbe/vbe.c @@ -1028,6 +1028,11 @@ VBEInterpretPanelID(int scrnIndex, struct vbePanelID *data) if (pScrn->monitor->nHsync || pScrn->monitor->nVrefresh) return; + if (data->hsize < 320 || data->vsize < 240) { + xf86DrvMsg(scrnIndex, X_INFO, "...which I refuse to believe\n"); + return; + } + mode = xf86CVTMode(data->hsize, data->vsize, PANEL_HZ, 1, 0); pScrn->monitor->nHsync = 1; diff --git a/xorg-server/hw/xfree86/xaa/xaa.h b/xorg-server/hw/xfree86/xaa/xaa.h index 2af954fee..6e5a2389a 100644 --- a/xorg-server/hw/xfree86/xaa/xaa.h +++ b/xorg-server/hw/xfree86/xaa/xaa.h @@ -1,1396 +1,1394 @@ - -#ifndef _XAA_H -#define _XAA_H - -#define XAA_VERSION_MAJOR 1 -#define XAA_VERSION_MINOR 2 -#define XAA_VERSION_RELEASE 1 - -/* - - ******** OPERATION SPECIFIC FLAGS ********* - - **** solid/dashed line flags **** - ---------- -------- -23 LINE_PATTERN_LSBFIRST_MSBJUSTIFIED -22 LINE_PATTERN_LSBFIRST_LSBJUSTIFIED -21 LINE_PATTERN_MSBFIRST_MSBJUSTIFIED -20 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED -19 LINE_PATTERN_POWER_OF_2_ONLY -18 LINE_LIMIT_COORDS -17 . -16 . ---------- ------- - - **** screen to screen copy flags **** - ---------- -------- -23 ONLY_LEFT_TO_RIGHT_BITBLT -22 ONLY_TWO_BITBLT_DIRECTIONS -21 . -20 . -19 . -18 . -17 . -16 . ---------- ------- - - **** clipping flags **** - ---------- -------- -23 . -22 HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND -21 HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY -20 HARDWARE_CLIP_MONO_8x8_FILL -19 HARDWARE_CLIP_COLOR_8x8_FILL -18 HARDWARE_CLIP_SOLID_FILL -17 HARDWARE_CLIP_DASHED_LINE -16 HARDWARE_CLIP_SOLID_LINE ---------- ------- - - - **** hardware pattern flags **** - ---------- -------- -23 . -22 . -21 HARDWARE_PATTERN_SCREEN_ORIGIN -20 . -19 . -18 . -17 HARDWARE_PATTERN_PROGRAMMED_ORIGIN -16 HARDWARE_PATTERN_PROGRAMMED_BITS ---------- ------- - - **** write pixmap flags **** - ---------- -------- -23 . -22 . -21 . -20 . -19 . -18 . -17 . -16 CONVERT_32BPP_TO_24BPP ---------- ------- - - - ******** GENERIC FLAGS ********* - ---------- ------- -15 SYNC_AFTER_COLOR_EXPAND -14 CPU_TRANSFER_PAD_QWORD -13 . -12 LEFT_EDGE_CLIPPING_NEGATIVE_X -11 LEFT_EDGE_CLIPPING -10 CPU_TRANSFER_BASE_FIXED - 9 BIT_ORDER_IN_BYTE_MSBFIRST - 8 TRANSPARENCY_GXCOPY_ONLY ---------- ------- - 7 NO_TRANSPARENCY - 6 TRANSPARENCY_ONLY - 5 ROP_NEEDS_SOURCE - 4 TRIPLE_BITS_24BPP - 3 RGB_EQUAL - 2 NO_PLANEMASK - 1 NO_GXCOPY - 0 GXCOPY_ONLY ---------- ------- - - -*/ - -#include "gcstruct.h" -#include "pixmapstr.h" -#include "xf86str.h" -#include "regionstr.h" -#include "xf86fbman.h" - -#include "picturestr.h" - -/* Flags */ -#define PIXMAP_CACHE 0x00000001 -#define MICROSOFT_ZERO_LINE_BIAS 0x00000002 -#define OFFSCREEN_PIXMAPS 0x00000004 -#define LINEAR_FRAMEBUFFER 0x00000008 - - -/* GC fg, bg, and planemask restrictions */ -#define GXCOPY_ONLY 0x00000001 -#define NO_GXCOPY 0x00000002 -#define NO_PLANEMASK 0x00000004 -#define RGB_EQUAL 0x00000008 -#define TRIPLE_BITS_24BPP 0x00000010 -#define ROP_NEEDS_SOURCE 0x00000020 - -/* transparency restrictions */ -#define TRANSPARENCY_ONLY 0x00000040 -#define NO_TRANSPARENCY 0x00000080 -#define TRANSPARENCY_GXCOPY_ONLY 0x00000100 - -/* bit order restrictions */ -#define BIT_ORDER_IN_BYTE_MSBFIRST 0x00000200 -#define BIT_ORDER_IN_BYTE_LSBFIRST 0x00000000 - -/* transfer base restriction */ -#define CPU_TRANSFER_BASE_FIXED 0x00000400 - -/* skipleft restrictions */ -#define LEFT_EDGE_CLIPPING 0x00000800 -#define LEFT_EDGE_CLIPPING_NEGATIVE_X 0x00001000 - -/* data padding */ -#define CPU_TRANSFER_PAD_DWORD 0x00000000 -#define CPU_TRANSFER_PAD_QWORD 0x00004000 -#define SCANLINE_PAD_DWORD 0x00000000 - -#define SYNC_AFTER_COLOR_EXPAND 0x00008000 -#define SYNC_AFTER_IMAGE_WRITE SYNC_AFTER_COLOR_EXPAND - -/* hardware pattern */ -#define HARDWARE_PATTERN_PROGRAMMED_BITS 0x00010000 -#define HARDWARE_PATTERN_PROGRAMMED_ORIGIN 0x00020000 -#define HARDWARE_PATTERN_SCREEN_ORIGIN 0x00200000 - -/* copyarea flags */ -#define ONLY_TWO_BITBLT_DIRECTIONS 0x00400000 -#define ONLY_LEFT_TO_RIGHT_BITBLT 0x00800000 - -/* line flags */ -#define LINE_PATTERN_LSBFIRST_MSBJUSTIFIED 0x00800000 -#define LINE_PATTERN_LSBFIRST_LSBJUSTIFIED 0x00400000 -#define LINE_PATTERN_MSBFIRST_MSBJUSTIFIED 0x00200000 -#define LINE_PATTERN_MSBFIRST_LSBJUSTIFIED 0x00100000 -#define LINE_PATTERN_POWER_OF_2_ONLY 0x00080000 -#define LINE_LIMIT_COORDS 0x00040000 - -/* clipping flags */ -#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND 0x00400000 -#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY 0x00200000 -#define HARDWARE_CLIP_MONO_8x8_FILL 0x00100000 -#define HARDWARE_CLIP_COLOR_8x8_FILL 0x00080000 -#define HARDWARE_CLIP_SOLID_FILL 0x00040000 -#define HARDWARE_CLIP_DASHED_LINE 0x00020000 -#define HARDWARE_CLIP_SOLID_LINE 0x00010000 - -#define HARDWARE_CLIP_LINE 0x00000000 - - -/* image write flags */ -#define CONVERT_32BPP_TO_24BPP 0x00010000 - -/* pixmap cache flags */ -#define CACHE_MONO_8x8 0x00000001 -#define CACHE_COLOR_8x8 0x00000002 -#define DO_NOT_BLIT_STIPPLES 0x00000004 -#define DO_NOT_TILE_MONO_DATA 0x00000008 -#define DO_NOT_TILE_COLOR_DATA 0x00000010 - - -#define DEGREES_0 0 -#define DEGREES_90 1 -#define DEGREES_180 2 -#define DEGREES_270 3 - -#define OMIT_LAST 1 - -/* render flags */ - -#define XAA_RENDER_POWER_OF_2_TILE_ONLY 0x00000008 -#define XAA_RENDER_NO_SRC_ALPHA 0x00000004 -#define XAA_RENDER_IMPRECISE_ONLY 0x00000002 -#define XAA_RENDER_NO_TILE 0x00000001 - -#define XAA_RENDER_REPEAT 0x00000001 - -typedef void (* ValidateGCProcPtr)( - GCPtr pGC, - unsigned long changes, - DrawablePtr pDraw -); - -typedef struct { - unsigned char *bits; - int width; - int height; - int yoff; - int srcwidth; - int start; - int end; -} NonTEGlyphInfo, *NonTEGlyphPtr; - - -typedef struct { - int x; - int y; - int w; - int h; - int orig_w; - int orig_h; - unsigned long serialNumber; - int pat0; - int pat1; - int fg; - int bg; - int trans_color; - DDXPointPtr offsets; - DevUnion devPrivate; -} XAACacheInfoRec, *XAACacheInfoPtr; - - -typedef struct _PixmapLink { - PixmapPtr pPix; - struct _PixmapLink *next; - FBAreaPtr area; -} PixmapLink, *PixmapLinkPtr; - -typedef struct _XAAInfoRec { - ScrnInfoPtr pScrn; - int Flags; - - void (*Sync)( - ScrnInfoPtr pScrn - ); - - /* Restore Accel State is a driver callback that is used - * when another screen on the same device has been active. - * This allows multihead on a single device to work. - * If The entityProp has IS_SHARED_ACCEL defined then this - * function is required. - */ - - void (*RestoreAccelState)( - ScrnInfoPtr pScrn - ); - - /***************** Low Level *****************/ - -/* Blits */ - void (*SetupForScreenToScreenCopy)( - ScrnInfoPtr pScrn, - int xdir, int ydir, - int rop, - unsigned int planemask, - int trans_color - ); - int ScreenToScreenCopyFlags; - - void (*SubsequentScreenToScreenCopy)( - ScrnInfoPtr pScrn, - int xsrc, int ysrc, - int xdst, int ydst, - int w, int h - ); - - -/* Solid fills */ - void (*SetupForSolidFill)( - ScrnInfoPtr pScrn, - int color, - int rop, - unsigned int planemask - ); - int SolidFillFlags; - - void (*SubsequentSolidFillRect)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h - ); - - void (*SubsequentSolidFillTrap)( - ScrnInfoPtr pScrn, - int y, int h, - int left, int dxL, int dyL, int eL, - int right, int dxR, int dyR, int eR - ); - - -/* Solid lines */ - - void (*SetupForSolidLine)( - ScrnInfoPtr pScrn, - int color, - int rop, - unsigned int planemask - ); - int SolidLineFlags; - - void (*SubsequentSolidTwoPointLine)( - ScrnInfoPtr pScrn, - int xa, int ya, int xb, int yb, int flags - ); - - void (*SubsequentSolidBresenhamLine)( - ScrnInfoPtr pScrn, - int x, int y, int absmaj, int absmin, int err, int len, int octant - ); - int SolidBresenhamLineErrorTermBits; - - void (*SubsequentSolidHorVertLine)( - ScrnInfoPtr pScrn, - int x, int y, int len, int dir - ); - -/* Dashed lines */ - - void (*SetupForDashedLine)( - ScrnInfoPtr pScrn, - int fg, int bg, - int rop, - unsigned int planemask, - int length, - unsigned char *pattern - ); - int DashedLineFlags; - int DashPatternMaxLength; - - void (*SubsequentDashedTwoPointLine)( - ScrnInfoPtr pScrn, - int xa, int ya, int xb, int yb, int flags, int phase - ); - - void (*SubsequentDashedBresenhamLine)( - ScrnInfoPtr pScrn, - int x, int y, int absmaj, int absmin, int err, int len, int flags, - int phase - ); - int DashedBresenhamLineErrorTermBits; - -/* Clipper */ - - void (*SetClippingRectangle) ( - ScrnInfoPtr pScrn, - int left, int top, int right, int bottom - ); - int ClippingFlags; - - void (*DisableClipping)(ScrnInfoPtr pScrn); - -/* 8x8 mono pattern fills */ - void (*SetupForMono8x8PatternFill)( - ScrnInfoPtr pScrn, - int patx, int paty, - int fg, int bg, - int rop, - unsigned int planemask - ); - int Mono8x8PatternFillFlags; - - void (*SubsequentMono8x8PatternFillRect)( - ScrnInfoPtr pScrn, - int patx, int paty, - int x, int y, int w, int h - ); - - void (*SubsequentMono8x8PatternFillTrap)( - ScrnInfoPtr pScrn, - int patx, int paty, - int y, int h, - int left, int dxL, int dyL, int eL, - int right, int dxR, int dyR, int eR - ); - -/* 8x8 color pattern fills */ - - void (*SetupForColor8x8PatternFill)( - ScrnInfoPtr pScrn, - int patx, int paty, - int rop, - unsigned int planemask, - int transparency_color - ); - int Color8x8PatternFillFlags; - - void (*SubsequentColor8x8PatternFillRect)( - ScrnInfoPtr pScrn, - int patx, int paty, - int x, int y, int w, int h - ); - - void (*SubsequentColor8x8PatternFillTrap)( - ScrnInfoPtr pScrn, - int patx, int paty, - int y, int h, - int left, int dxL, int dyL, int eL, - int right, int dxR, int dyR, int eR - ); - - -/* Color expansion */ - - void (*SetupForCPUToScreenColorExpandFill)( - ScrnInfoPtr pScrn, - int fg, int bg, - int rop, - unsigned int planemask - ); - int CPUToScreenColorExpandFillFlags; - - void (*SubsequentCPUToScreenColorExpandFill)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int skipleft - ); - - unsigned char *ColorExpandBase; - int ColorExpandRange; - - -/* Scanline color expansion */ - - void (*SetupForScanlineCPUToScreenColorExpandFill)( - ScrnInfoPtr pScrn, - int fg, int bg, - int rop, - unsigned int planemask - ); - int ScanlineCPUToScreenColorExpandFillFlags; - - void (*SubsequentScanlineCPUToScreenColorExpandFill)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int skipleft - ); - - void (*SubsequentColorExpandScanline)( - ScrnInfoPtr pScrn, - int bufno - ); - - int NumScanlineColorExpandBuffers; - unsigned char **ScanlineColorExpandBuffers; - -/* Screen to screen color expansion */ - - void (*SetupForScreenToScreenColorExpandFill) ( - ScrnInfoPtr pScrn, - int fg, int bg, - int rop, - unsigned int planemask - ); - int ScreenToScreenColorExpandFillFlags; - - void (*SubsequentScreenToScreenColorExpandFill)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int srcx, int srcy, int skipleft - ); - - -/* Image transfers */ - - void (*SetupForImageWrite)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int transparency_color, - int bpp, int depth - ); - int ImageWriteFlags; - - void (*SubsequentImageWriteRect)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int skipleft - ); - unsigned char *ImageWriteBase; - int ImageWriteRange; - -/* Scanline Image transfers */ - - void (*SetupForScanlineImageWrite)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int transparency_color, - int bpp, int depth - ); - int ScanlineImageWriteFlags; - - void (*SubsequentScanlineImageWriteRect)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - int skipleft - ); - - void (*SubsequentImageWriteScanline) ( - ScrnInfoPtr pScrn, - int bufno - ); - - int NumScanlineImageWriteBuffers; - unsigned char **ScanlineImageWriteBuffers; - - /* Image Reads - OBSOLETE AND NOT USED */ - - void (*SetupForImageRead) ( - ScrnInfoPtr pScrn, - int bpp, int depth - ); - int ImageReadFlags; - - unsigned char *ImageReadBase; - int ImageReadRange; - - void (*SubsequentImageReadRect)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h - ); - - - /***************** Mid Level *****************/ - void (*ScreenToScreenBitBlt)( - ScrnInfoPtr pScrn, - int nbox, - DDXPointPtr pptSrc, - BoxPtr pbox, - int xdir, int ydir, - int alu, - unsigned int planmask - ); - int ScreenToScreenBitBltFlags; - - void (*WriteBitmap) ( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - unsigned char *src, - int srcwidth, - int skipleft, - int fg, int bg, - int rop, - unsigned int planemask - ); - int WriteBitmapFlags; - - void (*FillSolidRects)( - ScrnInfoPtr pScrn, - int fg, int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox - ); - int FillSolidRectsFlags; - - void (*FillMono8x8PatternRects)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int pat0, int pat1, - int xorg, int yorg - ); - int FillMono8x8PatternRectsFlags; - - void (*FillColor8x8PatternRects)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int xorg, int yorg, - XAACacheInfoPtr pCache - ); - int FillColor8x8PatternRectsFlags; - - void (*FillCacheBltRects)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int xorg, int yorg, - XAACacheInfoPtr pCache - ); - int FillCacheBltRectsFlags; - - void (*FillColorExpandRects)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int xorg, int yorg, - PixmapPtr pPix - ); - int FillColorExpandRectsFlags; - - void (*FillCacheExpandRects)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int xorg, int yorg, - PixmapPtr pPix - ); - int FillCacheExpandRectsFlags; - - void (*FillImageWriteRects)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int nBox, - BoxPtr pBox, - int xorg, int yorg, - PixmapPtr pPix - ); - int FillImageWriteRectsFlags; - - - void (*FillSolidSpans)( - ScrnInfoPtr pScrn, - int fg, int rop, - unsigned int planemask, - int n, - DDXPointPtr points, - int *widths, - int fSorted - ); - int FillSolidSpansFlags; - - void (*FillMono8x8PatternSpans)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int n, - DDXPointPtr points, - int *widths, - int fSorted, - int pat0, int pat1, - int xorg, int yorg - ); - int FillMono8x8PatternSpansFlags; - - void (*FillColor8x8PatternSpans)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int n, - DDXPointPtr points, - int *widths, - int fSorted, - XAACacheInfoPtr pCache, - int xorg, int yorg - ); - int FillColor8x8PatternSpansFlags; - - void (*FillCacheBltSpans)( - ScrnInfoPtr pScrn, - int rop, - unsigned int planemask, - int n, - DDXPointPtr points, - int *widths, - int fSorted, - XAACacheInfoPtr pCache, - int xorg, int yorg - ); - int FillCacheBltSpansFlags; - - void (*FillColorExpandSpans)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int n, - DDXPointPtr points, - int *widths, - int fSorted, - int xorg, int yorg, - PixmapPtr pPix - ); - int FillColorExpandSpansFlags; - - void (*FillCacheExpandSpans)( - ScrnInfoPtr pScrn, - int fg, int bg, int rop, - unsigned int planemask, - int n, - DDXPointPtr ppt, - int *pwidth, - int fSorted, - int xorg, int yorg, - PixmapPtr pPix - ); - int FillCacheExpandSpansFlags; - - void (*TEGlyphRenderer)( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, int skipleft, int startline, - unsigned int **glyphs, int glyphWidth, - int fg, int bg, int rop, unsigned planemask - ); - int TEGlyphRendererFlags; - - void (*NonTEGlyphRenderer)( - ScrnInfoPtr pScrn, - int x, int y, int n, - NonTEGlyphPtr glyphs, - BoxPtr pbox, - int fg, int rop, - unsigned int planemask - ); - int NonTEGlyphRendererFlags; - - void (*WritePixmap) ( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - unsigned char *src, - int srcwidth, - int rop, - unsigned int planemask, - int transparency_color, - int bpp, int depth - ); - int WritePixmapFlags; - - void (*ReadPixmap) ( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - unsigned char *dst, - int dstwidth, - int bpp, int depth - ); - int ReadPixmapFlags; - - /***************** GC Level *****************/ - RegionPtr (*CopyArea)( - DrawablePtr pSrcDrawable, - DrawablePtr pDstDrawable, - GC *pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty - ); - int CopyAreaFlags; - - RegionPtr (*CopyPlane)( - DrawablePtr pSrc, - DrawablePtr pDst, - GCPtr pGC, - int srcx, int srcy, - int width, int height, - int dstx, int dsty, - unsigned long bitPlane - ); - int CopyPlaneFlags; - - void (*PushPixelsSolid) ( - GCPtr pGC, - PixmapPtr pBitMap, - DrawablePtr pDrawable, - int dx, int dy, - int xOrg, int yOrg - ); - int PushPixelsFlags; - - /** PolyFillRect **/ - - void (*PolyFillRectSolid)( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit - ); - int PolyFillRectSolidFlags; - - void (*PolyFillRectStippled)( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit - ); - int PolyFillRectStippledFlags; - - void (*PolyFillRectOpaqueStippled)( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit - ); - int PolyFillRectOpaqueStippledFlags; - - void (*PolyFillRectTiled)( - DrawablePtr pDraw, - GCPtr pGC, - int nrectFill, - xRectangle *prectInit - ); - int PolyFillRectTiledFlags; - - /** FillSpans **/ - - void (*FillSpansSolid)( - DrawablePtr pDraw, - GCPtr pGC, - int nInit, - DDXPointPtr ppt, - int *pwidth, - int fSorted - ); - int FillSpansSolidFlags; - - void (*FillSpansStippled)( - DrawablePtr pDraw, - GCPtr pGC, - int nInit, - DDXPointPtr ppt, - int *pwidth, - int fSorted - ); - int FillSpansStippledFlags; - - void (*FillSpansOpaqueStippled)( - DrawablePtr pDraw, - GCPtr pGC, - int nInit, - DDXPointPtr ppt, - int *pwidth, - int fSorted - ); - int FillSpansOpaqueStippledFlags; - - void (*FillSpansTiled)( - DrawablePtr pDraw, - GCPtr pGC, - int nInit, - DDXPointPtr ppt, - int *pwidth, - int fSorted - ); - int FillSpansTiledFlags; - - int (*PolyText8TE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - char *chars - ); - int PolyText8TEFlags; - - int (*PolyText16TE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - unsigned short *chars - ); - int PolyText16TEFlags; - - void (*ImageText8TE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - char *chars - ); - int ImageText8TEFlags; - - void (*ImageText16TE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - unsigned short *chars - ); - int ImageText16TEFlags; - - void (*ImageGlyphBltTE) ( - DrawablePtr pDrawable, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase - ); - int ImageGlyphBltTEFlags; - - void (*PolyGlyphBltTE) ( - DrawablePtr pDrawable, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase - ); - int PolyGlyphBltTEFlags; - - int (*PolyText8NonTE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - char *chars - ); - int PolyText8NonTEFlags; - - int (*PolyText16NonTE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - unsigned short *chars - ); - int PolyText16NonTEFlags; - - void (*ImageText8NonTE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - char *chars - ); - int ImageText8NonTEFlags; - - void (*ImageText16NonTE) ( - DrawablePtr pDraw, - GCPtr pGC, - int x, int y, - int count, - unsigned short *chars - ); - int ImageText16NonTEFlags; - - void (*ImageGlyphBltNonTE) ( - DrawablePtr pDrawable, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase - ); - int ImageGlyphBltNonTEFlags; - - void (*PolyGlyphBltNonTE) ( - DrawablePtr pDrawable, - GCPtr pGC, - int xInit, int yInit, - unsigned int nglyph, - CharInfoPtr *ppci, - pointer pglyphBase - ); - int PolyGlyphBltNonTEFlags; - - void (*PolyRectangleThinSolid)( - DrawablePtr pDrawable, - GCPtr pGC, - int nRectsInit, - xRectangle *pRectsInit - ); - int PolyRectangleThinSolidFlags; - - void (*PolylinesWideSolid)( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pPts - ); - int PolylinesWideSolidFlags; - - void (*PolylinesThinSolid)( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pPts - ); - int PolylinesThinSolidFlags; - - void (*PolySegmentThinSolid)( - DrawablePtr pDrawable, - GCPtr pGC, - int nseg, - xSegment *pSeg - ); - int PolySegmentThinSolidFlags; - - void (*PolylinesThinDashed)( - DrawablePtr pDrawable, - GCPtr pGC, - int mode, - int npt, - DDXPointPtr pPts - ); - int PolylinesThinDashedFlags; - - void (*PolySegmentThinDashed)( - DrawablePtr pDrawable, - GCPtr pGC, - int nseg, - xSegment *pSeg - ); - int PolySegmentThinDashedFlags; - - void (*FillPolygonSolid)( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn - ); - int FillPolygonSolidFlags; - - void (*FillPolygonStippled)( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn - ); - int FillPolygonStippledFlags; - - void (*FillPolygonOpaqueStippled)( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn - ); - int FillPolygonOpaqueStippledFlags; - - void (*FillPolygonTiled)( - DrawablePtr pDrawable, - GCPtr pGC, - int shape, - int mode, - int count, - DDXPointPtr ptsIn - ); - int FillPolygonTiledFlags; - - void (*PolyFillArcSolid)( - DrawablePtr pDraw, - GCPtr pGC, - int narcs, - xArc *parcs - ); - int PolyFillArcSolidFlags; - - void (*PutImage)( - DrawablePtr pDraw, - GCPtr pGC, - int depth, - int x, - int y, - int w, - int h, - int leftPad, - int format, - char *pImage - ); - int PutImageFlags; - - /* Validation masks */ - - unsigned long FillSpansMask; - ValidateGCProcPtr ValidateFillSpans; - unsigned long SetSpansMask; - ValidateGCProcPtr ValidateSetSpans; - unsigned long PutImageMask; - ValidateGCProcPtr ValidatePutImage; - unsigned long CopyAreaMask; - ValidateGCProcPtr ValidateCopyArea; - unsigned long CopyPlaneMask; - ValidateGCProcPtr ValidateCopyPlane; - unsigned long PolyPointMask; - ValidateGCProcPtr ValidatePolyPoint; - unsigned long PolylinesMask; - ValidateGCProcPtr ValidatePolylines; - unsigned long PolySegmentMask; - ValidateGCProcPtr ValidatePolySegment; - unsigned long PolyRectangleMask; - ValidateGCProcPtr ValidatePolyRectangle; - unsigned long PolyArcMask; - ValidateGCProcPtr ValidatePolyArc; - unsigned long FillPolygonMask; - ValidateGCProcPtr ValidateFillPolygon; - unsigned long PolyFillRectMask; - ValidateGCProcPtr ValidatePolyFillRect; - unsigned long PolyFillArcMask; - ValidateGCProcPtr ValidatePolyFillArc; - unsigned long PolyText8Mask; - ValidateGCProcPtr ValidatePolyText8; - unsigned long PolyText16Mask; - ValidateGCProcPtr ValidatePolyText16; - unsigned long ImageText8Mask; - ValidateGCProcPtr ValidateImageText8; - unsigned long ImageText16Mask; - ValidateGCProcPtr ValidateImageText16; - unsigned long PolyGlyphBltMask; - ValidateGCProcPtr ValidatePolyGlyphBlt; - unsigned long ImageGlyphBltMask; - ValidateGCProcPtr ValidateImageGlyphBlt; - unsigned long PushPixelsMask; - ValidateGCProcPtr ValidatePushPixels; - - void (*ComputeDash)(GCPtr pGC); - - /* Pixmap Cache */ - - int PixmapCacheFlags; - Bool UsingPixmapCache; - Bool CanDoMono8x8; - Bool CanDoColor8x8; - - void (*InitPixmapCache)( - ScreenPtr pScreen, - RegionPtr areas, - pointer data - ); - void (*ClosePixmapCache)( - ScreenPtr pScreen - ); - - int (*StippledFillChooser)(GCPtr pGC); - int (*OpaqueStippledFillChooser)(GCPtr pGC); - int (*TiledFillChooser)(GCPtr pGC); - - int CachePixelGranularity; - int MaxCacheableTileWidth; - int MaxCacheableTileHeight; - int MaxCacheableStippleWidth; - int MaxCacheableStippleHeight; - - XAACacheInfoPtr (*CacheTile)( - ScrnInfoPtr Scrn, PixmapPtr pPix - ); - XAACacheInfoPtr (*CacheStipple)( - ScrnInfoPtr Scrn, PixmapPtr pPix, - int fg, int bg - ); - XAACacheInfoPtr (*CacheMonoStipple)( - ScrnInfoPtr Scrn, PixmapPtr pPix - ); - XAACacheInfoPtr (*CacheMono8x8Pattern)( - ScrnInfoPtr Scrn, int pat0, int pat1 - ); - XAACacheInfoPtr (*CacheColor8x8Pattern)( - ScrnInfoPtr Scrn, PixmapPtr pPix, - int fg, int bg - ); - - - int MonoPatternPitch; - int CacheWidthMono8x8Pattern; - int CacheHeightMono8x8Pattern; - - int ColorPatternPitch; - int CacheWidthColor8x8Pattern; - int CacheHeightColor8x8Pattern; - - int CacheColorExpandDensity; - - void (*WriteBitmapToCache) ( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - unsigned char *src, - int srcwidth, - int fg, int bg - ); - void (*WritePixmapToCache) ( - ScrnInfoPtr pScrn, - int x, int y, int w, int h, - unsigned char *src, - int srcwidth, - int bpp, int depth - ); - void (*WriteMono8x8PatternToCache)( - ScrnInfoPtr pScrn, - XAACacheInfoPtr pCache - ); - void (*WriteColor8x8PatternToCache)( - ScrnInfoPtr pScrn, - PixmapPtr pPix, - XAACacheInfoPtr pCache - ); - - char* PixmapCachePrivate; - - /* Miscellaneous */ - - GC ScratchGC; - int PreAllocSize; - unsigned char *PreAllocMem; - - CharInfoPtr CharInfo[255]; - NonTEGlyphInfo GlyphInfo[255]; - - unsigned int FullPlanemask; /* deprecated */ - - PixmapLinkPtr OffscreenPixmaps; - int maxOffPixWidth; - int maxOffPixHeight; - - XAACacheInfoRec ScratchCacheInfoRec; - - BoxPtr ClipBox; - - Bool NeedToSync; - - char *dgaSaves; - - /* These can be supplied to override the defaults */ - - GetImageProcPtr GetImage; - GetSpansProcPtr GetSpans; - CopyWindowProcPtr CopyWindow; - BackingStoreSaveAreasProcPtr SaveAreas; - BackingStoreRestoreAreasProcPtr RestoreAreas; - - unsigned int offscreenDepths; - Bool offscreenDepthsInitialized; - - CARD32 FullPlanemasks[32]; - - Bool (*Composite) ( - CARD8 op, - PicturePtr pSrc, - PicturePtr pMask, - PicturePtr pDst, - INT16 xSrc, - INT16 ySrc, - INT16 xMask, - INT16 yMask, - INT16 xDst, - INT16 yDst, - CARD16 width, - CARD16 height - ); - - Bool (*Glyphs) ( - CARD8 op, - PicturePtr pSrc, - PicturePtr pDst, - PictFormatPtr maskFormat, - INT16 xSrc, - INT16 ySrc, - int nlist, - GlyphListPtr list, - GlyphPtr *glyphs - ); - - /* The old SetupForCPUToScreenAlphaTexture function is no longer used because - * it doesn't pass in enough information to write a conforming - * implementation. See SetupForCPUToScreenAlphaTexture2. - */ - Bool (*SetupForCPUToScreenAlphaTexture) ( - ScrnInfoPtr pScrn, - int op, - CARD16 red, - CARD16 green, - CARD16 blue, - CARD16 alpha, - int alphaType, - CARD8 *alphaPtr, - int alphaPitch, - int width, - int height, - int flags - ); - void (*SubsequentCPUToScreenAlphaTexture) ( - ScrnInfoPtr pScrn, - int dstx, - int dsty, - int srcx, - int srcy, - int width, - int height - ); - int CPUToScreenAlphaTextureFlags; - CARD32 * CPUToScreenAlphaTextureFormats; - - /* The old SetupForCPUToScreenTexture function is no longer used because - * it doesn't pass in enough information to write a conforming - * implementation. See SetupForCPUToScreenTexture2. - */ - Bool (*SetupForCPUToScreenTexture) ( - ScrnInfoPtr pScrn, - int op, - int texType, - CARD8 *texPtr, - int texPitch, - int width, - int height, - int flags - ); - void (*SubsequentCPUToScreenTexture) ( - ScrnInfoPtr pScrn, - int dstx, - int dsty, - int srcx, - int srcy, - int width, - int height - ); - int CPUToScreenTextureFlags; - CARD32 * CPUToScreenTextureFormats; - - - /* these were added for 4.3.0 */ - BoxRec SolidLineLimits; - BoxRec DashedLineLimits; - - /* These were added for X.Org 6.8.0 */ - Bool (*SetupForCPUToScreenAlphaTexture2) ( - ScrnInfoPtr pScrn, - int op, - CARD16 red, - CARD16 green, - CARD16 blue, - CARD16 alpha, - CARD32 maskFormat, - CARD32 dstFormat, - CARD8 *alphaPtr, - int alphaPitch, - int width, - int height, - int flags - ); - CARD32 *CPUToScreenAlphaTextureDstFormats; - - Bool (*SetupForCPUToScreenTexture2) ( - ScrnInfoPtr pScrn, - int op, - CARD32 srcFormat, - CARD32 dstFormat, - CARD8 *texPtr, - int texPitch, - int width, - int height, - int flags - ); - CARD32 *CPUToScreenTextureDstFormats; -} XAAInfoRec, *XAAInfoRecPtr; - -#define SET_SYNC_FLAG(infoRec) (infoRec)->NeedToSync = TRUE - - -extern _X_EXPORT Bool -XAAInit( - ScreenPtr pScreen, - XAAInfoRecPtr infoRec -); - -extern _X_EXPORT XAAInfoRecPtr XAACreateInfoRec(void); - -extern _X_EXPORT void -XAADestroyInfoRec( - XAAInfoRecPtr infoRec -); - -typedef void (*DepthChangeFuncPtr) (ScrnInfoPtr pScrn, int depth); - -extern _X_EXPORT Bool -XAAInitDualFramebufferOverlay( - ScreenPtr pScreen, - DepthChangeFuncPtr callback -); - -#endif /* _XAA_H */ + +#ifndef _XAA_H +#define _XAA_H + +#define XAA_VERSION_MAJOR 1 +#define XAA_VERSION_MINOR 2 +#define XAA_VERSION_RELEASE 1 + +/* + + ******** OPERATION SPECIFIC FLAGS ********* + + **** solid/dashed line flags **** + +--------- -------- +23 LINE_PATTERN_LSBFIRST_MSBJUSTIFIED +22 LINE_PATTERN_LSBFIRST_LSBJUSTIFIED +21 LINE_PATTERN_MSBFIRST_MSBJUSTIFIED +20 LINE_PATTERN_MSBFIRST_LSBJUSTIFIED +19 LINE_PATTERN_POWER_OF_2_ONLY +18 LINE_LIMIT_COORDS +17 . +16 . +--------- ------- + + **** screen to screen copy flags **** + +--------- -------- +23 ONLY_LEFT_TO_RIGHT_BITBLT +22 ONLY_TWO_BITBLT_DIRECTIONS +21 . +20 . +19 . +18 . +17 . +16 . +--------- ------- + + **** clipping flags **** + +--------- -------- +23 . +22 HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND +21 HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY +20 HARDWARE_CLIP_MONO_8x8_FILL +19 HARDWARE_CLIP_COLOR_8x8_FILL +18 HARDWARE_CLIP_SOLID_FILL +17 HARDWARE_CLIP_DASHED_LINE +16 HARDWARE_CLIP_SOLID_LINE +--------- ------- + + + **** hardware pattern flags **** + +--------- -------- +23 . +22 . +21 HARDWARE_PATTERN_SCREEN_ORIGIN +20 . +19 . +18 . +17 HARDWARE_PATTERN_PROGRAMMED_ORIGIN +16 HARDWARE_PATTERN_PROGRAMMED_BITS +--------- ------- + + **** write pixmap flags **** + +--------- -------- +23 . +22 . +21 . +20 . +19 . +18 . +17 . +16 CONVERT_32BPP_TO_24BPP +--------- ------- + + + ******** GENERIC FLAGS ********* + +--------- ------- +15 SYNC_AFTER_COLOR_EXPAND +14 CPU_TRANSFER_PAD_QWORD +13 . +12 LEFT_EDGE_CLIPPING_NEGATIVE_X +11 LEFT_EDGE_CLIPPING +10 CPU_TRANSFER_BASE_FIXED + 9 BIT_ORDER_IN_BYTE_MSBFIRST + 8 TRANSPARENCY_GXCOPY_ONLY +--------- ------- + 7 NO_TRANSPARENCY + 6 TRANSPARENCY_ONLY + 5 ROP_NEEDS_SOURCE + 4 TRIPLE_BITS_24BPP + 3 RGB_EQUAL + 2 NO_PLANEMASK + 1 NO_GXCOPY + 0 GXCOPY_ONLY +--------- ------- + + +*/ + +#include "gcstruct.h" +#include "pixmapstr.h" +#include "xf86str.h" +#include "regionstr.h" +#include "xf86fbman.h" + +#include "picturestr.h" + +/* Flags */ +#define PIXMAP_CACHE 0x00000001 +#define MICROSOFT_ZERO_LINE_BIAS 0x00000002 +#define OFFSCREEN_PIXMAPS 0x00000004 +#define LINEAR_FRAMEBUFFER 0x00000008 + + +/* GC fg, bg, and planemask restrictions */ +#define GXCOPY_ONLY 0x00000001 +#define NO_GXCOPY 0x00000002 +#define NO_PLANEMASK 0x00000004 +#define RGB_EQUAL 0x00000008 +#define TRIPLE_BITS_24BPP 0x00000010 +#define ROP_NEEDS_SOURCE 0x00000020 + +/* transparency restrictions */ +#define TRANSPARENCY_ONLY 0x00000040 +#define NO_TRANSPARENCY 0x00000080 +#define TRANSPARENCY_GXCOPY_ONLY 0x00000100 + +/* bit order restrictions */ +#define BIT_ORDER_IN_BYTE_MSBFIRST 0x00000200 +#define BIT_ORDER_IN_BYTE_LSBFIRST 0x00000000 + +/* transfer base restriction */ +#define CPU_TRANSFER_BASE_FIXED 0x00000400 + +/* skipleft restrictions */ +#define LEFT_EDGE_CLIPPING 0x00000800 +#define LEFT_EDGE_CLIPPING_NEGATIVE_X 0x00001000 + +/* data padding */ +#define CPU_TRANSFER_PAD_DWORD 0x00000000 +#define CPU_TRANSFER_PAD_QWORD 0x00004000 +#define SCANLINE_PAD_DWORD 0x00000000 + +#define SYNC_AFTER_COLOR_EXPAND 0x00008000 +#define SYNC_AFTER_IMAGE_WRITE SYNC_AFTER_COLOR_EXPAND + +/* hardware pattern */ +#define HARDWARE_PATTERN_PROGRAMMED_BITS 0x00010000 +#define HARDWARE_PATTERN_PROGRAMMED_ORIGIN 0x00020000 +#define HARDWARE_PATTERN_SCREEN_ORIGIN 0x00200000 + +/* copyarea flags */ +#define ONLY_TWO_BITBLT_DIRECTIONS 0x00400000 +#define ONLY_LEFT_TO_RIGHT_BITBLT 0x00800000 + +/* line flags */ +#define LINE_PATTERN_LSBFIRST_MSBJUSTIFIED 0x00800000 +#define LINE_PATTERN_LSBFIRST_LSBJUSTIFIED 0x00400000 +#define LINE_PATTERN_MSBFIRST_MSBJUSTIFIED 0x00200000 +#define LINE_PATTERN_MSBFIRST_LSBJUSTIFIED 0x00100000 +#define LINE_PATTERN_POWER_OF_2_ONLY 0x00080000 +#define LINE_LIMIT_COORDS 0x00040000 + +/* clipping flags */ +#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COLOR_EXPAND 0x00400000 +#define HARDWARE_CLIP_SCREEN_TO_SCREEN_COPY 0x00200000 +#define HARDWARE_CLIP_MONO_8x8_FILL 0x00100000 +#define HARDWARE_CLIP_COLOR_8x8_FILL 0x00080000 +#define HARDWARE_CLIP_SOLID_FILL 0x00040000 +#define HARDWARE_CLIP_DASHED_LINE 0x00020000 +#define HARDWARE_CLIP_SOLID_LINE 0x00010000 + +#define HARDWARE_CLIP_LINE 0x00000000 + + +/* image write flags */ +#define CONVERT_32BPP_TO_24BPP 0x00010000 + +/* pixmap cache flags */ +#define CACHE_MONO_8x8 0x00000001 +#define CACHE_COLOR_8x8 0x00000002 +#define DO_NOT_BLIT_STIPPLES 0x00000004 +#define DO_NOT_TILE_MONO_DATA 0x00000008 +#define DO_NOT_TILE_COLOR_DATA 0x00000010 + + +#define DEGREES_0 0 +#define DEGREES_90 1 +#define DEGREES_180 2 +#define DEGREES_270 3 + +#define OMIT_LAST 1 + +/* render flags */ + +#define XAA_RENDER_POWER_OF_2_TILE_ONLY 0x00000008 +#define XAA_RENDER_NO_SRC_ALPHA 0x00000004 +#define XAA_RENDER_IMPRECISE_ONLY 0x00000002 +#define XAA_RENDER_NO_TILE 0x00000001 + +#define XAA_RENDER_REPEAT 0x00000001 + +typedef void (* ValidateGCProcPtr)( + GCPtr pGC, + unsigned long changes, + DrawablePtr pDraw +); + +typedef struct { + unsigned char *bits; + int width; + int height; + int yoff; + int srcwidth; + int start; + int end; +} NonTEGlyphInfo, *NonTEGlyphPtr; + + +typedef struct { + int x; + int y; + int w; + int h; + int orig_w; + int orig_h; + unsigned long serialNumber; + int pat0; + int pat1; + int fg; + int bg; + int trans_color; + DDXPointPtr offsets; + DevUnion devPrivate; +} XAACacheInfoRec, *XAACacheInfoPtr; + + +typedef struct _PixmapLink { + PixmapPtr pPix; + struct _PixmapLink *next; + FBAreaPtr area; +} PixmapLink, *PixmapLinkPtr; + +typedef struct _XAAInfoRec { + ScrnInfoPtr pScrn; + int Flags; + + void (*Sync)( + ScrnInfoPtr pScrn + ); + + /* Restore Accel State is a driver callback that is used + * when another screen on the same device has been active. + * This allows multihead on a single device to work. + * If The entityProp has IS_SHARED_ACCEL defined then this + * function is required. + */ + + void (*RestoreAccelState)( + ScrnInfoPtr pScrn + ); + + /***************** Low Level *****************/ + +/* Blits */ + void (*SetupForScreenToScreenCopy)( + ScrnInfoPtr pScrn, + int xdir, int ydir, + int rop, + unsigned int planemask, + int trans_color + ); + int ScreenToScreenCopyFlags; + + void (*SubsequentScreenToScreenCopy)( + ScrnInfoPtr pScrn, + int xsrc, int ysrc, + int xdst, int ydst, + int w, int h + ); + + +/* Solid fills */ + void (*SetupForSolidFill)( + ScrnInfoPtr pScrn, + int color, + int rop, + unsigned int planemask + ); + int SolidFillFlags; + + void (*SubsequentSolidFillRect)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h + ); + + void (*SubsequentSolidFillTrap)( + ScrnInfoPtr pScrn, + int y, int h, + int left, int dxL, int dyL, int eL, + int right, int dxR, int dyR, int eR + ); + + +/* Solid lines */ + + void (*SetupForSolidLine)( + ScrnInfoPtr pScrn, + int color, + int rop, + unsigned int planemask + ); + int SolidLineFlags; + + void (*SubsequentSolidTwoPointLine)( + ScrnInfoPtr pScrn, + int xa, int ya, int xb, int yb, int flags + ); + + void (*SubsequentSolidBresenhamLine)( + ScrnInfoPtr pScrn, + int x, int y, int absmaj, int absmin, int err, int len, int octant + ); + int SolidBresenhamLineErrorTermBits; + + void (*SubsequentSolidHorVertLine)( + ScrnInfoPtr pScrn, + int x, int y, int len, int dir + ); + +/* Dashed lines */ + + void (*SetupForDashedLine)( + ScrnInfoPtr pScrn, + int fg, int bg, + int rop, + unsigned int planemask, + int length, + unsigned char *pattern + ); + int DashedLineFlags; + int DashPatternMaxLength; + + void (*SubsequentDashedTwoPointLine)( + ScrnInfoPtr pScrn, + int xa, int ya, int xb, int yb, int flags, int phase + ); + + void (*SubsequentDashedBresenhamLine)( + ScrnInfoPtr pScrn, + int x, int y, int absmaj, int absmin, int err, int len, int flags, + int phase + ); + int DashedBresenhamLineErrorTermBits; + +/* Clipper */ + + void (*SetClippingRectangle) ( + ScrnInfoPtr pScrn, + int left, int top, int right, int bottom + ); + int ClippingFlags; + + void (*DisableClipping)(ScrnInfoPtr pScrn); + +/* 8x8 mono pattern fills */ + void (*SetupForMono8x8PatternFill)( + ScrnInfoPtr pScrn, + int patx, int paty, + int fg, int bg, + int rop, + unsigned int planemask + ); + int Mono8x8PatternFillFlags; + + void (*SubsequentMono8x8PatternFillRect)( + ScrnInfoPtr pScrn, + int patx, int paty, + int x, int y, int w, int h + ); + + void (*SubsequentMono8x8PatternFillTrap)( + ScrnInfoPtr pScrn, + int patx, int paty, + int y, int h, + int left, int dxL, int dyL, int eL, + int right, int dxR, int dyR, int eR + ); + +/* 8x8 color pattern fills */ + + void (*SetupForColor8x8PatternFill)( + ScrnInfoPtr pScrn, + int patx, int paty, + int rop, + unsigned int planemask, + int transparency_color + ); + int Color8x8PatternFillFlags; + + void (*SubsequentColor8x8PatternFillRect)( + ScrnInfoPtr pScrn, + int patx, int paty, + int x, int y, int w, int h + ); + + void (*SubsequentColor8x8PatternFillTrap)( + ScrnInfoPtr pScrn, + int patx, int paty, + int y, int h, + int left, int dxL, int dyL, int eL, + int right, int dxR, int dyR, int eR + ); + + +/* Color expansion */ + + void (*SetupForCPUToScreenColorExpandFill)( + ScrnInfoPtr pScrn, + int fg, int bg, + int rop, + unsigned int planemask + ); + int CPUToScreenColorExpandFillFlags; + + void (*SubsequentCPUToScreenColorExpandFill)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int skipleft + ); + + unsigned char *ColorExpandBase; + int ColorExpandRange; + + +/* Scanline color expansion */ + + void (*SetupForScanlineCPUToScreenColorExpandFill)( + ScrnInfoPtr pScrn, + int fg, int bg, + int rop, + unsigned int planemask + ); + int ScanlineCPUToScreenColorExpandFillFlags; + + void (*SubsequentScanlineCPUToScreenColorExpandFill)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int skipleft + ); + + void (*SubsequentColorExpandScanline)( + ScrnInfoPtr pScrn, + int bufno + ); + + int NumScanlineColorExpandBuffers; + unsigned char **ScanlineColorExpandBuffers; + +/* Screen to screen color expansion */ + + void (*SetupForScreenToScreenColorExpandFill) ( + ScrnInfoPtr pScrn, + int fg, int bg, + int rop, + unsigned int planemask + ); + int ScreenToScreenColorExpandFillFlags; + + void (*SubsequentScreenToScreenColorExpandFill)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int srcx, int srcy, int skipleft + ); + + +/* Image transfers */ + + void (*SetupForImageWrite)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int transparency_color, + int bpp, int depth + ); + int ImageWriteFlags; + + void (*SubsequentImageWriteRect)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int skipleft + ); + unsigned char *ImageWriteBase; + int ImageWriteRange; + +/* Scanline Image transfers */ + + void (*SetupForScanlineImageWrite)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int transparency_color, + int bpp, int depth + ); + int ScanlineImageWriteFlags; + + void (*SubsequentScanlineImageWriteRect)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + int skipleft + ); + + void (*SubsequentImageWriteScanline) ( + ScrnInfoPtr pScrn, + int bufno + ); + + int NumScanlineImageWriteBuffers; + unsigned char **ScanlineImageWriteBuffers; + + /* Image Reads - OBSOLETE AND NOT USED */ + + void (*SetupForImageRead) ( + ScrnInfoPtr pScrn, + int bpp, int depth + ); + int ImageReadFlags; + + unsigned char *ImageReadBase; + int ImageReadRange; + + void (*SubsequentImageReadRect)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h + ); + + + /***************** Mid Level *****************/ + void (*ScreenToScreenBitBlt)( + ScrnInfoPtr pScrn, + int nbox, + DDXPointPtr pptSrc, + BoxPtr pbox, + int xdir, int ydir, + int alu, + unsigned int planmask + ); + int ScreenToScreenBitBltFlags; + + void (*WriteBitmap) ( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + unsigned char *src, + int srcwidth, + int skipleft, + int fg, int bg, + int rop, + unsigned int planemask + ); + int WriteBitmapFlags; + + void (*FillSolidRects)( + ScrnInfoPtr pScrn, + int fg, int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox + ); + int FillSolidRectsFlags; + + void (*FillMono8x8PatternRects)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int pat0, int pat1, + int xorg, int yorg + ); + int FillMono8x8PatternRectsFlags; + + void (*FillColor8x8PatternRects)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int xorg, int yorg, + XAACacheInfoPtr pCache + ); + int FillColor8x8PatternRectsFlags; + + void (*FillCacheBltRects)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int xorg, int yorg, + XAACacheInfoPtr pCache + ); + int FillCacheBltRectsFlags; + + void (*FillColorExpandRects)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int xorg, int yorg, + PixmapPtr pPix + ); + int FillColorExpandRectsFlags; + + void (*FillCacheExpandRects)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int xorg, int yorg, + PixmapPtr pPix + ); + int FillCacheExpandRectsFlags; + + void (*FillImageWriteRects)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int nBox, + BoxPtr pBox, + int xorg, int yorg, + PixmapPtr pPix + ); + int FillImageWriteRectsFlags; + + + void (*FillSolidSpans)( + ScrnInfoPtr pScrn, + int fg, int rop, + unsigned int planemask, + int n, + DDXPointPtr points, + int *widths, + int fSorted + ); + int FillSolidSpansFlags; + + void (*FillMono8x8PatternSpans)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int n, + DDXPointPtr points, + int *widths, + int fSorted, + int pat0, int pat1, + int xorg, int yorg + ); + int FillMono8x8PatternSpansFlags; + + void (*FillColor8x8PatternSpans)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int n, + DDXPointPtr points, + int *widths, + int fSorted, + XAACacheInfoPtr pCache, + int xorg, int yorg + ); + int FillColor8x8PatternSpansFlags; + + void (*FillCacheBltSpans)( + ScrnInfoPtr pScrn, + int rop, + unsigned int planemask, + int n, + DDXPointPtr points, + int *widths, + int fSorted, + XAACacheInfoPtr pCache, + int xorg, int yorg + ); + int FillCacheBltSpansFlags; + + void (*FillColorExpandSpans)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int n, + DDXPointPtr points, + int *widths, + int fSorted, + int xorg, int yorg, + PixmapPtr pPix + ); + int FillColorExpandSpansFlags; + + void (*FillCacheExpandSpans)( + ScrnInfoPtr pScrn, + int fg, int bg, int rop, + unsigned int planemask, + int n, + DDXPointPtr ppt, + int *pwidth, + int fSorted, + int xorg, int yorg, + PixmapPtr pPix + ); + int FillCacheExpandSpansFlags; + + void (*TEGlyphRenderer)( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, int skipleft, int startline, + unsigned int **glyphs, int glyphWidth, + int fg, int bg, int rop, unsigned planemask + ); + int TEGlyphRendererFlags; + + void (*NonTEGlyphRenderer)( + ScrnInfoPtr pScrn, + int x, int y, int n, + NonTEGlyphPtr glyphs, + BoxPtr pbox, + int fg, int rop, + unsigned int planemask + ); + int NonTEGlyphRendererFlags; + + void (*WritePixmap) ( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + unsigned char *src, + int srcwidth, + int rop, + unsigned int planemask, + int transparency_color, + int bpp, int depth + ); + int WritePixmapFlags; + + void (*ReadPixmap) ( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + unsigned char *dst, + int dstwidth, + int bpp, int depth + ); + int ReadPixmapFlags; + + /***************** GC Level *****************/ + RegionPtr (*CopyArea)( + DrawablePtr pSrcDrawable, + DrawablePtr pDstDrawable, + GC *pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty + ); + int CopyAreaFlags; + + RegionPtr (*CopyPlane)( + DrawablePtr pSrc, + DrawablePtr pDst, + GCPtr pGC, + int srcx, int srcy, + int width, int height, + int dstx, int dsty, + unsigned long bitPlane + ); + int CopyPlaneFlags; + + void (*PushPixelsSolid) ( + GCPtr pGC, + PixmapPtr pBitMap, + DrawablePtr pDrawable, + int dx, int dy, + int xOrg, int yOrg + ); + int PushPixelsFlags; + + /** PolyFillRect **/ + + void (*PolyFillRectSolid)( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit + ); + int PolyFillRectSolidFlags; + + void (*PolyFillRectStippled)( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit + ); + int PolyFillRectStippledFlags; + + void (*PolyFillRectOpaqueStippled)( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit + ); + int PolyFillRectOpaqueStippledFlags; + + void (*PolyFillRectTiled)( + DrawablePtr pDraw, + GCPtr pGC, + int nrectFill, + xRectangle *prectInit + ); + int PolyFillRectTiledFlags; + + /** FillSpans **/ + + void (*FillSpansSolid)( + DrawablePtr pDraw, + GCPtr pGC, + int nInit, + DDXPointPtr ppt, + int *pwidth, + int fSorted + ); + int FillSpansSolidFlags; + + void (*FillSpansStippled)( + DrawablePtr pDraw, + GCPtr pGC, + int nInit, + DDXPointPtr ppt, + int *pwidth, + int fSorted + ); + int FillSpansStippledFlags; + + void (*FillSpansOpaqueStippled)( + DrawablePtr pDraw, + GCPtr pGC, + int nInit, + DDXPointPtr ppt, + int *pwidth, + int fSorted + ); + int FillSpansOpaqueStippledFlags; + + void (*FillSpansTiled)( + DrawablePtr pDraw, + GCPtr pGC, + int nInit, + DDXPointPtr ppt, + int *pwidth, + int fSorted + ); + int FillSpansTiledFlags; + + int (*PolyText8TE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + char *chars + ); + int PolyText8TEFlags; + + int (*PolyText16TE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + unsigned short *chars + ); + int PolyText16TEFlags; + + void (*ImageText8TE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + char *chars + ); + int ImageText8TEFlags; + + void (*ImageText16TE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + unsigned short *chars + ); + int ImageText16TEFlags; + + void (*ImageGlyphBltTE) ( + DrawablePtr pDrawable, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase + ); + int ImageGlyphBltTEFlags; + + void (*PolyGlyphBltTE) ( + DrawablePtr pDrawable, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase + ); + int PolyGlyphBltTEFlags; + + int (*PolyText8NonTE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + char *chars + ); + int PolyText8NonTEFlags; + + int (*PolyText16NonTE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + unsigned short *chars + ); + int PolyText16NonTEFlags; + + void (*ImageText8NonTE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + char *chars + ); + int ImageText8NonTEFlags; + + void (*ImageText16NonTE) ( + DrawablePtr pDraw, + GCPtr pGC, + int x, int y, + int count, + unsigned short *chars + ); + int ImageText16NonTEFlags; + + void (*ImageGlyphBltNonTE) ( + DrawablePtr pDrawable, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase + ); + int ImageGlyphBltNonTEFlags; + + void (*PolyGlyphBltNonTE) ( + DrawablePtr pDrawable, + GCPtr pGC, + int xInit, int yInit, + unsigned int nglyph, + CharInfoPtr *ppci, + pointer pglyphBase + ); + int PolyGlyphBltNonTEFlags; + + void (*PolyRectangleThinSolid)( + DrawablePtr pDrawable, + GCPtr pGC, + int nRectsInit, + xRectangle *pRectsInit + ); + int PolyRectangleThinSolidFlags; + + void (*PolylinesWideSolid)( + DrawablePtr pDrawable, + GCPtr pGC, + int mode, + int npt, + DDXPointPtr pPts + ); + int PolylinesWideSolidFlags; + + void (*PolylinesThinSolid)( + DrawablePtr pDrawable, + GCPtr pGC, + int mode, + int npt, + DDXPointPtr pPts + ); + int PolylinesThinSolidFlags; + + void (*PolySegmentThinSolid)( + DrawablePtr pDrawable, + GCPtr pGC, + int nseg, + xSegment *pSeg + ); + int PolySegmentThinSolidFlags; + + void (*PolylinesThinDashed)( + DrawablePtr pDrawable, + GCPtr pGC, + int mode, + int npt, + DDXPointPtr pPts + ); + int PolylinesThinDashedFlags; + + void (*PolySegmentThinDashed)( + DrawablePtr pDrawable, + GCPtr pGC, + int nseg, + xSegment *pSeg + ); + int PolySegmentThinDashedFlags; + + void (*FillPolygonSolid)( + DrawablePtr pDrawable, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn + ); + int FillPolygonSolidFlags; + + void (*FillPolygonStippled)( + DrawablePtr pDrawable, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn + ); + int FillPolygonStippledFlags; + + void (*FillPolygonOpaqueStippled)( + DrawablePtr pDrawable, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn + ); + int FillPolygonOpaqueStippledFlags; + + void (*FillPolygonTiled)( + DrawablePtr pDrawable, + GCPtr pGC, + int shape, + int mode, + int count, + DDXPointPtr ptsIn + ); + int FillPolygonTiledFlags; + + void (*PolyFillArcSolid)( + DrawablePtr pDraw, + GCPtr pGC, + int narcs, + xArc *parcs + ); + int PolyFillArcSolidFlags; + + void (*PutImage)( + DrawablePtr pDraw, + GCPtr pGC, + int depth, + int x, + int y, + int w, + int h, + int leftPad, + int format, + char *pImage + ); + int PutImageFlags; + + /* Validation masks */ + + unsigned long FillSpansMask; + ValidateGCProcPtr ValidateFillSpans; + unsigned long SetSpansMask; + ValidateGCProcPtr ValidateSetSpans; + unsigned long PutImageMask; + ValidateGCProcPtr ValidatePutImage; + unsigned long CopyAreaMask; + ValidateGCProcPtr ValidateCopyArea; + unsigned long CopyPlaneMask; + ValidateGCProcPtr ValidateCopyPlane; + unsigned long PolyPointMask; + ValidateGCProcPtr ValidatePolyPoint; + unsigned long PolylinesMask; + ValidateGCProcPtr ValidatePolylines; + unsigned long PolySegmentMask; + ValidateGCProcPtr ValidatePolySegment; + unsigned long PolyRectangleMask; + ValidateGCProcPtr ValidatePolyRectangle; + unsigned long PolyArcMask; + ValidateGCProcPtr ValidatePolyArc; + unsigned long FillPolygonMask; + ValidateGCProcPtr ValidateFillPolygon; + unsigned long PolyFillRectMask; + ValidateGCProcPtr ValidatePolyFillRect; + unsigned long PolyFillArcMask; + ValidateGCProcPtr ValidatePolyFillArc; + unsigned long PolyText8Mask; + ValidateGCProcPtr ValidatePolyText8; + unsigned long PolyText16Mask; + ValidateGCProcPtr ValidatePolyText16; + unsigned long ImageText8Mask; + ValidateGCProcPtr ValidateImageText8; + unsigned long ImageText16Mask; + ValidateGCProcPtr ValidateImageText16; + unsigned long PolyGlyphBltMask; + ValidateGCProcPtr ValidatePolyGlyphBlt; + unsigned long ImageGlyphBltMask; + ValidateGCProcPtr ValidateImageGlyphBlt; + unsigned long PushPixelsMask; + ValidateGCProcPtr ValidatePushPixels; + + void (*ComputeDash)(GCPtr pGC); + + /* Pixmap Cache */ + + int PixmapCacheFlags; + Bool UsingPixmapCache; + Bool CanDoMono8x8; + Bool CanDoColor8x8; + + void (*InitPixmapCache)( + ScreenPtr pScreen, + RegionPtr areas, + pointer data + ); + void (*ClosePixmapCache)( + ScreenPtr pScreen + ); + + int (*StippledFillChooser)(GCPtr pGC); + int (*OpaqueStippledFillChooser)(GCPtr pGC); + int (*TiledFillChooser)(GCPtr pGC); + + int CachePixelGranularity; + int MaxCacheableTileWidth; + int MaxCacheableTileHeight; + int MaxCacheableStippleWidth; + int MaxCacheableStippleHeight; + + XAACacheInfoPtr (*CacheTile)( + ScrnInfoPtr Scrn, PixmapPtr pPix + ); + XAACacheInfoPtr (*CacheStipple)( + ScrnInfoPtr Scrn, PixmapPtr pPix, + int fg, int bg + ); + XAACacheInfoPtr (*CacheMonoStipple)( + ScrnInfoPtr Scrn, PixmapPtr pPix + ); + XAACacheInfoPtr (*CacheMono8x8Pattern)( + ScrnInfoPtr Scrn, int pat0, int pat1 + ); + XAACacheInfoPtr (*CacheColor8x8Pattern)( + ScrnInfoPtr Scrn, PixmapPtr pPix, + int fg, int bg + ); + + + int MonoPatternPitch; + int CacheWidthMono8x8Pattern; + int CacheHeightMono8x8Pattern; + + int ColorPatternPitch; + int CacheWidthColor8x8Pattern; + int CacheHeightColor8x8Pattern; + + int CacheColorExpandDensity; + + void (*WriteBitmapToCache) ( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + unsigned char *src, + int srcwidth, + int fg, int bg + ); + void (*WritePixmapToCache) ( + ScrnInfoPtr pScrn, + int x, int y, int w, int h, + unsigned char *src, + int srcwidth, + int bpp, int depth + ); + void (*WriteMono8x8PatternToCache)( + ScrnInfoPtr pScrn, + XAACacheInfoPtr pCache + ); + void (*WriteColor8x8PatternToCache)( + ScrnInfoPtr pScrn, + PixmapPtr pPix, + XAACacheInfoPtr pCache + ); + + char* PixmapCachePrivate; + + /* Miscellaneous */ + + GC ScratchGC; + int PreAllocSize; + unsigned char *PreAllocMem; + + CharInfoPtr CharInfo[255]; + NonTEGlyphInfo GlyphInfo[255]; + + unsigned int FullPlanemask; /* deprecated */ + + PixmapLinkPtr OffscreenPixmaps; + int maxOffPixWidth; + int maxOffPixHeight; + + XAACacheInfoRec ScratchCacheInfoRec; + + BoxPtr ClipBox; + + Bool NeedToSync; + + char *dgaSaves; + + /* These can be supplied to override the defaults */ + + GetImageProcPtr GetImage; + GetSpansProcPtr GetSpans; + CopyWindowProcPtr CopyWindow; + + unsigned int offscreenDepths; + Bool offscreenDepthsInitialized; + + CARD32 FullPlanemasks[32]; + + Bool (*Composite) ( + CARD8 op, + PicturePtr pSrc, + PicturePtr pMask, + PicturePtr pDst, + INT16 xSrc, + INT16 ySrc, + INT16 xMask, + INT16 yMask, + INT16 xDst, + INT16 yDst, + CARD16 width, + CARD16 height + ); + + Bool (*Glyphs) ( + CARD8 op, + PicturePtr pSrc, + PicturePtr pDst, + PictFormatPtr maskFormat, + INT16 xSrc, + INT16 ySrc, + int nlist, + GlyphListPtr list, + GlyphPtr *glyphs + ); + + /* The old SetupForCPUToScreenAlphaTexture function is no longer used because + * it doesn't pass in enough information to write a conforming + * implementation. See SetupForCPUToScreenAlphaTexture2. + */ + Bool (*SetupForCPUToScreenAlphaTexture) ( + ScrnInfoPtr pScrn, + int op, + CARD16 red, + CARD16 green, + CARD16 blue, + CARD16 alpha, + int alphaType, + CARD8 *alphaPtr, + int alphaPitch, + int width, + int height, + int flags + ); + void (*SubsequentCPUToScreenAlphaTexture) ( + ScrnInfoPtr pScrn, + int dstx, + int dsty, + int srcx, + int srcy, + int width, + int height + ); + int CPUToScreenAlphaTextureFlags; + CARD32 * CPUToScreenAlphaTextureFormats; + + /* The old SetupForCPUToScreenTexture function is no longer used because + * it doesn't pass in enough information to write a conforming + * implementation. See SetupForCPUToScreenTexture2. + */ + Bool (*SetupForCPUToScreenTexture) ( + ScrnInfoPtr pScrn, + int op, + int texType, + CARD8 *texPtr, + int texPitch, + int width, + int height, + int flags + ); + void (*SubsequentCPUToScreenTexture) ( + ScrnInfoPtr pScrn, + int dstx, + int dsty, + int srcx, + int srcy, + int width, + int height + ); + int CPUToScreenTextureFlags; + CARD32 * CPUToScreenTextureFormats; + + + /* these were added for 4.3.0 */ + BoxRec SolidLineLimits; + BoxRec DashedLineLimits; + + /* These were added for X.Org 6.8.0 */ + Bool (*SetupForCPUToScreenAlphaTexture2) ( + ScrnInfoPtr pScrn, + int op, + CARD16 red, + CARD16 green, + CARD16 blue, + CARD16 alpha, + CARD32 maskFormat, + CARD32 dstFormat, + CARD8 *alphaPtr, + int alphaPitch, + int width, + int height, + int flags + ); + CARD32 *CPUToScreenAlphaTextureDstFormats; + + Bool (*SetupForCPUToScreenTexture2) ( + ScrnInfoPtr pScrn, + int op, + CARD32 srcFormat, + CARD32 dstFormat, + CARD8 *texPtr, + int texPitch, + int width, + int height, + int flags + ); + CARD32 *CPUToScreenTextureDstFormats; +} XAAInfoRec, *XAAInfoRecPtr; + +#define SET_SYNC_FLAG(infoRec) (infoRec)->NeedToSync = TRUE + + +extern _X_EXPORT Bool +XAAInit( + ScreenPtr pScreen, + XAAInfoRecPtr infoRec +); + +extern _X_EXPORT XAAInfoRecPtr XAACreateInfoRec(void); + +extern _X_EXPORT void +XAADestroyInfoRec( + XAAInfoRecPtr infoRec +); + +typedef void (*DepthChangeFuncPtr) (ScrnInfoPtr pScrn, int depth); + +extern _X_EXPORT Bool +XAAInitDualFramebufferOverlay( + ScreenPtr pScreen, + DepthChangeFuncPtr callback +); + +#endif /* _XAA_H */ diff --git a/xorg-server/hw/xfree86/xf8_16bpp/Makefile.am b/xorg-server/hw/xfree86/xf8_16bpp/Makefile.am deleted file mode 100644 index 3c5b8c93d..000000000 --- a/xorg-server/hw/xfree86/xf8_16bpp/Makefile.am +++ /dev/null @@ -1,11 +0,0 @@ -module_LTLIBRARIES = libxf8_16bpp.la - -sdk_HEADERS = cfb8_16.h - -INCLUDES = $(XORG_INCS) -I$(top_srcdir)/fb - -AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) - -libxf8_16bpp_la_LDFLAGS = -avoid-version - -libxf8_16bpp_la_SOURCES = xf8_16module.c diff --git a/xorg-server/hw/xfree86/xf8_16bpp/cfb8_16.h b/xorg-server/hw/xfree86/xf8_16bpp/cfb8_16.h deleted file mode 100644 index b6ab955f3..000000000 --- a/xorg-server/hw/xfree86/xf8_16bpp/cfb8_16.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2006 Adam Jackson. - * - * 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 and this permission notice (including the next - * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. - */ - -#ifndef _CFB8_16_H -#define _CFB8_16_H - -#include "regionstr.h" -#include "windowstr.h" - -/* this has to stay misnamed for ABI reasons */ - -extern _X_EXPORT Bool -cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, - int xsize, int ysize, int dpix, int dpiy, - int width16, int width8); - -#endif /* _CFB8_16_H */ diff --git a/xorg-server/hw/xfree86/xf8_16bpp/xf8_16module.c b/xorg-server/hw/xfree86/xf8_16bpp/xf8_16module.c deleted file mode 100644 index 6a4529ae8..000000000 --- a/xorg-server/hw/xfree86/xf8_16bpp/xf8_16module.c +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright 2006 Adam Jackson. - * - * 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 and this permission notice (including the next - * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. - */ - -#ifdef HAVE_XORG_CONFIG_H -#include -#endif - -#include -#include -#include "misc.h" -#include "servermd.h" -#include "scrnintstr.h" -#include "resource.h" -#include "fb.h" -#include "fboverlay.h" -#include "cfb8_16.h" - -Bool -cfb8_16ScreenInit(ScreenPtr pScreen, pointer pbits16, pointer pbits8, - int xsize, int ysize, int dpix, int dpiy, - int width16, int width8) -{ - return - (fbOverlaySetupScreen(pScreen, pbits16, pbits8, xsize, ysize, - dpix, dpiy, width16, width8, 16, 8) && - fbOverlayFinishScreenInit(pScreen, pbits16, pbits8, xsize, ysize, - dpix, dpiy, width16, width8, 16, 8, 16, 8)); -} - -#include "xf86Module.h" - -static MODULESETUPPROTO(xf8_16bppSetup); - -static XF86ModuleVersionInfo VersRec = { - "xf8_16bpp", - MODULEVENDORSTRING, - MODINFOSTRING1, - MODINFOSTRING2, - XORG_VERSION_CURRENT, - 2, 0, 0, - ABI_CLASS_ANSIC, /* Only need the ansic layer */ - ABI_ANSIC_VERSION, - NULL, - {0,0,0,0} /* signature, to be patched into the file by a tool */ -}; - -_X_EXPORT XF86ModuleData xf8_16bppModuleData = { - &VersRec, - xf8_16bppSetup, - NULL -}; - -static pointer -xf8_16bppSetup(pointer module, pointer opts, int *errmaj, int *errmin) -{ - return (pointer)LoadSubModule(module, "fb", NULL, NULL, NULL, NULL, - errmaj, errmin); -} diff --git a/xorg-server/hw/xnest/Screen.c b/xorg-server/hw/xnest/Screen.c index f4e5cbd0a..c4ab464cb 100644 --- a/xorg-server/hw/xnest/Screen.c +++ b/xorg-server/hw/xnest/Screen.c @@ -239,8 +239,6 @@ xnestOpenScreen(int index, ScreenPtr pScreen, int argc, char *argv[]) defaultVisual, /* root visual */ numVisuals, visuals); -/* miInitializeBackingStore(pScreen); */ - pScreen->defColormap = (Colormap) FakeClientID(0); pScreen->minInstalledCmaps = MINCMAPS; pScreen->maxInstalledCmaps = MAXCMAPS; diff --git a/xorg-server/hw/xquartz/GL/indirect.c b/xorg-server/hw/xquartz/GL/indirect.c index 718727ebe..3edf25d24 100644 --- a/xorg-server/hw/xquartz/GL/indirect.c +++ b/xorg-server/hw/xquartz/GL/indirect.c @@ -586,8 +586,6 @@ static __GLXscreen * __glXAquaScreenProbe(ScreenPtr pScreen) { screen->base.createContext = __glXAquaScreenCreateContext; screen->base.createDrawable = __glXAquaScreenCreateDrawable; screen->base.swapInterval = /*FIXME*/ NULL; - screen->base.hyperpipeFuncs = NULL; - screen->base.swapBarrierFuncs = NULL; screen->base.pScreen = pScreen; screen->base.fbconfigs = __glXAquaCreateVisualConfigs(&screen->base.numFBConfigs, pScreen->myNum); diff --git a/xorg-server/hw/xquartz/darwin.c b/xorg-server/hw/xquartz/darwin.c index f217f4c33..4dbe74b97 100644 --- a/xorg-server/hw/xquartz/darwin.c +++ b/xorg-server/hw/xquartz/darwin.c @@ -868,28 +868,6 @@ xf86SetRootClip (ScreenPtr pScreen, int enable) (*pScreen->ValidateTree)(pWin, NullWindow, VTOther); } - if (pWin->backStorage && - ((pWin->backingStore == Always) || WasViewable)) - { - if (!WasViewable) - pOldClip = &pWin->clipList; /* a convenient empty region */ - bsExposed = (*pScreen->TranslateBackingStore) - (pWin, 0, 0, pOldClip, - pWin->drawable.x, pWin->drawable.y); - if (WasViewable) - RegionDestroy(pOldClip); - if (bsExposed) - { - RegionPtr valExposed = NullRegion; - - if (pWin->valdata) - valExposed = &pWin->valdata->after.exposed; - (*pScreen->WindowExposures) (pWin, valExposed, bsExposed); - if (valExposed) - RegionEmpty(valExposed); - RegionDestroy(bsExposed); - } - } if (WasViewable) { if (anyMarked) diff --git a/xorg-server/hw/xwin/glx/indirect.c b/xorg-server/hw/xwin/glx/indirect.c index a7234a6cd..4877a9ac8 100644 --- a/xorg-server/hw/xwin/glx/indirect.c +++ b/xorg-server/hw/xwin/glx/indirect.c @@ -649,8 +649,6 @@ glxWinScreenProbe(ScreenPtr pScreen) screen->base.createContext = glxWinCreateContext; screen->base.createDrawable = glxWinCreateDrawable; screen->base.swapInterval = glxWinScreenSwapInterval; - screen->base.hyperpipeFuncs = NULL; - screen->base.swapBarrierFuncs = NULL; screen->base.pScreen = pScreen; if (strstr(wgl_extensions, "WGL_ARB_pixel_format")) diff --git a/xorg-server/hw/xwin/winscrinit.c b/xorg-server/hw/xwin/winscrinit.c index ec46abfe2..f067fde6a 100644 --- a/xorg-server/hw/xwin/winscrinit.c +++ b/xorg-server/hw/xwin/winscrinit.c @@ -394,13 +394,6 @@ winFinishScreenInitFB (int index, } #endif - /* - * Backing store support should reduce network traffic and increase - * performance. - */ - miInitializeBackingStore (pScreen); - - /* KDrive does miDCInitialize right after miInitializeBackingStore */ /* Setup the cursor routines */ #if CYGDEBUG winDebug ("winFinishScreenInitFB - Calling miDCInitialize ()\n"); diff --git a/xorg-server/include/Makefile.am b/xorg-server/include/Makefile.am index 21f9358d5..78a25ccd9 100644 --- a/xorg-server/include/Makefile.am +++ b/xorg-server/include/Makefile.am @@ -1,8 +1,6 @@ if XORG sdk_HEADERS = \ XIstubs.h \ - bstore.h \ - bstorestr.h \ callback.h \ closestr.h \ closure.h \ diff --git a/xorg-server/include/bstore.h b/xorg-server/include/bstore.h deleted file mode 100644 index 843d6bb35..000000000 --- a/xorg-server/include/bstore.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (c) 1987 by the Regents of the University of California - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, provided - * that the above copyright notice appear in all copies. The University of - * California makes no representations about the suitability of this software - * for any purpose. It is provided "as is" without express or implied - * warranty. - */ - -/* - * Moved here from mi to allow wrapping of lower level backing store functions. - * -- 1997.10.27 Marc Aurele La France (tsi@xfree86.org) - */ - -#ifndef _BSTORE_H_ -#define _BSTORE_H_ - -#include "bstorestr.h" - -#endif /* _BSTORE_H_ */ diff --git a/xorg-server/include/bstorestr.h b/xorg-server/include/bstorestr.h deleted file mode 100644 index cf7820ba4..000000000 --- a/xorg-server/include/bstorestr.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 1987 by the Regents of the University of California - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, provided - * that the above copyright notice appear in all copies. The University of - * California makes no representations about the suitability of this software - * for any purpose. It is provided "as is" without express or implied - * warranty. - */ - -/* - * Moved here from mi to allow wrapping of lower level backing store functions. - * -- 1997.10.27 Marc Aurele La France (tsi@xfree86.org) - */ - -#ifndef _BSTORESTR_H_ -#define _BSTORESTR_H_ - -#include "gc.h" -#include "pixmap.h" -#include "region.h" -#include "window.h" - -typedef void (* BackingStoreSaveAreasProcPtr)( - PixmapPtr /*pBackingPixmap*/, - RegionPtr /*pObscured*/, - int /*x*/, - int /*y*/, - WindowPtr /*pWin*/); - -typedef void (* BackingStoreRestoreAreasProcPtr)( - PixmapPtr /*pBackingPixmap*/, - RegionPtr /*pExposed*/, - int /*x*/, - int /*y*/, - WindowPtr /*pWin*/); - -typedef void (* BackingStoreSetClipmaskRgnProcPtr)( - GCPtr /*pBackingGC*/, - RegionPtr /*pbackingCompositeClip*/); - -typedef PixmapPtr (* BackingStoreGetImagePixmapProcPtr)(void); - -typedef PixmapPtr (* BackingStoreGetSpansPixmapProcPtr)(void); - -typedef struct _BSFuncs { - BackingStoreSaveAreasProcPtr SaveAreas; - BackingStoreRestoreAreasProcPtr RestoreAreas; - BackingStoreSetClipmaskRgnProcPtr SetClipmaskRgn; - BackingStoreGetImagePixmapProcPtr GetImagePixmap; - BackingStoreGetSpansPixmapProcPtr GetSpansPixmap; -} BSFuncRec, *BSFuncPtr; - -#endif /* _BSTORESTR_H_ */ diff --git a/xorg-server/include/os.h b/xorg-server/include/os.h index 5b9b05c4a..7e0cdbd3e 100644 --- a/xorg-server/include/os.h +++ b/xorg-server/include/os.h @@ -441,29 +441,6 @@ extern _X_EXPORT int ddxProcessArgument(int /*argc*/, char * /*argv*/ [], int /* extern _X_EXPORT void ddxUseMsg(void); -/* int ReqLen(xReq *req, ClientPtr client) - * Given a pointer to a *complete* request, return its length in bytes. - * Note that if the request is a big request (as defined in the Big - * Requests extension), the macro lies by returning 4 less than the - * length that it actually occupies in the request buffer. This is so you - * can blindly compare the length with the various sz_ constants - * in Xproto.h without having to know/care about big requests. - */ -#define ReqLen(_pxReq, _client) \ - ((_pxReq->length ? \ - (_client->swapped ? lswaps(_pxReq->length) : _pxReq->length) \ - : ((_client->swapped ? \ - lswapl(((CARD32*)_pxReq)[1]) : ((CARD32*)_pxReq)[1])-1) \ - ) << 2) - -/* otherReqTypePtr CastxReq(xReq *req, otherReqTypePtr) - * Cast the given request to one of type otherReqTypePtr to access - * fields beyond the length field. - */ -#define CastxReq(_pxReq, otherReqTypePtr) \ - (_pxReq->length ? (otherReqTypePtr)_pxReq \ - : (otherReqTypePtr)(((CARD32*)_pxReq)+1)) - /* stuff for ReplyCallback */ extern _X_EXPORT CallbackListPtr ReplyCallback; typedef struct { diff --git a/xorg-server/include/scrnintstr.h b/xorg-server/include/scrnintstr.h index a213058e2..8d7c7db8b 100644 --- a/xorg-server/include/scrnintstr.h +++ b/xorg-server/include/scrnintstr.h @@ -50,7 +50,6 @@ SOFTWARE. #include "screenint.h" #include "regionstr.h" -#include "bstore.h" #include "colormap.h" #include "cursor.h" #include "validate.h" @@ -213,48 +212,6 @@ typedef PixmapPtr (* CreatePixmapProcPtr)( typedef Bool (* DestroyPixmapProcPtr)( PixmapPtr /*pPixmap*/); -typedef void (* SaveDoomedAreasProcPtr)( - WindowPtr /*pWindow*/, - RegionPtr /*prgnSave*/, - int /*xorg*/, - int /*yorg*/); - -typedef RegionPtr (* RestoreAreasProcPtr)( - WindowPtr /*pWindow*/, - RegionPtr /*prgnRestore*/); - -typedef void (* ExposeCopyProcPtr)( - WindowPtr /*pSrc*/, - DrawablePtr /*pDst*/, - GCPtr /*pGC*/, - RegionPtr /*prgnExposed*/, - int /*srcx*/, - int /*srcy*/, - int /*dstx*/, - int /*dsty*/, - unsigned long /*plane*/); - -typedef RegionPtr (* TranslateBackingStoreProcPtr)( - WindowPtr /*pWindow*/, - int /*windx*/, - int /*windy*/, - RegionPtr /*oldClip*/, - int /*oldx*/, - int /*oldy*/); - -typedef RegionPtr (* ClearBackingStoreProcPtr)( - WindowPtr /*pWindow*/, - int /*x*/, - int /*y*/, - int /*w*/, - int /*h*/, - Bool /*generateExposures*/); - -typedef void (* DrawGuaranteeProcPtr)( - WindowPtr /*pWindow*/, - GCPtr /*pGC*/, - int /*guarantee*/); - typedef Bool (* RealizeFontProcPtr)( ScreenPtr /*pScreen*/, FontPtr /*pFont*/); @@ -388,14 +345,6 @@ typedef Bool (* MarkOverlappedWindowsProcPtr)( WindowPtr /*firstChild*/, WindowPtr * /*pLayerWin*/); -typedef Bool (* ChangeSaveUnderProcPtr)( - WindowPtr /*pLayerWin*/, - WindowPtr /*firstChild*/); - -typedef void (* PostChangeSaveUnderProcPtr)( - WindowPtr /*pLayerWin*/, - WindowPtr /*firstChild*/); - typedef int (* ConfigNotifyProcPtr)( WindowPtr /*pWin*/, int /*x*/, @@ -511,20 +460,6 @@ typedef struct _Screen { CreatePixmapProcPtr CreatePixmap; DestroyPixmapProcPtr DestroyPixmap; - /* Backing store procedures */ - - SaveDoomedAreasProcPtr SaveDoomedAreas; - RestoreAreasProcPtr RestoreAreas; - ExposeCopyProcPtr ExposeCopy; - TranslateBackingStoreProcPtr TranslateBackingStore; - ClearBackingStoreProcPtr ClearBackingStore; - DrawGuaranteeProcPtr DrawGuarantee; - /* - * A read/write copy of the lower level backing store vector is needed now - * that the functions can be wrapped. - */ - BSFuncRec BackingStoreFuncs; - /* Font procedures */ RealizeFontProcPtr RealizeFont; @@ -584,8 +519,6 @@ typedef struct _Screen { MarkWindowProcPtr MarkWindow; MarkOverlappedWindowsProcPtr MarkOverlappedWindows; - ChangeSaveUnderProcPtr ChangeSaveUnder; - PostChangeSaveUnderProcPtr PostChangeSaveUnder; ConfigNotifyProcPtr ConfigNotify; MoveWindowProcPtr MoveWindow; ResizeWindowProcPtr ResizeWindow; diff --git a/xorg-server/include/windowstr.h b/xorg-server/include/windowstr.h index ec1e07c80..fd97c3a55 100644 --- a/xorg-server/include/windowstr.h +++ b/xorg-server/include/windowstr.h @@ -79,8 +79,8 @@ typedef struct _DevCursorNode { } DevCursNodeRec, *DevCursNodePtr, *DevCursorList; typedef struct _WindowOpt { - VisualID visual; /* default: same as parent */ CursorPtr cursor; /* default: window.cursorNone */ + VisualID visual; /* default: same as parent */ Colormap colormap; /* default: same as parent */ Mask dontPropagateMask; /* default: window.dontPropagate */ Mask otherEventMasks; /* default: 0 */ diff --git a/xorg-server/mi/Makefile.am b/xorg-server/mi/Makefile.am index 8ec45ecd8..daf272814 100644 --- a/xorg-server/mi/Makefile.am +++ b/xorg-server/mi/Makefile.am @@ -12,9 +12,7 @@ libmi_la_SOURCES = \ mi.h \ miarc.c \ mibitblt.c \ - mibstore.c \ mibstore.h \ - mibstorest.h \ micmap.c \ micmap.h \ micoord.h \ diff --git a/xorg-server/mi/mi.h b/xorg-server/mi/mi.h index eca65f20e..ea5424823 100644 --- a/xorg-server/mi/mi.h +++ b/xorg-server/mi/mi.h @@ -456,10 +456,6 @@ extern _X_EXPORT Bool miScreenInit( VisualPtr /*visuals*/ ); -extern _X_EXPORT DevPrivateKey miAllocateGCPrivateIndex( - void -); - /* mivaltree.c */ extern _X_EXPORT int miShapedWindowIn( diff --git a/xorg-server/mi/mibstore.c b/xorg-server/mi/mibstore.c index 262b4944d..b791b9dc6 100644 --- a/xorg-server/mi/mibstore.c +++ b/xorg-server/mi/mibstore.c @@ -1,49 +1,43 @@ -/* - * Copyright 2007 Red Hat, Inc. - * - * 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 and this permission notice (including the next - * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif -#include "scrnintstr.h" -#include "mibstore.h" - -/* - * There is no longer an mi implementation of backing store. This function - * is only for source compatibility with old drivers. - * - * Note though that you do get backing store for free if your server has - * Composite enabled, since the automatic redirection mechanism provides - * essentially the same functionality. See compChangeWindowAttributes() - * for the implementation. - */ - -void -miInitializeBackingStore (ScreenPtr pScreen) -{ - pScreen->SaveDoomedAreas = NULL; - pScreen->RestoreAreas = NULL; - pScreen->ExposeCopy = NULL; - pScreen->TranslateBackingStore = NULL; - pScreen->ClearBackingStore = NULL; - pScreen->DrawGuarantee = NULL; -} +/* + * Copyright 2007 Red Hat, Inc. + * + * 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 and this permission notice (including the next + * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif +#include "scrnintstr.h" +#include "mibstore.h" + +/* + * There is no longer an mi implementation of backing store. This function + * is only for source compatibility with old drivers. + * + * Note though that you do get backing store for free if your server has + * Composite enabled, since the automatic redirection mechanism provides + * essentially the same functionality. See compChangeWindowAttributes() + * for the implementation. + */ + +void +miInitializeBackingStore (ScreenPtr pScreen) +{ +} diff --git a/xorg-server/mi/mibstore.h b/xorg-server/mi/mibstore.h index ef7e18790..f40f28819 100644 --- a/xorg-server/mi/mibstore.h +++ b/xorg-server/mi/mibstore.h @@ -1,25 +1,23 @@ -/*- - * mibstore.h -- - * Header file for users of the MI backing-store scheme. - * - * Copyright (c) 1987 by the Regents of the University of California - * - * Permission to use, copy, modify, and distribute this - * software and its documentation for any purpose and without - * fee is hereby granted, provided that the above copyright - * notice appear in all copies. The University of California - * makes no representations about the suitability of this - * software for any purpose. It is provided "as is" without - * express or implied warranty. - */ - -#ifndef _MIBSTORE_H -#define _MIBSTORE_H - -#include "screenint.h" - -extern _X_EXPORT void miInitializeBackingStore( - ScreenPtr /*pScreen*/ -); - -#endif /* _MIBSTORE_H */ +/*- + * mibstore.h -- + * Header file for users of the MI backing-store scheme. + * + * Copyright (c) 1987 by the Regents of the University of California + * + * Permission to use, copy, modify, and distribute this + * software and its documentation for any purpose and without + * fee is hereby granted, provided that the above copyright + * notice appear in all copies. The University of California + * makes no representations about the suitability of this + * software for any purpose. It is provided "as is" without + * express or implied warranty. + */ + +#ifndef _MIBSTORE_H +#define _MIBSTORE_H + +#include "screenint.h" + +#define miInitializeBackingStore(x) do {} while (0) + +#endif /* _MIBSTORE_H */ diff --git a/xorg-server/mi/mibstorest.h b/xorg-server/mi/mibstorest.h deleted file mode 100644 index ccf4fb701..000000000 --- a/xorg-server/mi/mibstorest.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * mibstorest.h - * - * internal structure definitions for mi backing store - */ - - -/* - -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. -*/ - - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "mibstore.h" -#include "regionstr.h" - -/* - * One of these structures is allocated per GC used with a backing-store - * drawable. - */ - -typedef struct { - GCPtr pBackingGC; /* Copy of the GC but with graphicsExposures - * set FALSE and the clientClip set to - * clip output to the valid regions of the - * backing pixmap. */ - int guarantee; /* GuaranteeNothing, etc. */ - unsigned long serialNumber; /* clientClip computed time */ - unsigned long stateChanges; /* changes in parent gc since last copy */ - GCOps *wrapOps; /* wrapped ops */ - GCFuncs *wrapFuncs; /* wrapped funcs */ -} miBSGCRec, *miBSGCPtr; - -/* - * one of these structures is allocated per Window with backing store - */ - -typedef struct { - PixmapPtr pBackingPixmap; /* Pixmap for saved areas */ - short x; /* origin of pixmap relative to window */ - short y; - RegionRec SavedRegion; /* Valid area in pBackingPixmap */ - char viewable; /* Tracks pWin->viewable so SavedRegion may - * be initialized correctly when the window - * is first mapped */ - char status; /* StatusNoPixmap, etc. */ - char backgroundState; /* background type */ - PixUnion background; /* background pattern */ -} miBSWindowRec, *miBSWindowPtr; - -#define StatusNoPixmap 1 /* pixmap has not been created */ -#define StatusVirtual 2 /* pixmap is virtual, tiled with background */ -#define StatusVDirty 3 /* pixmap is virtual, visiblt has contents */ -#define StatusBadAlloc 4 /* pixmap create failed, do not try again */ -#define StatusContents 5 /* pixmap is created, has valid contents */ - -typedef struct { - /* - * screen func wrappers - */ - CloseScreenProcPtr CloseScreen; - GetImageProcPtr GetImage; - GetSpansProcPtr GetSpans; - ChangeWindowAttributesProcPtr ChangeWindowAttributes; - CreateGCProcPtr CreateGC; - DestroyWindowProcPtr DestroyWindow; -} miBSScreenRec, *miBSScreenPtr; diff --git a/xorg-server/mi/miscrinit.c b/xorg-server/mi/miscrinit.c index 6ac9090b2..f56083050 100644 --- a/xorg-server/mi/miscrinit.c +++ b/xorg-server/mi/miscrinit.c @@ -269,8 +269,6 @@ miScreenInit( pScreen->wakeupData = (pointer)0; pScreen->MarkWindow = miMarkWindow; pScreen->MarkOverlappedWindows = miMarkOverlappedWindows; - pScreen->ChangeSaveUnder = NULL; - pScreen->PostChangeSaveUnder = NULL; pScreen->MoveWindow = miMoveWindow; pScreen->ResizeWindow = miSlideAndSizeWindow; pScreen->GetLayerWindow = miGetLayerWindow; @@ -280,29 +278,11 @@ miScreenInit( pScreen->SetShape = miSetShape; pScreen->MarkUnrealizedWindow = miMarkUnrealizedWindow; - pScreen->SaveDoomedAreas = 0; - pScreen->RestoreAreas = 0; - pScreen->ExposeCopy = 0; - pScreen->TranslateBackingStore = 0; - pScreen->ClearBackingStore = 0; - pScreen->DrawGuarantee = 0; - miSetZeroLineBias(pScreen, DEFAULTZEROLINEBIAS); return miScreenDevPrivateInit(pScreen, width, pbits); } -static DevPrivateKeyRec privateKeyRec; -#define privateKey (&privateKeyRec) - -DevPrivateKey -miAllocateGCPrivateIndex(void) -{ - if (!dixRegisterPrivateKey(&privateKeyRec, PRIVATE_GC, 0)) - return NULL; - return privateKey; -} - DevPrivateKeyRec miZeroLineScreenKeyRec; void diff --git a/xorg-server/mi/mivalidate.h b/xorg-server/mi/mivalidate.h index ef258c0f8..3d4dddaca 100644 --- a/xorg-server/mi/mivalidate.h +++ b/xorg-server/mi/mivalidate.h @@ -1,52 +1,51 @@ -/* - -Copyright 1993, 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. - -*/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef MIVALIDATE_H -#define MIVALIDATE_H - -#include "regionstr.h" - -typedef union _Validate { - struct BeforeValidate { - DDXPointRec oldAbsCorner; /* old window position */ - RegionPtr borderVisible; /* visible region of border, */ - /* non-null when size changes */ - Bool resized; /* unclipped winSize has changed - */ - /* don't call SaveDoomedAreas */ - } before; - struct AfterValidate { - RegionRec exposed; /* exposed regions, absolute pos */ - RegionRec borderExposed; - } after; -} ValidateRec; - -#endif /* MIVALIDATE_H */ +/* + +Copyright 1993, 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. + +*/ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifndef MIVALIDATE_H +#define MIVALIDATE_H + +#include "regionstr.h" + +typedef union _Validate { + struct BeforeValidate { + DDXPointRec oldAbsCorner; /* old window position */ + RegionPtr borderVisible; /* visible region of border, */ + /* non-null when size changes */ + Bool resized; /* unclipped winSize has changed */ + } before; + struct AfterValidate { + RegionRec exposed; /* exposed regions, absolute pos */ + RegionRec borderExposed; + } after; +} ValidateRec; + +#endif /* MIVALIDATE_H */ diff --git a/xorg-server/miext/rootless/rootlessValTree.c b/xorg-server/miext/rootless/rootlessValTree.c index 6154e9d40..23527ff2e 100644 --- a/xorg-server/miext/rootless/rootlessValTree.c +++ b/xorg-server/miext/rootless/rootlessValTree.c @@ -471,18 +471,6 @@ RootlessComputeClips (WindowPtr pParent, ScreenPtr pScreen, universe, &pParent->clipList); } - /* - * One last thing: backing storage. We have to try to save what parts of - * the window are about to be obscured. We can just subtract the universe - * from the old clipList and get the areas that were in the old but aren't - * in the new and, hence, are about to be obscured. - */ - if (pParent->backStorage && !resized) - { - RegionSubtract(exposed, &pParent->clipList, universe); - (* pScreen->SaveDoomedAreas)(pParent, exposed, dx, dy); - } - /* HACK ALERT - copying contents of regions, instead of regions */ { RegionRec tmp; diff --git a/xorg-server/render/glyphstr.h b/xorg-server/render/glyphstr.h index 6c1a837e0..ba9a28d16 100644 --- a/xorg-server/render/glyphstr.h +++ b/xorg-server/render/glyphstr.h @@ -1,151 +1,150 @@ -/* - * - * Copyright © 2000 SuSE, Inc. - * - * 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, and that the name of SuSE not be used in advertising or - * publicity pertaining to distribution of the software without specific, - * written prior permission. SuSE makes no representations about the - * suitability of this software for any purpose. It is provided "as is" - * without express or implied warranty. - * - * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE - * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * Author: Keith Packard, SuSE, Inc. - */ - -#ifndef _GLYPHSTR_H_ -#define _GLYPHSTR_H_ - -#include -#include "picture.h" -#include "screenint.h" -#include "regionstr.h" -#include "miscstruct.h" -#include "privates.h" - -#define GlyphFormat1 0 -#define GlyphFormat4 1 -#define GlyphFormat8 2 -#define GlyphFormat16 3 -#define GlyphFormat32 4 -#define GlyphFormatNum 5 - -typedef struct _Glyph { - CARD32 refcnt; - PrivateRec *devPrivates; - unsigned char sha1[20]; - CARD32 size; /* info + bitmap */ - xGlyphInfo info; - /* per-screen pixmaps follow */ -} GlyphRec, *GlyphPtr; - -#define GlyphPicture(glyph) ((PicturePtr *) ((glyph) + 1)) - -typedef struct _GlyphRef { - CARD32 signature; - GlyphPtr glyph; -} GlyphRefRec, *GlyphRefPtr; - -#define DeletedGlyph ((GlyphPtr) 1) - -typedef struct _GlyphHashSet { - CARD32 entries; - CARD32 size; - CARD32 rehash; -} GlyphHashSetRec, *GlyphHashSetPtr; - -typedef struct _GlyphHash { - GlyphRefPtr table; - GlyphHashSetPtr hashSet; - CARD32 tableEntries; -} GlyphHashRec, *GlyphHashPtr; - -typedef struct _GlyphSet { - CARD32 refcnt; - PictFormatPtr format; - int fdepth; - GlyphHashRec hash; - int maxPrivate; - PrivateRec *devPrivates; -} GlyphSetRec, *GlyphSetPtr; - -#define GlyphSetGetPrivate(pGlyphSet,k) \ - dixLookupPrivate(&(pGlyphSet)->devPrivates, k) - -#define GlyphSetSetPrivate(pGlyphSet,k,ptr) \ - dixSetPrivate(&(pGlyphSet)->devPrivates, k, ptr) - -typedef struct _GlyphList { - INT16 xOff; - INT16 yOff; - CARD8 len; - PictFormatPtr format; -} GlyphListRec, *GlyphListPtr; - -extern _X_EXPORT GlyphHashSetPtr -FindGlyphHashSet (CARD32 filled); - -extern _X_EXPORT void -GlyphUninit (ScreenPtr pScreen); - -extern _X_EXPORT GlyphHashSetPtr -FindGlyphHashSet (CARD32 filled); - -extern _X_EXPORT GlyphRefPtr -FindGlyphRef (GlyphHashPtr hash, - CARD32 signature, - Bool match, - unsigned char sha1[20]); - -extern _X_EXPORT GlyphPtr -FindGlyphByHash (unsigned char sha1[20], int format); - -extern _X_EXPORT int -HashGlyph (xGlyphInfo *gi, - CARD8 *bits, - unsigned long size, - unsigned char sha1[20]); - -extern _X_EXPORT void -FreeGlyph (GlyphPtr glyph, int format); - -extern _X_EXPORT void -AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id); - -extern _X_EXPORT Bool -DeleteGlyph (GlyphSetPtr glyphSet, Glyph id); - -extern _X_EXPORT GlyphPtr -FindGlyph (GlyphSetPtr glyphSet, Glyph id); - -extern _X_EXPORT GlyphPtr -AllocateGlyph (xGlyphInfo *gi, int format); - -extern _X_EXPORT Bool -AllocateGlyphHash (GlyphHashPtr hash, GlyphHashSetPtr hashSet); - -extern _X_EXPORT Bool -ResizeGlyphHash (GlyphHashPtr hash, CARD32 change, Bool global); - -extern _X_EXPORT Bool -ResizeGlyphSet (GlyphSetPtr glyphSet, CARD32 change); - -extern _X_EXPORT GlyphSetPtr -AllocateGlyphSet (int fdepth, PictFormatPtr format); - -extern _X_EXPORT int -FreeGlyphSet (pointer value, - XID gid); - - - -#endif /* _GLYPHSTR_H_ */ +/* + * + * Copyright © 2000 SuSE, Inc. + * + * 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, and that the name of SuSE not be used in advertising or + * publicity pertaining to distribution of the software without specific, + * written prior permission. SuSE makes no representations about the + * suitability of this software for any purpose. It is provided "as is" + * without express or implied warranty. + * + * SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE + * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Author: Keith Packard, SuSE, Inc. + */ + +#ifndef _GLYPHSTR_H_ +#define _GLYPHSTR_H_ + +#include +#include "picture.h" +#include "screenint.h" +#include "regionstr.h" +#include "miscstruct.h" +#include "privates.h" + +#define GlyphFormat1 0 +#define GlyphFormat4 1 +#define GlyphFormat8 2 +#define GlyphFormat16 3 +#define GlyphFormat32 4 +#define GlyphFormatNum 5 + +typedef struct _Glyph { + CARD32 refcnt; + PrivateRec *devPrivates; + unsigned char sha1[20]; + CARD32 size; /* info + bitmap */ + xGlyphInfo info; + /* per-screen pixmaps follow */ +} GlyphRec, *GlyphPtr; + +#define GlyphPicture(glyph) ((PicturePtr *) ((glyph) + 1)) + +typedef struct _GlyphRef { + CARD32 signature; + GlyphPtr glyph; +} GlyphRefRec, *GlyphRefPtr; + +#define DeletedGlyph ((GlyphPtr) 1) + +typedef struct _GlyphHashSet { + CARD32 entries; + CARD32 size; + CARD32 rehash; +} GlyphHashSetRec, *GlyphHashSetPtr; + +typedef struct _GlyphHash { + GlyphRefPtr table; + GlyphHashSetPtr hashSet; + CARD32 tableEntries; +} GlyphHashRec, *GlyphHashPtr; + +typedef struct _GlyphSet { + CARD32 refcnt; + int fdepth; + PictFormatPtr format; + GlyphHashRec hash; + PrivateRec *devPrivates; +} GlyphSetRec, *GlyphSetPtr; + +#define GlyphSetGetPrivate(pGlyphSet,k) \ + dixLookupPrivate(&(pGlyphSet)->devPrivates, k) + +#define GlyphSetSetPrivate(pGlyphSet,k,ptr) \ + dixSetPrivate(&(pGlyphSet)->devPrivates, k, ptr) + +typedef struct _GlyphList { + INT16 xOff; + INT16 yOff; + CARD8 len; + PictFormatPtr format; +} GlyphListRec, *GlyphListPtr; + +extern _X_EXPORT GlyphHashSetPtr +FindGlyphHashSet (CARD32 filled); + +extern _X_EXPORT void +GlyphUninit (ScreenPtr pScreen); + +extern _X_EXPORT GlyphHashSetPtr +FindGlyphHashSet (CARD32 filled); + +extern _X_EXPORT GlyphRefPtr +FindGlyphRef (GlyphHashPtr hash, + CARD32 signature, + Bool match, + unsigned char sha1[20]); + +extern _X_EXPORT GlyphPtr +FindGlyphByHash (unsigned char sha1[20], int format); + +extern _X_EXPORT int +HashGlyph (xGlyphInfo *gi, + CARD8 *bits, + unsigned long size, + unsigned char sha1[20]); + +extern _X_EXPORT void +FreeGlyph (GlyphPtr glyph, int format); + +extern _X_EXPORT void +AddGlyph (GlyphSetPtr glyphSet, GlyphPtr glyph, Glyph id); + +extern _X_EXPORT Bool +DeleteGlyph (GlyphSetPtr glyphSet, Glyph id); + +extern _X_EXPORT GlyphPtr +FindGlyph (GlyphSetPtr glyphSet, Glyph id); + +extern _X_EXPORT GlyphPtr +AllocateGlyph (xGlyphInfo *gi, int format); + +extern _X_EXPORT Bool +AllocateGlyphHash (GlyphHashPtr hash, GlyphHashSetPtr hashSet); + +extern _X_EXPORT Bool +ResizeGlyphHash (GlyphHashPtr hash, CARD32 change, Bool global); + +extern _X_EXPORT Bool +ResizeGlyphSet (GlyphSetPtr glyphSet, CARD32 change); + +extern _X_EXPORT GlyphSetPtr +AllocateGlyphSet (int fdepth, PictFormatPtr format); + +extern _X_EXPORT int +FreeGlyphSet (pointer value, + XID gid); + + + +#endif /* _GLYPHSTR_H_ */ diff --git a/xorg-server/render/picture.c b/xorg-server/render/picture.c index b2418ef36..d31b77466 100644 --- a/xorg-server/render/picture.c +++ b/xorg-server/render/picture.c @@ -735,13 +735,12 @@ SetPictureToDefaults (PicturePtr pPicture) pPicture->transform = 0; - pPicture->dither = None; pPicture->filter = PictureGetFilterId (FilterNearest, -1, TRUE); pPicture->filter_params = 0; pPicture->filter_nparams = 0; pPicture->serialNumber = GC_CHANGE_SERIAL_BIT; - pPicture->stateChanges = (1 << (CPLastBit+1)) - 1; + pPicture->stateChanges = -1; pPicture->pSourcePict = 0; } @@ -1261,7 +1260,7 @@ ChangePicture (PicturePtr pPicture, } break; case CPDither: - pPicture->dither = NEXT_VAL(Atom); + (void) NEXT_VAL(Atom); /* unimplemented */ break; case CPComponentAlpha: { @@ -1480,7 +1479,6 @@ CopyPicture (PicturePtr pSrc, pDst->polyMode = pSrc->polyMode; break; case CPDither: - pDst->dither = pSrc->dither; break; case CPComponentAlpha: pDst->componentAlpha = pSrc->componentAlpha; diff --git a/xorg-server/render/picturestr.h b/xorg-server/render/picturestr.h index ca6d5868b..ee62e6a17 100644 --- a/xorg-server/render/picturestr.h +++ b/xorg-server/render/picturestr.h @@ -151,8 +151,6 @@ typedef struct _Picture { PictFormatShort format; /* PICT_FORMAT */ int refcnt; CARD32 id; - PicturePtr pNext; /* chain on same drawable */ - unsigned int repeat : 1; unsigned int graphicsExposures : 1; unsigned int subWindowMode : 1; @@ -162,7 +160,11 @@ typedef struct _Picture { unsigned int clientClipType : 2; unsigned int componentAlpha : 1; unsigned int repeatType : 2; - unsigned int unused : 21; + unsigned int filter : 3; + unsigned int stateChanges : CPLastBit; + unsigned int unused : 18 - CPLastBit; + + PicturePtr pNext; /* chain on same drawable */ PicturePtr alphaMap; DDXPointRec alphaOrigin; @@ -170,9 +172,6 @@ typedef struct _Picture { DDXPointRec clipOrigin; pointer clientClip; - Atom dither; - - unsigned long stateChanges; unsigned long serialNumber; RegionPtr pCompositeClip; @@ -181,10 +180,9 @@ typedef struct _Picture { PictTransform *transform; - int filter; + SourcePictPtr pSourcePict; xFixed *filter_params; int filter_nparams; - SourcePictPtr pSourcePict; } PictureRec; typedef Bool (*PictFilterValidateParamsProcPtr) (ScreenPtr pScreen, int id, @@ -205,6 +203,7 @@ typedef struct { #define PictFilterBest 4 #define PictFilterConvolution 5 +/* if you add an 8th filter, expand the filter bitfield above */ typedef struct { char *alias; diff --git a/xorg-server/xfixes/region.c b/xorg-server/xfixes/region.c index 0461ded11..d7270f10d 100644 --- a/xorg-server/xfixes/region.c +++ b/xorg-server/xfixes/region.c @@ -842,3 +842,81 @@ SProcXFixesExpandRegion (ClientPtr client) return (*ProcXFixesVector[stuff->xfixesReqType]) (client); } +#ifdef PANORAMIX +#include "panoramiX.h" +#include "panoramiXsrv.h" + +int +PanoramiXFixesSetGCClipRegion (ClientPtr client) +{ + REQUEST(xXFixesSetGCClipRegionReq); + int result = Success, j; + PanoramiXRes *gc; + REQUEST_SIZE_MATCH(xXFixesSetGCClipRegionReq); + + if ((result = dixLookupResourceByType((void **)&gc, stuff->gc, XRT_GC, + client, DixWriteAccess))) { + client->errorValue = stuff->gc; + return result; + } + + FOR_NSCREENS_BACKWARD(j) { + stuff->gc = gc->info[j].id; + result = (*PanoramiXSaveXFixesVector[X_XFixesSetGCClipRegion]) (client); + if(result != Success) break; + } + + return result; +} + +int +PanoramiXFixesSetWindowShapeRegion (ClientPtr client) +{ + int result = Success, j; + PanoramiXRes *win; + REQUEST(xXFixesSetWindowShapeRegionReq); + + REQUEST_SIZE_MATCH(xXFixesSetWindowShapeRegionReq); + + if ((result = dixLookupResourceByType((void **)&win, stuff->dest, + XRT_WINDOW, client, + DixWriteAccess))) { + client->errorValue = stuff->dest; + return result; + } + + FOR_NSCREENS_FORWARD(j) { + stuff->dest = win->info[j].id; + result = (*PanoramiXSaveXFixesVector[X_XFixesSetWindowShapeRegion]) (client); + if(result != Success) break; + } + + return result; +} + +int +PanoramiXFixesSetPictureClipRegion (ClientPtr client) +{ + REQUEST(xXFixesSetPictureClipRegionReq); + int result = Success, j; + PanoramiXRes *pict; + + REQUEST_SIZE_MATCH (xXFixesSetPictureClipRegionReq); + + if ((result = dixLookupResourceByType((void **)&pict, stuff->picture, + XRT_PICTURE, client, + DixWriteAccess))) { + client->errorValue = stuff->picture; + return result; + } + + FOR_NSCREENS_BACKWARD(j) { + stuff->picture = pict->info[j].id; + result = (*PanoramiXSaveXFixesVector[X_XFixesSetPictureClipRegion]) (client); + if(result != Success) break; + } + + return result; +} + +#endif diff --git a/xorg-server/xfixes/xfixes.c b/xorg-server/xfixes/xfixes.c index 67e616417..67b34f346 100644 --- a/xorg-server/xfixes/xfixes.c +++ b/xorg-server/xfixes/xfixes.c @@ -262,3 +262,33 @@ XFixesExtensionInit(void) SetResourceTypeErrorValue(RegionResType, XFixesErrorBase + BadRegion); } } + +#ifdef PANORAMIX + +int (*PanoramiXSaveXFixesVector[XFixesNumberRequests])(ClientPtr); + +void +PanoramiXFixesInit (void) +{ + int i; + + for (i = 0; i < XFixesNumberRequests; i++) + PanoramiXSaveXFixesVector[i] = ProcXFixesVector[i]; + /* + * Stuff in Xinerama aware request processing hooks + */ + ProcXFixesVector[X_XFixesSetGCClipRegion] = PanoramiXFixesSetGCClipRegion; + ProcXFixesVector[X_XFixesSetWindowShapeRegion] = PanoramiXFixesSetWindowShapeRegion; + ProcXFixesVector[X_XFixesSetPictureClipRegion] = PanoramiXFixesSetPictureClipRegion; +} + +void +PanoramiXFixesReset (void) +{ + int i; + + for (i = 0; i < XFixesNumberRequests; i++) + ProcXFixesVector[i] = PanoramiXSaveXFixesVector[i]; +} + +#endif diff --git a/xorg-server/xfixes/xfixesint.h b/xorg-server/xfixes/xfixesint.h index f3d53614f..7824ac6ee 100644 --- a/xorg-server/xfixes/xfixesint.h +++ b/xorg-server/xfixes/xfixesint.h @@ -1,272 +1,285 @@ -/* - * Copyright © 2006 Sun Microsystems, 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 and this permission notice (including the next - * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. - * - * Copyright © 2002 Keith Packard - * - * 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, and that the name of Keith Packard not be used in - * advertising or publicity pertaining to distribution of the software without - * specific, written prior permission. Keith Packard makes no - * representations about the suitability of this software for any purpose. It - * is provided "as is" without express or implied warranty. - * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR - * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER - * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - * PERFORMANCE OF THIS SOFTWARE. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _XFIXESINT_H_ -#define _XFIXESINT_H_ - -#include -#include -#include "misc.h" -#include "os.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include -#include "windowstr.h" -#include "selection.h" -#include "xfixes.h" - -extern int XFixesEventBase; - -typedef struct _XFixesClient { - CARD32 major_version; - CARD32 minor_version; -} XFixesClientRec, *XFixesClientPtr; - -#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey)) - -extern int (*ProcXFixesVector[XFixesNumberRequests])(ClientPtr); - -/* Initialize extension at server startup time */ - -void -XFixesExtensionInit(void); - -/* Save set */ -int -ProcXFixesChangeSaveSet(ClientPtr client); - -int -SProcXFixesChangeSaveSet(ClientPtr client); - -/* Selection events */ -int -ProcXFixesSelectSelectionInput (ClientPtr client); - -int -SProcXFixesSelectSelectionInput (ClientPtr client); - -void -SXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent *from, - xXFixesSelectionNotifyEvent *to); -Bool -XFixesSelectionInit (void); - -/* Cursor notification */ -Bool -XFixesCursorInit (void); - -int -ProcXFixesSelectCursorInput (ClientPtr client); - -int -SProcXFixesSelectCursorInput (ClientPtr client); - -void -SXFixesCursorNotifyEvent (xXFixesCursorNotifyEvent *from, - xXFixesCursorNotifyEvent *to); - -int -ProcXFixesGetCursorImage (ClientPtr client); - -int -SProcXFixesGetCursorImage (ClientPtr client); - -/* Cursor names (Version 2) */ - -int -ProcXFixesSetCursorName (ClientPtr client); - -int -SProcXFixesSetCursorName (ClientPtr client); - -int -ProcXFixesGetCursorName (ClientPtr client); - -int -SProcXFixesGetCursorName (ClientPtr client); - -int -ProcXFixesGetCursorImageAndName (ClientPtr client); - -int -SProcXFixesGetCursorImageAndName (ClientPtr client); - -/* Cursor replacement (Version 2) */ - -int -ProcXFixesChangeCursor (ClientPtr client); - -int -SProcXFixesChangeCursor (ClientPtr client); - -int -ProcXFixesChangeCursorByName (ClientPtr client); - -int -SProcXFixesChangeCursorByName (ClientPtr client); - -/* Region objects (Version 2* */ -Bool -XFixesRegionInit (void); - -int -ProcXFixesCreateRegion (ClientPtr client); - -int -SProcXFixesCreateRegion (ClientPtr client); - -int -ProcXFixesCreateRegionFromBitmap (ClientPtr client); - -int -SProcXFixesCreateRegionFromBitmap (ClientPtr client); - -int -ProcXFixesCreateRegionFromWindow (ClientPtr client); - -int -SProcXFixesCreateRegionFromWindow (ClientPtr client); - -int -ProcXFixesCreateRegionFromGC (ClientPtr client); - -int -SProcXFixesCreateRegionFromGC (ClientPtr client); - -int -ProcXFixesCreateRegionFromPicture (ClientPtr client); - -int -SProcXFixesCreateRegionFromPicture (ClientPtr client); - -int -ProcXFixesDestroyRegion (ClientPtr client); - -int -SProcXFixesDestroyRegion (ClientPtr client); - -int -ProcXFixesSetRegion (ClientPtr client); - -int -SProcXFixesSetRegion (ClientPtr client); - -int -ProcXFixesCopyRegion (ClientPtr client); - -int -SProcXFixesCopyRegion (ClientPtr client); - -int -ProcXFixesCombineRegion (ClientPtr client); - -int -SProcXFixesCombineRegion (ClientPtr client); - -int -ProcXFixesInvertRegion (ClientPtr client); - -int -SProcXFixesInvertRegion (ClientPtr client); - -int -ProcXFixesTranslateRegion (ClientPtr client); - -int -SProcXFixesTranslateRegion (ClientPtr client); - -int -ProcXFixesRegionExtents (ClientPtr client); - -int -SProcXFixesRegionExtents (ClientPtr client); - -int -ProcXFixesFetchRegion (ClientPtr client); - -int -SProcXFixesFetchRegion (ClientPtr client); - -int -ProcXFixesSetGCClipRegion (ClientPtr client); - -int -SProcXFixesSetGCClipRegion (ClientPtr client); - -int -ProcXFixesSetWindowShapeRegion (ClientPtr client); - -int -SProcXFixesSetWindowShapeRegion (ClientPtr client); - -int -ProcXFixesSetPictureClipRegion (ClientPtr client); - -int -SProcXFixesSetPictureClipRegion (ClientPtr client); - -int -ProcXFixesExpandRegion (ClientPtr client); - -int -SProcXFixesExpandRegion (ClientPtr client); - -/* Cursor Visibility (Version 4) */ - -int -ProcXFixesHideCursor (ClientPtr client); - -int -SProcXFixesHideCursor (ClientPtr client); - -int -ProcXFixesShowCursor (ClientPtr client); - -int -SProcXFixesShowCursor (ClientPtr client); - -#endif /* _XFIXESINT_H_ */ +/* + * Copyright © 2006 Sun Microsystems, 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 and this permission notice (including the next + * paragraph) 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 AUTHORS OR COPYRIGHT HOLDERS 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. + * + * Copyright © 2002 Keith Packard + * + * 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, and that the name of Keith Packard not be used in + * advertising or publicity pertaining to distribution of the software without + * specific, written prior permission. Keith Packard makes no + * representations about the suitability of this software for any purpose. It + * is provided "as is" without express or implied warranty. + * + * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO + * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifdef HAVE_DIX_CONFIG_H +#include +#endif + +#ifndef _XFIXESINT_H_ +#define _XFIXESINT_H_ + +#include +#include +#include "misc.h" +#include "os.h" +#include "dixstruct.h" +#include "extnsionst.h" +#include +#include "windowstr.h" +#include "selection.h" +#include "xfixes.h" + +extern int XFixesEventBase; + +typedef struct _XFixesClient { + CARD32 major_version; + CARD32 minor_version; +} XFixesClientRec, *XFixesClientPtr; + +#define GetXFixesClient(pClient) ((XFixesClientPtr)dixLookupPrivate(&(pClient)->devPrivates, XFixesClientPrivateKey)) + +extern int (*ProcXFixesVector[XFixesNumberRequests])(ClientPtr); + +/* Initialize extension at server startup time */ + +void +XFixesExtensionInit(void); + +/* Save set */ +int +ProcXFixesChangeSaveSet(ClientPtr client); + +int +SProcXFixesChangeSaveSet(ClientPtr client); + +/* Selection events */ +int +ProcXFixesSelectSelectionInput (ClientPtr client); + +int +SProcXFixesSelectSelectionInput (ClientPtr client); + +void +SXFixesSelectionNotifyEvent (xXFixesSelectionNotifyEvent *from, + xXFixesSelectionNotifyEvent *to); +Bool +XFixesSelectionInit (void); + +/* Cursor notification */ +Bool +XFixesCursorInit (void); + +int +ProcXFixesSelectCursorInput (ClientPtr client); + +int +SProcXFixesSelectCursorInput (ClientPtr client); + +void +SXFixesCursorNotifyEvent (xXFixesCursorNotifyEvent *from, + xXFixesCursorNotifyEvent *to); + +int +ProcXFixesGetCursorImage (ClientPtr client); + +int +SProcXFixesGetCursorImage (ClientPtr client); + +/* Cursor names (Version 2) */ + +int +ProcXFixesSetCursorName (ClientPtr client); + +int +SProcXFixesSetCursorName (ClientPtr client); + +int +ProcXFixesGetCursorName (ClientPtr client); + +int +SProcXFixesGetCursorName (ClientPtr client); + +int +ProcXFixesGetCursorImageAndName (ClientPtr client); + +int +SProcXFixesGetCursorImageAndName (ClientPtr client); + +/* Cursor replacement (Version 2) */ + +int +ProcXFixesChangeCursor (ClientPtr client); + +int +SProcXFixesChangeCursor (ClientPtr client); + +int +ProcXFixesChangeCursorByName (ClientPtr client); + +int +SProcXFixesChangeCursorByName (ClientPtr client); + +/* Region objects (Version 2* */ +Bool +XFixesRegionInit (void); + +int +ProcXFixesCreateRegion (ClientPtr client); + +int +SProcXFixesCreateRegion (ClientPtr client); + +int +ProcXFixesCreateRegionFromBitmap (ClientPtr client); + +int +SProcXFixesCreateRegionFromBitmap (ClientPtr client); + +int +ProcXFixesCreateRegionFromWindow (ClientPtr client); + +int +SProcXFixesCreateRegionFromWindow (ClientPtr client); + +int +ProcXFixesCreateRegionFromGC (ClientPtr client); + +int +SProcXFixesCreateRegionFromGC (ClientPtr client); + +int +ProcXFixesCreateRegionFromPicture (ClientPtr client); + +int +SProcXFixesCreateRegionFromPicture (ClientPtr client); + +int +ProcXFixesDestroyRegion (ClientPtr client); + +int +SProcXFixesDestroyRegion (ClientPtr client); + +int +ProcXFixesSetRegion (ClientPtr client); + +int +SProcXFixesSetRegion (ClientPtr client); + +int +ProcXFixesCopyRegion (ClientPtr client); + +int +SProcXFixesCopyRegion (ClientPtr client); + +int +ProcXFixesCombineRegion (ClientPtr client); + +int +SProcXFixesCombineRegion (ClientPtr client); + +int +ProcXFixesInvertRegion (ClientPtr client); + +int +SProcXFixesInvertRegion (ClientPtr client); + +int +ProcXFixesTranslateRegion (ClientPtr client); + +int +SProcXFixesTranslateRegion (ClientPtr client); + +int +ProcXFixesRegionExtents (ClientPtr client); + +int +SProcXFixesRegionExtents (ClientPtr client); + +int +ProcXFixesFetchRegion (ClientPtr client); + +int +SProcXFixesFetchRegion (ClientPtr client); + +int +ProcXFixesSetGCClipRegion (ClientPtr client); + +int +SProcXFixesSetGCClipRegion (ClientPtr client); + +int +ProcXFixesSetWindowShapeRegion (ClientPtr client); + +int +SProcXFixesSetWindowShapeRegion (ClientPtr client); + +int +ProcXFixesSetPictureClipRegion (ClientPtr client); + +int +SProcXFixesSetPictureClipRegion (ClientPtr client); + +int +ProcXFixesExpandRegion (ClientPtr client); + +int +SProcXFixesExpandRegion (ClientPtr client); + +int +PanoramiXFixesSetGCClipRegion (ClientPtr client); + +int +PanoramiXFixesSetWindowShapeRegion (ClientPtr client); + +int +PanoramiXFixesSetPictureClipRegion (ClientPtr client); + +/* Cursor Visibility (Version 4) */ + +int +ProcXFixesHideCursor (ClientPtr client); + +int +SProcXFixesHideCursor (ClientPtr client); + +int +ProcXFixesShowCursor (ClientPtr client); + +int +SProcXFixesShowCursor (ClientPtr client); + +extern int (*PanoramiXSaveXFixesVector[XFixesNumberRequests])(ClientPtr); +void PanoramiXFixesInit (void); +void PanoramiXFixesReset (void); + +#endif /* _XFIXESINT_H_ */ -- cgit v1.2.3