Merge branch 'server-1.5-branch' into xorg-server-1.5-apple
This commit is contained in:
commit
e5d4970d4d
|
@ -1,9 +0,0 @@
|
|||
SUBDIRS = glx mesa
|
||||
|
||||
WINDOWS_EXTRAS = \
|
||||
windows/ChangeLog \
|
||||
windows/glwindows.h \
|
||||
windows/glwrap.c \
|
||||
windows/indirect.c
|
||||
|
||||
EXTRA_DIST = symlink-mesa.sh $(WINDOWS_EXTRAS)
|
13
GL/glx/.gitignore
vendored
13
GL/glx/.gitignore
vendored
|
@ -1,13 +0,0 @@
|
|||
glapi.c
|
||||
glcontextmodes.c
|
||||
glcontextmodes.h
|
||||
glthread.c
|
||||
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
|
|
@ -1,451 +0,0 @@
|
|||
/**************************************************************************
|
||||
|
||||
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
||||
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 PRECISION INSIGHT AND/OR ITS 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.
|
||||
|
||||
**************************************************************************/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* Kevin E. Martin <kevin@precisioninsight.com>
|
||||
* Brian E. Paul <brian@precisioninsight.com>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <GL/xmesa.h>
|
||||
#include <GL/internal/glcore.h>
|
||||
#include <glxserver.h>
|
||||
#include <glxscreens.h>
|
||||
#include <glxdrawable.h>
|
||||
#include <glxcontext.h>
|
||||
#include <glxutil.h>
|
||||
|
||||
#include "os.h"
|
||||
|
||||
typedef struct __GLXMESAscreen __GLXMESAscreen;
|
||||
typedef struct __GLXMESAcontext __GLXMESAcontext;
|
||||
typedef struct __GLXMESAdrawable __GLXMESAdrawable;
|
||||
|
||||
struct __GLXMESAscreen {
|
||||
__GLXscreen base;
|
||||
int index;
|
||||
int num_vis;
|
||||
XMesaVisual *xm_vis;
|
||||
};
|
||||
|
||||
struct __GLXMESAcontext {
|
||||
__GLXcontext base;
|
||||
XMesaContext xmesa;
|
||||
};
|
||||
|
||||
struct __GLXMESAdrawable {
|
||||
__GLXdrawable base;
|
||||
XMesaBuffer xm_buf;
|
||||
};
|
||||
|
||||
static XMesaVisual find_mesa_visual(__GLXscreen *screen, XID fbconfigID);
|
||||
|
||||
|
||||
static void
|
||||
__glXMesaDrawableDestroy(__GLXdrawable *base)
|
||||
{
|
||||
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
|
||||
|
||||
if (glxPriv->xm_buf != NULL)
|
||||
XMesaDestroyBuffer(glxPriv->xm_buf);
|
||||
xfree(glxPriv);
|
||||
}
|
||||
|
||||
static GLboolean
|
||||
__glXMesaDrawableResize(__GLXdrawable *base)
|
||||
{
|
||||
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
|
||||
|
||||
XMesaResizeBuffers(glxPriv->xm_buf);
|
||||
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
static GLboolean
|
||||
__glXMesaDrawableSwapBuffers(__GLXdrawable *base)
|
||||
{
|
||||
__GLXMESAdrawable *glxPriv = (__GLXMESAdrawable *) base;
|
||||
|
||||
/* This is terrifying: XMesaSwapBuffers() ends up calling CopyArea
|
||||
* to do the buffer swap, but this assumes that the server holds
|
||||
* the lock and has its context visible. If another screen uses a
|
||||
* DRI driver, that will have installed the DRI enter/leave server
|
||||
* functions, which lifts the lock during GLX dispatch. This is
|
||||
* why we need to re-take the lock and swap in the server context
|
||||
* before calling XMesaSwapBuffers() here. /me shakes head. */
|
||||
|
||||
__glXenterServer(GL_FALSE);
|
||||
|
||||
XMesaSwapBuffers(glxPriv->xm_buf);
|
||||
|
||||
__glXleaveServer(GL_FALSE);
|
||||
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
|
||||
static __GLXdrawable *
|
||||
__glXMesaScreenCreateDrawable(__GLXscreen *screen,
|
||||
DrawablePtr pDraw, int type,
|
||||
XID drawId,
|
||||
__GLXconfig *modes)
|
||||
{
|
||||
__GLXMESAdrawable *glxPriv;
|
||||
XMesaVisual xm_vis;
|
||||
|
||||
glxPriv = xalloc(sizeof *glxPriv);
|
||||
if (glxPriv == NULL)
|
||||
return NULL;
|
||||
|
||||
memset(glxPriv, 0, sizeof *glxPriv);
|
||||
|
||||
if (!__glXDrawableInit(&glxPriv->base, screen,
|
||||
pDraw, type, drawId, modes)) {
|
||||
xfree(glxPriv);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
glxPriv->base.destroy = __glXMesaDrawableDestroy;
|
||||
glxPriv->base.resize = __glXMesaDrawableResize;
|
||||
glxPriv->base.swapBuffers = __glXMesaDrawableSwapBuffers;
|
||||
|
||||
xm_vis = find_mesa_visual(screen, modes->fbconfigID);
|
||||
if (xm_vis == NULL) {
|
||||
ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n",
|
||||
modes->visualID);
|
||||
xfree(glxPriv);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (glxPriv->base.type == DRAWABLE_WINDOW) {
|
||||
glxPriv->xm_buf = XMesaCreateWindowBuffer(xm_vis, (WindowPtr)pDraw);
|
||||
} else {
|
||||
glxPriv->xm_buf = XMesaCreatePixmapBuffer(xm_vis, (PixmapPtr)pDraw, 0);
|
||||
}
|
||||
|
||||
if (glxPriv->xm_buf == NULL) {
|
||||
xfree(glxPriv);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return &glxPriv->base;
|
||||
}
|
||||
|
||||
static void
|
||||
__glXMesaContextDestroy(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
||||
|
||||
XMesaDestroyContext(context->xmesa);
|
||||
__glXContextDestroy(&context->base);
|
||||
xfree(context);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXMesaContextMakeCurrent(__GLXcontext *baseContext)
|
||||
|
||||
{
|
||||
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
||||
__GLXMESAdrawable *drawPriv = (__GLXMESAdrawable *) context->base.drawPriv;
|
||||
__GLXMESAdrawable *readPriv = (__GLXMESAdrawable *) context->base.readPriv;
|
||||
|
||||
return XMesaMakeCurrent2(context->xmesa,
|
||||
drawPriv->xm_buf,
|
||||
readPriv->xm_buf);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXMesaContextLoseCurrent(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
||||
|
||||
return XMesaLoseCurrent(context->xmesa);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXMesaContextCopy(__GLXcontext *baseDst,
|
||||
__GLXcontext *baseSrc,
|
||||
unsigned long mask)
|
||||
{
|
||||
__GLXMESAcontext *dst = (__GLXMESAcontext *) baseDst;
|
||||
__GLXMESAcontext *src = (__GLXMESAcontext *) baseSrc;
|
||||
|
||||
return XMesaCopyContext(src->xmesa, dst->xmesa, mask);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXMesaContextForceCurrent(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
||||
|
||||
/* GlxSetRenderTables() call for XGL moved in XMesaForceCurrent() */
|
||||
|
||||
return XMesaForceCurrent(context->xmesa);
|
||||
}
|
||||
|
||||
static __GLXcontext *
|
||||
__glXMesaScreenCreateContext(__GLXscreen *screen,
|
||||
__GLXconfig *config,
|
||||
__GLXcontext *baseShareContext)
|
||||
{
|
||||
__GLXMESAcontext *context;
|
||||
__GLXMESAcontext *shareContext = (__GLXMESAcontext *) baseShareContext;
|
||||
XMesaVisual xm_vis;
|
||||
XMesaContext xm_share;
|
||||
|
||||
context = xalloc (sizeof (__GLXMESAcontext));
|
||||
if (context == NULL)
|
||||
return NULL;
|
||||
|
||||
memset(context, 0, sizeof *context);
|
||||
|
||||
context->base.pGlxScreen = screen;
|
||||
context->base.config = config;
|
||||
|
||||
context->base.destroy = __glXMesaContextDestroy;
|
||||
context->base.makeCurrent = __glXMesaContextMakeCurrent;
|
||||
context->base.loseCurrent = __glXMesaContextLoseCurrent;
|
||||
context->base.copy = __glXMesaContextCopy;
|
||||
context->base.forceCurrent = __glXMesaContextForceCurrent;
|
||||
|
||||
xm_vis = find_mesa_visual(screen, config->fbconfigID);
|
||||
if (!xm_vis) {
|
||||
ErrorF("find_mesa_visual returned NULL for visualID = 0x%04x\n",
|
||||
config->visualID);
|
||||
xfree(context);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
xm_share = shareContext ? shareContext->xmesa : NULL;
|
||||
context->xmesa = XMesaCreateContext(xm_vis, xm_share);
|
||||
if (!context->xmesa) {
|
||||
xfree(context);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return &context->base;
|
||||
}
|
||||
|
||||
static void
|
||||
__glXMesaScreenDestroy(__GLXscreen *screen)
|
||||
{
|
||||
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
|
||||
int i;
|
||||
|
||||
if (mesaScreen->xm_vis) {
|
||||
for (i = 0; i < mesaScreen->base.numFBConfigs; i++) {
|
||||
if (mesaScreen->xm_vis[i])
|
||||
XMesaDestroyVisual(mesaScreen->xm_vis[i]);
|
||||
}
|
||||
|
||||
xfree(mesaScreen->xm_vis);
|
||||
}
|
||||
|
||||
__glXScreenDestroy(screen);
|
||||
|
||||
xfree(screen);
|
||||
}
|
||||
|
||||
static XMesaVisual
|
||||
find_mesa_visual(__GLXscreen *screen, XID fbconfigID)
|
||||
{
|
||||
__GLXMESAscreen *mesaScreen = (__GLXMESAscreen *) screen;
|
||||
const __GLXconfig *config;
|
||||
unsigned i = 0;
|
||||
|
||||
for (config = screen->fbconfigs; config != NULL; config = config->next) {
|
||||
if (config->fbconfigID == fbconfigID)
|
||||
return mesaScreen->xm_vis[i];
|
||||
i++;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const static int numBack = 2;
|
||||
const static int numDepth = 2;
|
||||
const static int numStencil = 2;
|
||||
|
||||
static const int glx_visual_types[] = {
|
||||
GLX_STATIC_GRAY,
|
||||
GLX_GRAY_SCALE,
|
||||
GLX_STATIC_COLOR,
|
||||
GLX_PSEUDO_COLOR,
|
||||
GLX_TRUE_COLOR,
|
||||
GLX_DIRECT_COLOR
|
||||
};
|
||||
|
||||
static __GLXconfig *
|
||||
createFBConfigsForVisual(__GLXscreen *screen, ScreenPtr pScreen,
|
||||
VisualPtr visual, __GLXconfig *config)
|
||||
{
|
||||
int back, depth, stencil;
|
||||
|
||||
/* FIXME: Ok, I'm making all this up... anybody has a better idea? */
|
||||
|
||||
for (back = numBack - 1; back >= 0; back--)
|
||||
for (depth = 0; depth < numDepth; depth++)
|
||||
for (stencil = 0; stencil < numStencil; stencil++) {
|
||||
config->next = xcalloc(sizeof(*config), 1);
|
||||
config = config->next;
|
||||
|
||||
config->visualRating = GLX_NONE;
|
||||
config->visualType = glx_visual_types[visual->class];
|
||||
config->xRenderable = GL_TRUE;
|
||||
config->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT;
|
||||
config->rgbMode = (visual->class >= TrueColor);
|
||||
config->colorIndexMode = !config->rgbMode;
|
||||
config->renderType =
|
||||
(config->rgbMode) ? GLX_RGBA_BIT : GLX_COLOR_INDEX_BIT;
|
||||
config->doubleBufferMode = back;
|
||||
config->haveDepthBuffer = depth;
|
||||
config->depthBits = depth ? visual->nplanes : 0;
|
||||
config->haveStencilBuffer = stencil;
|
||||
config->stencilBits = stencil ? visual->bitsPerRGBValue : 0;
|
||||
config->haveAccumBuffer = 0;
|
||||
|
||||
config->redBits = Ones(visual->redMask);
|
||||
config->greenBits = Ones(visual->greenMask);
|
||||
config->blueBits = Ones(visual->blueMask);
|
||||
config->alphaBits = 0;
|
||||
config->redMask = visual->redMask;
|
||||
config->greenMask = visual->greenMask;
|
||||
config->blueMask = visual->blueMask;
|
||||
config->alphaMask = 0;
|
||||
config->rgbBits = config->rgbMode ? visual->nplanes : 0;
|
||||
config->indexBits = config->colorIndexMode ? visual->nplanes : 0;
|
||||
}
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
static void
|
||||
createFBConfigs(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
|
||||
{
|
||||
__GLXconfig head, *tail;
|
||||
int i;
|
||||
|
||||
/* We assume here that each existing visual correspond to a
|
||||
* different visual class. Note, this runs before COMPOSITE adds
|
||||
* its visual, so it's not entirely crazy. */
|
||||
pGlxScreen->numFBConfigs = pScreen->numVisuals * numBack * numDepth * numStencil;
|
||||
|
||||
head.next = NULL;
|
||||
tail = &head;
|
||||
for (i = 0; i < pScreen->numVisuals; i++)
|
||||
tail = createFBConfigsForVisual(pGlxScreen, pScreen,
|
||||
&pScreen->visuals[i], tail);
|
||||
|
||||
pGlxScreen->fbconfigs = head.next;
|
||||
}
|
||||
|
||||
static void
|
||||
createMesaVisuals(__GLXMESAscreen *pMesaScreen)
|
||||
{
|
||||
__GLXconfig *config;
|
||||
ScreenPtr pScreen;
|
||||
VisualPtr visual = NULL;
|
||||
int i, j;
|
||||
|
||||
i = 0;
|
||||
pScreen = pMesaScreen->base.pScreen;
|
||||
pMesaScreen->xm_vis =
|
||||
xcalloc(pMesaScreen->base.numFBConfigs, sizeof (XMesaVisual));
|
||||
for (config = pMesaScreen->base.fbconfigs; config != NULL; config = config->next) {
|
||||
for (j = 0; j < pScreen->numVisuals; j++)
|
||||
if (pScreen->visuals[j].vid == config->visualID) {
|
||||
visual = &pScreen->visuals[j];
|
||||
break;
|
||||
}
|
||||
|
||||
pMesaScreen->xm_vis[i++] =
|
||||
XMesaCreateVisual(pScreen,
|
||||
visual,
|
||||
config->rgbMode,
|
||||
(config->alphaBits > 0),
|
||||
config->doubleBufferMode,
|
||||
config->stereoMode,
|
||||
GL_TRUE, /* ximage_flag */
|
||||
config->depthBits,
|
||||
config->stencilBits,
|
||||
config->accumRedBits,
|
||||
config->accumGreenBits,
|
||||
config->accumBlueBits,
|
||||
config->accumAlphaBits,
|
||||
config->samples,
|
||||
config->level,
|
||||
config->visualRating);
|
||||
}
|
||||
}
|
||||
|
||||
static __GLXscreen *
|
||||
__glXMesaScreenProbe(ScreenPtr pScreen)
|
||||
{
|
||||
__GLXMESAscreen *screen;
|
||||
|
||||
screen = xalloc(sizeof *screen);
|
||||
if (screen == NULL)
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
* Find the GLX visuals that are supported by this screen and create
|
||||
* XMesa's visuals.
|
||||
*/
|
||||
createFBConfigs(&screen->base, pScreen);
|
||||
|
||||
__glXScreenInit(&screen->base, pScreen);
|
||||
|
||||
/* Now that GLX has created the corresponding X visual, create the mesa visuals. */
|
||||
createMesaVisuals(screen);
|
||||
|
||||
screen->base.destroy = __glXMesaScreenDestroy;
|
||||
screen->base.createContext = __glXMesaScreenCreateContext;
|
||||
screen->base.createDrawable = __glXMesaScreenCreateDrawable;
|
||||
screen->base.swapInterval = NULL;
|
||||
screen->base.pScreen = pScreen;
|
||||
|
||||
return &screen->base;
|
||||
}
|
||||
|
||||
__GLXprovider __glXMesaProvider = {
|
||||
__glXMesaScreenProbe,
|
||||
"MESA",
|
||||
NULL
|
||||
};
|
||||
|
||||
__GLXprovider *
|
||||
GlxGetMesaProvider (void)
|
||||
{
|
||||
return &__glXMesaProvider;
|
||||
}
|
32
GL/mesa/.gitignore
vendored
32
GL/mesa/.gitignore
vendored
|
@ -1,32 +0,0 @@
|
|||
X/drivers
|
||||
X/glxheader.h
|
||||
X/xm*.h
|
||||
X/xm*.c
|
||||
mesa/drivers
|
||||
mesa/glxheader.h
|
||||
mesa/xm*.c
|
||||
glapi/*.c
|
||||
glapi/*.h
|
||||
main/*.c
|
||||
main/*.h
|
||||
math/*.c
|
||||
math/*.h
|
||||
ppc
|
||||
shader/*.c
|
||||
shader/*.h
|
||||
shader/slang/*.c
|
||||
shader/slang/*.h
|
||||
shader/slang/library
|
||||
shader/grammar/*.c
|
||||
shader/grammar/*.h
|
||||
sparc
|
||||
swrast/*.c
|
||||
swrast/*.h
|
||||
swrast_setup/*.c
|
||||
swrast_setup/*.h
|
||||
tnl/*.c
|
||||
tnl/*.h
|
||||
x86
|
||||
x86-64
|
||||
vbo/*.c
|
||||
vbo/*.h
|
|
@ -1,18 +0,0 @@
|
|||
SUBDIRS = X
|
||||
SUBDIRS += main math swrast swrast_setup tnl shader glapi vbo
|
||||
|
||||
noinst_LTLIBRARIES = libGLcore.la
|
||||
|
||||
libGLcore_la_SOURCES = dummy.c
|
||||
MESA_LIBS = main/libmain.la \
|
||||
math/libmath.la \
|
||||
swrast/libswrast.la \
|
||||
swrast_setup/libss.la \
|
||||
tnl/libtnl.la \
|
||||
shader/libshader.la \
|
||||
shader/grammar/libgrammar.la \
|
||||
shader/slang/libslang.la \
|
||||
vbo/libvbo.la
|
||||
|
||||
libGLcore_la_LIBADD = $(MESA_LIBS) \
|
||||
X/libX.la
|
|
@ -1,27 +0,0 @@
|
|||
noinst_LTLIBRARIES = libX.la
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I. \
|
||||
-I@MESA_SOURCE@/src/mesa/glapi \
|
||||
-I@MESA_SOURCE@/src/mesa/main \
|
||||
-I@MESA_SOURCE@/src/mesa
|
||||
|
||||
# -DXFree86Server is required because the X11 driver in Mesa thinks that
|
||||
# symbol means "being built in the server"
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
XM_SOURCES = \
|
||||
xm_api.c \
|
||||
xm_buffer.c \
|
||||
xm_dd.c \
|
||||
xm_image.c \
|
||||
xm_line.c \
|
||||
xm_span.c \
|
||||
xm_tri.c
|
||||
|
||||
XM_SOURCES += drivers/common/driverfuncs.c
|
||||
|
||||
nodist_libX_la_SOURCES = $(XM_SOURCES)
|
|
@ -1,20 +0,0 @@
|
|||
noinst_LTLIBRARIES = libglapi.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libglapi_la_SOURCES = glapi.c glthread.c
|
|
@ -1,86 +0,0 @@
|
|||
noinst_LTLIBRARIES = libmain.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
if NEED_VSNPRINTF
|
||||
VSNPRINTF_SOURCES = vsnprintf.c
|
||||
endif
|
||||
|
||||
nodist_libmain_la_SOURCES = accum.c \
|
||||
api_arrayelt.c \
|
||||
api_loopback.c \
|
||||
api_noop.c \
|
||||
api_validate.c \
|
||||
arrayobj.c \
|
||||
attrib.c \
|
||||
blend.c \
|
||||
bufferobj.c \
|
||||
buffers.c \
|
||||
clip.c \
|
||||
colortab.c \
|
||||
context.c \
|
||||
convolve.c \
|
||||
debug.c \
|
||||
depth.c \
|
||||
depthstencil.c \
|
||||
dlist.c \
|
||||
drawpix.c \
|
||||
enable.c \
|
||||
enums.c \
|
||||
eval.c \
|
||||
execmem.c \
|
||||
extensions.c \
|
||||
fbobject.c \
|
||||
feedback.c \
|
||||
fog.c \
|
||||
framebuffer.c \
|
||||
get.c \
|
||||
getstring.c \
|
||||
hash.c \
|
||||
hint.c \
|
||||
histogram.c \
|
||||
image.c \
|
||||
imports.c \
|
||||
light.c \
|
||||
lines.c \
|
||||
matrix.c \
|
||||
mipmap.c \
|
||||
mm.c \
|
||||
pixel.c \
|
||||
points.c \
|
||||
polygon.c \
|
||||
queryobj.c \
|
||||
rastpos.c \
|
||||
rbadaptors.c \
|
||||
renderbuffer.c \
|
||||
shaders.c \
|
||||
state.c \
|
||||
stencil.c \
|
||||
texcompress.c \
|
||||
texcompress_fxt1.c \
|
||||
texcompress_s3tc.c \
|
||||
texenvprogram.c \
|
||||
texformat.c \
|
||||
teximage.c \
|
||||
texobj.c \
|
||||
texrender.c \
|
||||
texstate.c \
|
||||
texstore.c \
|
||||
varray.c \
|
||||
$(VSNPRINTF_SOURCES) \
|
||||
vtxfmt.c
|
|
@ -1,27 +0,0 @@
|
|||
noinst_LTLIBRARIES = libmath.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libmath_la_SOURCES = m_debug_clip.c \
|
||||
m_debug_norm.c \
|
||||
m_debug_xform.c \
|
||||
m_eval.c \
|
||||
m_matrix.c \
|
||||
m_translate.c \
|
||||
m_vector.c \
|
||||
m_xform.c
|
|
@ -1,39 +0,0 @@
|
|||
SUBDIRS = grammar slang
|
||||
|
||||
noinst_LTLIBRARIES = libshader.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../shader/grammar \
|
||||
-I../shader/slang \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libshader_la_SOURCES = \
|
||||
arbprogparse.c \
|
||||
arbprogram.c \
|
||||
atifragshader.c \
|
||||
nvfragparse.c \
|
||||
nvprogram.c \
|
||||
nvvertparse.c \
|
||||
prog_debug.c \
|
||||
prog_execute.c \
|
||||
prog_instruction.c \
|
||||
prog_parameter.c \
|
||||
prog_print.c \
|
||||
program.c \
|
||||
programopt.c \
|
||||
prog_statevars.c \
|
||||
shader_api.c
|
|
@ -1,20 +0,0 @@
|
|||
noinst_LTLIBRARIES = libgrammar.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../../X \
|
||||
-I../../glapi \
|
||||
-I../../main \
|
||||
-I../../math \
|
||||
-I../../shader \
|
||||
-I../../swrast \
|
||||
-I../../swrast_setup \
|
||||
-I../../tnl \
|
||||
-I../.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libgrammar_la_SOURCES = grammar_mesa.c
|
|
@ -1,41 +0,0 @@
|
|||
noinst_LTLIBRARIES = libslang.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../grammar \
|
||||
-I../../X \
|
||||
-I../../glapi \
|
||||
-I../../main \
|
||||
-I../../math \
|
||||
-I../../shader \
|
||||
-I../../swrast \
|
||||
-I../../swrast_setup \
|
||||
-I../../tnl \
|
||||
-I../.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libslang_la_SOURCES = slang_builtin.c \
|
||||
slang_codegen.c \
|
||||
slang_compile.c \
|
||||
slang_compile_function.c \
|
||||
slang_compile_operation.c \
|
||||
slang_compile_struct.c \
|
||||
slang_compile_variable.c \
|
||||
slang_emit.c \
|
||||
slang_ir.c \
|
||||
slang_label.c \
|
||||
slang_library_noise.c \
|
||||
slang_link.c \
|
||||
slang_log.c \
|
||||
slang_mem.c \
|
||||
slang_preprocess.c \
|
||||
slang_print.c \
|
||||
slang_simplify.c \
|
||||
slang_storage.c \
|
||||
slang_typeinfo.c \
|
||||
slang_utility.c \
|
||||
slang_vartable.c
|
|
@ -1,50 +0,0 @@
|
|||
noinst_LTLIBRARIES = libswrast.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../shader/slang \
|
||||
-I../shader/slang \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libswrast_la_SOURCES = s_aaline.c \
|
||||
s_aatriangle.c \
|
||||
s_accum.c \
|
||||
s_alpha.c \
|
||||
s_atifragshader.c \
|
||||
s_bitmap.c \
|
||||
s_blend.c \
|
||||
s_blit.c \
|
||||
s_buffers.c \
|
||||
s_context.c \
|
||||
s_copypix.c \
|
||||
s_depth.c \
|
||||
s_drawpix.c \
|
||||
s_feedback.c \
|
||||
s_fog.c \
|
||||
s_fragprog.c \
|
||||
s_imaging.c \
|
||||
s_lines.c \
|
||||
s_logic.c \
|
||||
s_masking.c \
|
||||
s_points.c \
|
||||
s_readpix.c \
|
||||
s_span.c \
|
||||
s_stencil.c \
|
||||
s_texcombine.c \
|
||||
s_texfilter.c \
|
||||
s_texstore.c \
|
||||
s_triangle.c \
|
||||
s_zoom.c
|
|
@ -1,20 +0,0 @@
|
|||
noinst_LTLIBRARIES = libss.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libss_la_SOURCES = ss_context.c ss_triangle.c
|
|
@ -1,37 +0,0 @@
|
|||
noinst_LTLIBRARIES = libtnl.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../shader/slang \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libtnl_la_SOURCES = t_context.c \
|
||||
t_draw.c \
|
||||
t_pipeline.c \
|
||||
t_vb_cull.c \
|
||||
t_vb_fog.c \
|
||||
t_vb_light.c \
|
||||
t_vb_normals.c \
|
||||
t_vb_points.c \
|
||||
t_vb_program.c \
|
||||
t_vb_render.c \
|
||||
t_vb_texgen.c \
|
||||
t_vb_texmat.c \
|
||||
t_vb_vertex.c \
|
||||
t_vertex.c \
|
||||
t_vertex_generic.c \
|
||||
t_vertex_sse.c \
|
||||
t_vp_build.c
|
|
@ -1,35 +0,0 @@
|
|||
noinst_LTLIBRARIES = libvbo.la
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(DIX_CFLAGS) \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@
|
||||
|
||||
INCLUDES = -I@MESA_SOURCE@/include \
|
||||
-I../X \
|
||||
-I../glapi \
|
||||
-I../main \
|
||||
-I../math \
|
||||
-I../shader \
|
||||
-I../shader/slang \
|
||||
-I../shader/slang \
|
||||
-I../swrast \
|
||||
-I../swrast_setup \
|
||||
-I../tnl \
|
||||
-I.. \
|
||||
-I$(top_srcdir)/hw/xfree86/os-support
|
||||
|
||||
nodist_libvbo_la_SOURCES = vbo_context.c \
|
||||
vbo_exec_api.c \
|
||||
vbo_exec_array.c \
|
||||
vbo_exec.c \
|
||||
vbo_exec_draw.c \
|
||||
vbo_exec_eval.c \
|
||||
vbo_rebase.c \
|
||||
vbo_save_api.c \
|
||||
vbo_save.c \
|
||||
vbo_save_draw.c \
|
||||
vbo_save_loopback.c \
|
||||
vbo_split.c \
|
||||
vbo_split_copy.c \
|
||||
vbo_split_inplace.c
|
|
@ -1,344 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
#
|
||||
# A script that symlinks source files from Mesa to modular
|
||||
#
|
||||
# Author: Soren Sandmann (sandmann@redhat.com) (original)
|
||||
# adapted for Mesa by Adam Jackson (ajax@nwnk.net)
|
||||
|
||||
#
|
||||
# Things we would like to do
|
||||
#
|
||||
# - Check that all the relevant files exist
|
||||
# - AUTHORS, autogen.sh, configure.ac, ...
|
||||
# - Check that we have actually linked everything
|
||||
# - if a file doesn't need to be linked, then it needs
|
||||
# to be listed as "not-linked"
|
||||
# - Compute diffs between all the files (shouldn't be necessary)
|
||||
# - possibly check that files are listet in Makefile.am's
|
||||
# - Clean target directory of irrelevant files
|
||||
#
|
||||
|
||||
check_destinations () {
|
||||
# don't do anything - we are relying on the side
|
||||
# effect of dst_dir
|
||||
true
|
||||
}
|
||||
|
||||
check_exist() {
|
||||
# Check whether $1 exists
|
||||
|
||||
if [ ! -e $1 ] ; then
|
||||
error "$1 not found"
|
||||
fi
|
||||
}
|
||||
|
||||
delete_existing() {
|
||||
# Delete $2
|
||||
|
||||
rm -f $2
|
||||
}
|
||||
|
||||
link_files() {
|
||||
# Link $1 to $2
|
||||
|
||||
if [ ! -e $2 ] ; then
|
||||
ln -s $1 $2
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
check_args $1 $2
|
||||
|
||||
run check_destinations "Creating destination directories"
|
||||
run check_exist "Checking that the source files exist"
|
||||
run delete_existing "Deleting existing files"
|
||||
run link_files "Linking files"
|
||||
}
|
||||
|
||||
## actual symlinking
|
||||
|
||||
symlink_mesa_glapi() {
|
||||
src_dir src/mesa/glapi
|
||||
dst_dir mesa/glapi
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_main() {
|
||||
src_dir src/mesa/main
|
||||
dst_dir mesa/main
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_math() {
|
||||
src_dir src/mesa/math
|
||||
dst_dir mesa/math
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_swrast() {
|
||||
src_dir src/mesa/swrast
|
||||
dst_dir mesa/swrast
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_ss() {
|
||||
src_dir src/mesa/swrast_setup
|
||||
dst_dir mesa/swrast_setup
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_tnl() {
|
||||
src_dir src/mesa/tnl
|
||||
dst_dir mesa/tnl
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_shader() {
|
||||
src_dir src/mesa/shader
|
||||
dst_dir mesa/shader
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_shader_grammar() {
|
||||
src_dir src/mesa/shader/grammar
|
||||
dst_dir mesa/shader/grammar
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_shader_slang() {
|
||||
src_dir src/mesa/shader/slang
|
||||
dst_dir mesa/shader/slang
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_shader_slang_library() {
|
||||
src_dir src/mesa/shader/slang/library
|
||||
dst_dir mesa/shader/slang/library
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_vbo() {
|
||||
src_dir src/mesa/vbo
|
||||
dst_dir mesa/vbo
|
||||
|
||||
for src in $REAL_SRC_DIR/*.c $REAL_SRC_DIR/*.h; do
|
||||
action `basename $src`
|
||||
done
|
||||
}
|
||||
|
||||
symlink_mesa_x() {
|
||||
src_dir src/mesa/drivers/x11
|
||||
dst_dir mesa/X
|
||||
|
||||
# action glxapi.h
|
||||
action glxheader.h
|
||||
# action realglx.h
|
||||
# action xfonts.h
|
||||
action xm_api.c
|
||||
action xm_buffer.c
|
||||
action xm_dd.c
|
||||
action xm_image.c
|
||||
action xm_image.h
|
||||
action xm_line.c
|
||||
action xm_span.c
|
||||
action xm_tri.c
|
||||
action xmesaP.h
|
||||
|
||||
# another hack
|
||||
src_dir src/mesa/drivers/common
|
||||
dst_dir mesa/X/drivers/common
|
||||
action driverfuncs.c
|
||||
action driverfuncs.h
|
||||
}
|
||||
|
||||
symlink_mesa_ppc() {
|
||||
src_dir src/mesa/ppc
|
||||
dst_dir mesa/ppc
|
||||
}
|
||||
|
||||
symlink_mesa_sparc() {
|
||||
src_dir src/mesa/sparc
|
||||
dst_dir mesa/sparc
|
||||
}
|
||||
|
||||
symlink_mesa_x86() {
|
||||
src_dir src/mesa/x86
|
||||
dst_dir mesa/x86
|
||||
}
|
||||
|
||||
symlink_mesa_x8664() {
|
||||
src_dir src/mesa/x86-64
|
||||
dst_dir mesa/x86-64
|
||||
}
|
||||
|
||||
symlink_mesa() {
|
||||
symlink_mesa_main
|
||||
symlink_mesa_math
|
||||
symlink_mesa_swrast
|
||||
symlink_mesa_ss
|
||||
symlink_mesa_tnl
|
||||
symlink_mesa_shader
|
||||
symlink_mesa_shader_grammar
|
||||
symlink_mesa_shader_slang
|
||||
symlink_mesa_shader_slang_library
|
||||
symlink_mesa_x
|
||||
symlink_mesa_glapi
|
||||
symlink_mesa_ppc
|
||||
symlink_mesa_sparc
|
||||
symlink_mesa_vbo
|
||||
symlink_mesa_x86
|
||||
symlink_mesa_x8664
|
||||
}
|
||||
|
||||
symlink_glx() {
|
||||
# this is... unpleasant
|
||||
src_dir src/glx/x11
|
||||
dst_dir glx
|
||||
|
||||
action indirect_size.h
|
||||
action glcontextmodes.c
|
||||
action glcontextmodes.h
|
||||
action indirect_dispatch.c
|
||||
action indirect_dispatch.h
|
||||
action indirect_dispatch_swap.c
|
||||
action indirect_reqsize.c
|
||||
action indirect_reqsize.h
|
||||
action indirect_size_get.c
|
||||
action indirect_size_get.h
|
||||
action indirect_table.c
|
||||
|
||||
src_dir src/mesa/glapi
|
||||
|
||||
action glapi.c
|
||||
action glthread.c
|
||||
}
|
||||
|
||||
#########
|
||||
#
|
||||
# Helper functions
|
||||
#
|
||||
#########
|
||||
|
||||
error() {
|
||||
echo
|
||||
echo \ \ \ error:\ \ \ $1
|
||||
exit 1
|
||||
}
|
||||
|
||||
# printing out what's going on
|
||||
run_module() {
|
||||
# $1 module
|
||||
# $2 explanation
|
||||
echo -n $EXPLANATION for $1 module ...\
|
||||
symlink_$1
|
||||
echo DONE
|
||||
}
|
||||
|
||||
run() {
|
||||
# $1 what to do
|
||||
# $2 explanation
|
||||
|
||||
ACTION=$1 EXPLANATION=$2 run_module mesa
|
||||
ACTION=$1 EXPLANATION=$2 run_module glx
|
||||
}
|
||||
|
||||
src_dir() {
|
||||
REAL_SRC_DIR=$SRC_DIR/$1
|
||||
if [ ! -d $REAL_SRC_DIR ] ; then
|
||||
error "Source directory $REAL_SRC_DIR does not exist"
|
||||
fi
|
||||
}
|
||||
|
||||
dst_dir() {
|
||||
REAL_DST_DIR=$DST_DIR/$1
|
||||
if [ ! -d $REAL_DST_DIR ] ; then
|
||||
mkdir -p $REAL_DST_DIR
|
||||
fi
|
||||
}
|
||||
|
||||
action() {
|
||||
if [ -z $2 ] ; then
|
||||
$ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$1
|
||||
else
|
||||
$ACTION $REAL_SRC_DIR/$1 $REAL_DST_DIR/$2
|
||||
fi
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo symlink-mesa.sh src-dir dst-dir
|
||||
echo src-dir: the Mesa source directory
|
||||
echo dst-dir: the GL subdirectory of the Xserver modular tree
|
||||
}
|
||||
|
||||
# Check commandline args
|
||||
check_args() {
|
||||
if [ -z $1 ] ; then
|
||||
echo Missing source dir
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z $2 ] ; then
|
||||
echo Missing destination dir
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d $1 ] ; then
|
||||
echo $1 is not a dir
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d $2 ] ; then
|
||||
echo $2 is not a dir
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $1 = $2 ] ; then
|
||||
echo source and destination can\'t be the same
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
D=`dirname "$relpath"`
|
||||
B=`basename "$relpath"`
|
||||
abspath="`cd \"$D\" 2>/dev/null && pwd || echo \"$D\"`/$B"
|
||||
|
||||
SRC_DIR=`( cd $1 ; pwd )`
|
||||
DST_DIR=`(cd $2 ; pwd )`
|
||||
}
|
||||
|
||||
main $1 $2
|
|
@ -23,7 +23,7 @@ MFB_DIR=mfb
|
|||
endif
|
||||
|
||||
if GLX
|
||||
GLX_DIR=GL
|
||||
GLX_DIR=glx
|
||||
endif
|
||||
|
||||
if DBE
|
||||
|
@ -103,7 +103,7 @@ DIST_SUBDIRS = \
|
|||
damageext \
|
||||
XTrap \
|
||||
composite \
|
||||
GL \
|
||||
glx \
|
||||
exa \
|
||||
config \
|
||||
hw
|
||||
|
|
|
@ -486,7 +486,7 @@ int XETrapCreateEnv(ClientPtr client)
|
|||
XETrapEnv *penv = NULL;
|
||||
int status = Success;
|
||||
|
||||
if (client->index > MAXCLIENTS)
|
||||
if (client->index >= MAXCLIENTS)
|
||||
{
|
||||
status = BadImplementation;
|
||||
}
|
||||
|
|
42
configure.ac
42
configure.ac
|
@ -26,7 +26,7 @@ dnl
|
|||
dnl Process this file with autoconf to create configure.
|
||||
|
||||
AC_PREREQ(2.57)
|
||||
AC_INIT([xorg-server], 1.4.99.902, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
||||
AC_INIT([xorg-server], 1.4.99.905, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
||||
AC_CONFIG_SRCDIR([Makefile.am])
|
||||
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
|
||||
AM_MAINTAINER_MODE
|
||||
|
@ -767,7 +767,7 @@ if ! test "x$have_clock_gettime" = xno; then
|
|||
CPPFLAGS_SAVE="$CPPFLAGS"
|
||||
|
||||
if test x"$glibc" = xyes; then
|
||||
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=199309L"
|
||||
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=200112L"
|
||||
fi
|
||||
|
||||
AC_RUN_IFELSE([
|
||||
|
@ -855,22 +855,13 @@ if test "x$RES" = xyes; then
|
|||
REQUIRED_MODULES="$REQUIRED_MODULES resourceproto"
|
||||
fi
|
||||
|
||||
if test "x$GLX" = xyes && ! test "x$MESA_SOURCE" = x; then
|
||||
if test "x$GLX" = xyes; then
|
||||
PKG_CHECK_MODULES([XLIB], [x11])
|
||||
PKG_CHECK_MODULES([GL], [glproto >= 1.4.9])
|
||||
PKG_CHECK_MODULES([GL], [glproto >= 1.4.9 gl >= 7.1.0])
|
||||
AC_SUBST(XLIB_CFLAGS)
|
||||
AC_DEFINE(GLXEXT, 1, [Build GLX extension])
|
||||
GLX_LIBS='$(top_builddir)/GL/glx/libglx.la $(top_builddir)/GL/mesa/libGLcore.la'
|
||||
test -d GL || mkdir GL
|
||||
case $host_os in
|
||||
solaris*)
|
||||
SYMLINK_MESA="/usr/bin/bash $srcdir/GL/symlink-mesa.sh" ;;
|
||||
*) SYMLINK_MESA=$srcdir/GL/symlink-mesa.sh ;;
|
||||
esac
|
||||
$SYMLINK_MESA $MESA_SOURCE GL/
|
||||
if test $? -ne 0; then
|
||||
AC_MSG_ERROR([Failed to link Mesa source tree. Please specify a proper path to Mesa sources, or disable GLX.])
|
||||
fi
|
||||
GLX_LIBS='$(top_builddir)/glx/libglx.la'
|
||||
GLX_SYS_LIBS="$GLX_SYS_LIBS $DLOPEN_LIBS"
|
||||
else
|
||||
GLX=no
|
||||
fi
|
||||
|
@ -895,7 +886,7 @@ if test "x$DRI" = xyes; then
|
|||
AC_DEFINE(XF86DRI, 1, [Build DRI extension])
|
||||
PKG_CHECK_MODULES([DRIPROTO], [xf86driproto])
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.0])
|
||||
PKG_CHECK_MODULES([GL], [glproto >= 1.4.1])
|
||||
PKG_CHECK_MODULES([GL], [glproto >= 1.4.1 gl >= 7.1.0])
|
||||
PKG_CHECK_EXISTS(libdrm >= 2.2.0,
|
||||
[AC_DEFINE([HAVE_LIBDRM_2_2], 1,
|
||||
[Has version 2.2 (or newer) of the drm library])])
|
||||
|
@ -910,7 +901,7 @@ if test "x$DRI2" = xyes; then
|
|||
# FIXME: Bump the versions once we have releases of these.
|
||||
AC_DEFINE(DRI2, 1, [Build DRI2 extension])
|
||||
PKG_CHECK_MODULES([DRI2PROTO], [dri2proto >= 1.1])
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.1])
|
||||
PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.2])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(XINERAMA, [test "x$XINERAMA" = xyes])
|
||||
|
@ -1757,7 +1748,7 @@ if test "x$XQUARTZ" = xyes; then
|
|||
AC_DEFINE(XQUARTZ,1,[Have Quartz])
|
||||
AC_DEFINE(ROOTLESS,1,[Build Rootless code])
|
||||
|
||||
DARWIN_GLX_LIBS='$(top_builddir)/hw/xquartz/GL/libCGLCore.la $(top_builddir)/GL/glx/libglx.la'
|
||||
DARWIN_GLX_LIBS='$(top_builddir)/hw/xquartz/GL/libCGLCore.la $(top_builddir)/glx/libglx.la'
|
||||
DARWIN_LIBS="$MI_LIB $OS_LIB $DIX_LIB $FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $XTRAP_LIB $RECORD_LIB $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $XPSTUBS_LIB $DARWIN_GLX_LIBS"
|
||||
AC_SUBST([DARWIN_LIBS])
|
||||
|
||||
|
@ -2077,20 +2068,7 @@ XORG_MANPAGE_SECTIONS
|
|||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
GL/Makefile
|
||||
GL/glx/Makefile
|
||||
GL/mesa/Makefile
|
||||
GL/mesa/glapi/Makefile
|
||||
GL/mesa/main/Makefile
|
||||
GL/mesa/math/Makefile
|
||||
GL/mesa/shader/Makefile
|
||||
GL/mesa/shader/grammar/Makefile
|
||||
GL/mesa/shader/slang/Makefile
|
||||
GL/mesa/swrast/Makefile
|
||||
GL/mesa/swrast_setup/Makefile
|
||||
GL/mesa/tnl/Makefile
|
||||
GL/mesa/vbo/Makefile
|
||||
GL/mesa/X/Makefile
|
||||
glx/Makefile
|
||||
include/Makefile
|
||||
afb/Makefile
|
||||
composite/Makefile
|
||||
|
|
|
@ -126,10 +126,12 @@ RegisterExtensionNames(ExtensionEntry *extEntry)
|
|||
rewind(fh);
|
||||
|
||||
while (fgets(buf, sizeof(buf), fh)) {
|
||||
lineobj = NULL;
|
||||
ptr = strchr(buf, '\n');
|
||||
if (ptr)
|
||||
*ptr = 0;
|
||||
|
||||
/* Check for comments or empty lines */
|
||||
switch (buf[0]) {
|
||||
case PROT_REQUEST:
|
||||
case PROT_EVENT:
|
||||
|
@ -139,48 +141,54 @@ RegisterExtensionNames(ExtensionEntry *extEntry)
|
|||
case '\0':
|
||||
continue;
|
||||
default:
|
||||
continue;
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
/* Check for space character in the fifth position */
|
||||
ptr = strchr(buf, ' ');
|
||||
if (!ptr || ptr != buf + 4) {
|
||||
LogMessage(X_WARNING, "Invalid line in " FILENAME ", skipping\n");
|
||||
continue;
|
||||
}
|
||||
if (!ptr || ptr != buf + 4)
|
||||
goto invalid;
|
||||
|
||||
/* Duplicate the string after the space */
|
||||
lineobj = strdup(ptr + 1);
|
||||
if (!lineobj)
|
||||
continue;
|
||||
|
||||
/* Check for a colon somewhere on the line */
|
||||
ptr = strchr(buf, ':');
|
||||
if (!ptr) {
|
||||
LogMessage(X_WARNING, "Invalid line in " FILENAME ", skipping\n");
|
||||
continue;
|
||||
}
|
||||
if (!ptr)
|
||||
goto invalid;
|
||||
|
||||
/* Compare the part before colon with the target extension name */
|
||||
*ptr = 0;
|
||||
|
||||
if (strcmp(buf + 5, extEntry->name))
|
||||
continue;
|
||||
goto skip;
|
||||
|
||||
/* Get the opcode for the request, event, or error */
|
||||
offset = strtol(buf + 1, &ptr, 10);
|
||||
if (offset == 0 && ptr == buf + 1) {
|
||||
LogMessage(X_WARNING, "Invalid line in " FILENAME ", skipping\n");
|
||||
continue;
|
||||
}
|
||||
if (offset == 0 && ptr == buf + 1)
|
||||
goto invalid;
|
||||
|
||||
/* Save the strdup result in the registry */
|
||||
switch(buf[0]) {
|
||||
case PROT_REQUEST:
|
||||
if (extEntry->base)
|
||||
RegisterRequestName(extEntry->base, offset, lineobj);
|
||||
else
|
||||
RegisterRequestName(offset, 0, lineobj);
|
||||
break;
|
||||
continue;
|
||||
case PROT_EVENT:
|
||||
RegisterEventName(extEntry->eventBase + offset, lineobj);
|
||||
break;
|
||||
continue;
|
||||
case PROT_ERROR:
|
||||
RegisterErrorName(extEntry->errorBase + offset, lineobj);
|
||||
break;
|
||||
continue;
|
||||
}
|
||||
|
||||
invalid:
|
||||
LogMessage(X_WARNING, "Invalid line in " FILENAME ", skipping\n");
|
||||
skip:
|
||||
free(lineobj);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -887,6 +887,7 @@ CrushTree(WindowPtr pWin)
|
|||
(*UnrealizeWindow)(pChild);
|
||||
}
|
||||
FreeWindowResources(pChild);
|
||||
dixFreePrivates(pChild->devPrivates);
|
||||
xfree(pChild);
|
||||
if ( (pChild = pSib) )
|
||||
break;
|
||||
|
|
18
exa/exa.c
18
exa/exa.c
|
@ -299,7 +299,6 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
|||
|
||||
if (driver_alloc) {
|
||||
size_t paddedWidth, datasize;
|
||||
void *driver_priv;
|
||||
|
||||
paddedWidth = ((w * bpp + FB_MASK) >> FB_SHIFT) * sizeof(FbBits);
|
||||
if (paddedWidth / 4 > 32767 || h > 32767)
|
||||
|
@ -312,22 +311,21 @@ exaCreatePixmap(ScreenPtr pScreen, int w, int h, int depth,
|
|||
|
||||
datasize = h * paddedWidth;
|
||||
|
||||
driver_priv = pExaScr->info->CreatePixmap(pScreen, datasize, 0);
|
||||
if (!driver_priv) {
|
||||
pExaPixmap->driverPriv = pExaScr->info->CreatePixmap(pScreen, datasize, 0);
|
||||
if (!pExaPixmap->driverPriv) {
|
||||
fbDestroyPixmap(pPixmap);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
(*pScreen->ModifyPixmapHeader)(pPixmap, w, h, 0, 0,
|
||||
paddedWidth, NULL);
|
||||
pExaPixmap->driverPriv = driver_priv;
|
||||
pExaPixmap->score = EXA_PIXMAP_SCORE_PINNED;
|
||||
pExaPixmap->fb_ptr = NULL;
|
||||
} else {
|
||||
pExaPixmap->driverPriv = NULL;
|
||||
/* Scratch pixmaps may have w/h equal to zero, and may not be
|
||||
* migrated.
|
||||
*/
|
||||
pExaPixmap->driverPriv = NULL;
|
||||
/* Scratch pixmaps may have w/h equal to zero, and may not be
|
||||
* migrated.
|
||||
*/
|
||||
if (!w || !h)
|
||||
pExaPixmap->score = EXA_PIXMAP_SCORE_PINNED;
|
||||
else
|
||||
|
@ -753,6 +751,7 @@ exaCloseScreen(int i, ScreenPtr pScreen)
|
|||
if (ps) {
|
||||
ps->Composite = pExaScr->SavedComposite;
|
||||
ps->Trapezoids = pExaScr->SavedTrapezoids;
|
||||
ps->AddTraps = pExaScr->SavedAddTraps;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -919,6 +918,9 @@ exaDriverInit (ScreenPtr pScreen,
|
|||
|
||||
pExaScr->SavedTrapezoids = ps->Trapezoids;
|
||||
ps->Trapezoids = exaTrapezoids;
|
||||
|
||||
pExaScr->SavedAddTraps = ps->AddTraps;
|
||||
ps->AddTraps = ExaCheckAddTraps;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -114,6 +114,7 @@ typedef struct {
|
|||
TrianglesProcPtr SavedTriangles;
|
||||
GlyphsProcPtr SavedGlyphs;
|
||||
TrapezoidsProcPtr SavedTrapezoids;
|
||||
AddTrapsProcPtr SavedAddTraps;
|
||||
#endif
|
||||
|
||||
Bool swappedOut;
|
||||
|
@ -293,6 +294,13 @@ ExaCheckGetSpans (DrawablePtr pDrawable,
|
|||
int nspans,
|
||||
char *pdstStart);
|
||||
|
||||
void
|
||||
ExaCheckAddTraps (PicturePtr pPicture,
|
||||
INT16 x_off,
|
||||
INT16 y_off,
|
||||
int ntrap,
|
||||
xTrap *traps);
|
||||
|
||||
/* exa_accel.c */
|
||||
|
||||
static _X_INLINE Bool
|
||||
|
|
|
@ -350,6 +350,20 @@ ExaCheckComposite (CARD8 op,
|
|||
REGION_UNINIT(pScreen, ®ion);
|
||||
}
|
||||
|
||||
void
|
||||
ExaCheckAddTraps (PicturePtr pPicture,
|
||||
INT16 x_off,
|
||||
INT16 y_off,
|
||||
int ntrap,
|
||||
xTrap *traps)
|
||||
{
|
||||
EXA_FALLBACK(("to pict %p (%c)\n",
|
||||
exaDrawableLocation(pPicture->pDrawable)));
|
||||
exaPrepareAccess(pPicture->pDrawable, EXA_PREPARE_DEST);
|
||||
fbAddTraps (pPicture, x_off, y_off, ntrap, traps);
|
||||
exaFinishAccess(pPicture->pDrawable, EXA_PREPARE_DEST);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the 0,0 pixel of a pixmap. Used for doing solid fills of tiled pixmaps
|
||||
* that happen to be 1x1. Pixmap must be at least 8bpp.
|
||||
|
|
|
@ -5,14 +5,11 @@ endif
|
|||
noinst_LTLIBRARIES = libglx.la $(GLXDRI_LIBRARY)
|
||||
|
||||
AM_CFLAGS = \
|
||||
-I@MESA_SOURCE@/include \
|
||||
@DIX_CFLAGS@ \
|
||||
@GL_CFLAGS@ \
|
||||
@XLIB_CFLAGS@ \
|
||||
@LIBDRM_CFLAGS@ \
|
||||
@DRIPROTO_CFLAGS@ \
|
||||
-I@MESA_SOURCE@/src/mesa/glapi \
|
||||
-I@MESA_SOURCE@/src/mesa/main \
|
||||
-DXFree86Server \
|
||||
@GLX_DEFINES@ \
|
||||
@GLX_ARCH_DEFINES@
|
||||
|
@ -28,22 +25,30 @@ INCLUDES = \
|
|||
-I$(top_srcdir)/hw/xfree86/dri2 \
|
||||
-I$(top_srcdir)/mi
|
||||
|
||||
|
||||
nodist_libglx_la_SOURCES = indirect_size.h \
|
||||
glapi.c \
|
||||
glthread.c \
|
||||
indirect_dispatch.c \
|
||||
indirect_dispatch.h \
|
||||
indirect_dispatch_swap.c \
|
||||
indirect_reqsize.c \
|
||||
indirect_reqsize.h \
|
||||
indirect_size_get.c \
|
||||
indirect_size_get.h \
|
||||
indirect_table.c
|
||||
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 \
|
||||
glthread.c \
|
||||
glthread.h \
|
||||
glprocs.h
|
||||
|
||||
libglxdri_la_SOURCES = \
|
||||
glxdri.c \
|
||||
glxdri2.c \
|
||||
glxdricommon.h \
|
||||
extension_string.c \
|
||||
extension_string.h
|
||||
|
||||
|
@ -53,6 +58,13 @@ XQUARTZ_libglx_la_SOURCES = glcontextmodes.c
|
|||
|
||||
libglx_la_SOURCES = \
|
||||
$(XQUARTZ_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 \
|
||||
|
@ -61,17 +73,13 @@ libglx_la_SOURCES = \
|
|||
glxdrawable.h \
|
||||
glxext.c \
|
||||
glxext.h \
|
||||
glxglcore.c \
|
||||
glxdriswrast.c \
|
||||
glxdricommon.c \
|
||||
glxscreens.c \
|
||||
glxscreens.h \
|
||||
glxserver.h \
|
||||
glxutil.c \
|
||||
glxutil.h \
|
||||
indirect_program.c \
|
||||
indirect_table.h \
|
||||
indirect_texture_compression.c \
|
||||
indirect_util.c \
|
||||
indirect_util.h \
|
||||
render2.c \
|
||||
render2swap.c \
|
||||
renderpix.c \
|
3829
glx/dispatch.h
Normal file
3829
glx/dispatch.h
Normal file
File diff suppressed because it is too large
Load Diff
1064
glx/glapi.c
Normal file
1064
glx/glapi.c
Normal file
File diff suppressed because it is too large
Load Diff
160
glx/glapi.h
Normal file
160
glx/glapi.h
Normal file
|
@ -0,0 +1,160 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul 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
|
||||
* BRIAN PAUL 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.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* \mainpage Mesa GL API Module
|
||||
*
|
||||
* \section GLAPIIntroduction Introduction
|
||||
*
|
||||
* The Mesa GL API module is responsible for dispatching all the
|
||||
* gl*() functions. All GL functions are dispatched by jumping through
|
||||
* the current dispatch table (basically a struct full of function
|
||||
* pointers.)
|
||||
*
|
||||
* A per-thread current dispatch table and per-thread current context
|
||||
* pointer are managed by this module too.
|
||||
*
|
||||
* This module is intended to be non-Mesa-specific so it can be used
|
||||
* with the X/DRI libGL also.
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _GLAPI_H
|
||||
#define _GLAPI_H
|
||||
|
||||
|
||||
#include "GL/gl.h"
|
||||
#include "glapitable.h"
|
||||
#include "glthread.h"
|
||||
|
||||
|
||||
typedef void (*_glapi_warning_func)(void *ctx, const char *str, ...);
|
||||
|
||||
|
||||
#if defined(USE_MGL_NAMESPACE)
|
||||
#define _glapi_set_dispatch _mglapi_set_dispatch
|
||||
#define _glapi_get_dispatch _mglapi_get_dispatch
|
||||
#define _glapi_set_context _mglapi_set_context
|
||||
#define _glapi_get_context _mglapi_get_context
|
||||
#define _glapi_Context _mglapi_Context
|
||||
#define _glapi_Dispatch _mglapi_Dispatch
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
** Define the GET_CURRENT_CONTEXT() macro.
|
||||
** \param C local variable which will hold the current context.
|
||||
**/
|
||||
#if defined (GLX_USE_TLS)
|
||||
|
||||
const extern void *_glapi_Context;
|
||||
const extern struct _glapi_table *_glapi_Dispatch;
|
||||
|
||||
extern __thread void * _glapi_tls_Context
|
||||
__attribute__((tls_model("initial-exec")));
|
||||
|
||||
# define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) _glapi_tls_Context
|
||||
|
||||
#else
|
||||
|
||||
extern void *_glapi_Context;
|
||||
extern struct _glapi_table *_glapi_Dispatch;
|
||||
|
||||
# ifdef THREADS
|
||||
# define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) (_glapi_Context ? _glapi_Context : _glapi_get_context())
|
||||
# else
|
||||
# define GET_CURRENT_CONTEXT(C) GLcontext *C = (GLcontext *) _glapi_Context
|
||||
# endif
|
||||
|
||||
#endif /* defined (GLX_USE_TLS) */
|
||||
|
||||
|
||||
/**
|
||||
** GL API public functions
|
||||
**/
|
||||
|
||||
extern void
|
||||
_glapi_noop_enable_warnings(GLboolean enable);
|
||||
|
||||
extern void
|
||||
_glapi_set_warning_func(_glapi_warning_func func);
|
||||
|
||||
extern void
|
||||
_glapi_check_multithread(void);
|
||||
|
||||
|
||||
extern void
|
||||
_glapi_set_context(void *context);
|
||||
|
||||
|
||||
extern void *
|
||||
_glapi_get_context(void);
|
||||
|
||||
|
||||
extern void
|
||||
_glapi_set_dispatch(struct _glapi_table *dispatch);
|
||||
|
||||
|
||||
extern struct _glapi_table *
|
||||
_glapi_get_dispatch(void);
|
||||
|
||||
|
||||
extern int
|
||||
_glapi_begin_dispatch_override(struct _glapi_table *override);
|
||||
|
||||
|
||||
extern void
|
||||
_glapi_end_dispatch_override(int layer);
|
||||
|
||||
|
||||
struct _glapi_table *
|
||||
_glapi_get_override_dispatch(int layer);
|
||||
|
||||
|
||||
extern GLuint
|
||||
_glapi_get_dispatch_table_size(void);
|
||||
|
||||
|
||||
extern void
|
||||
_glapi_check_table(const struct _glapi_table *table);
|
||||
|
||||
|
||||
extern int
|
||||
_glapi_add_dispatch( const char * const * function_names,
|
||||
const char * parameter_signature );
|
||||
|
||||
extern GLint
|
||||
_glapi_get_proc_offset(const char *funcName);
|
||||
|
||||
|
||||
extern _glapi_proc
|
||||
_glapi_get_proc_address(const char *funcName);
|
||||
|
||||
|
||||
extern const char *
|
||||
_glapi_get_proc_name(GLuint offset);
|
||||
|
||||
|
||||
#endif
|
1174
glx/glapioffsets.h
Normal file
1174
glx/glapioffsets.h
Normal file
File diff suppressed because it is too large
Load Diff
816
glx/glapitable.h
Normal file
816
glx/glapitable.h
Normal file
|
@ -0,0 +1,816 @@
|
|||
/* DO NOT EDIT - This file generated automatically by gl_table.py (from Mesa) script */
|
||||
|
||||
/*
|
||||
* Copyright (C) 1999-2003 Brian Paul All Rights Reserved.
|
||||
* (C) Copyright IBM Corporation 2004
|
||||
* 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
|
||||
* BRIAN PAUL, 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.
|
||||
*/
|
||||
|
||||
#if !defined( _GLAPI_TABLE_H_ )
|
||||
# define _GLAPI_TABLE_H_
|
||||
|
||||
#ifndef GLAPIENTRYP
|
||||
# ifndef GLAPIENTRY
|
||||
# define GLAPIENTRY
|
||||
# endif
|
||||
|
||||
# define GLAPIENTRYP GLAPIENTRY *
|
||||
#endif
|
||||
|
||||
typedef void (*_glapi_proc)(void); /* generic function pointer */
|
||||
|
||||
struct _glapi_table
|
||||
{
|
||||
void (GLAPIENTRYP NewList)(GLuint list, GLenum mode); /* 0 */
|
||||
void (GLAPIENTRYP EndList)(void); /* 1 */
|
||||
void (GLAPIENTRYP CallList)(GLuint list); /* 2 */
|
||||
void (GLAPIENTRYP CallLists)(GLsizei n, GLenum type, const GLvoid * lists); /* 3 */
|
||||
void (GLAPIENTRYP DeleteLists)(GLuint list, GLsizei range); /* 4 */
|
||||
GLuint (GLAPIENTRYP GenLists)(GLsizei range); /* 5 */
|
||||
void (GLAPIENTRYP ListBase)(GLuint base); /* 6 */
|
||||
void (GLAPIENTRYP Begin)(GLenum mode); /* 7 */
|
||||
void (GLAPIENTRYP Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte * bitmap); /* 8 */
|
||||
void (GLAPIENTRYP Color3b)(GLbyte red, GLbyte green, GLbyte blue); /* 9 */
|
||||
void (GLAPIENTRYP Color3bv)(const GLbyte * v); /* 10 */
|
||||
void (GLAPIENTRYP Color3d)(GLdouble red, GLdouble green, GLdouble blue); /* 11 */
|
||||
void (GLAPIENTRYP Color3dv)(const GLdouble * v); /* 12 */
|
||||
void (GLAPIENTRYP Color3f)(GLfloat red, GLfloat green, GLfloat blue); /* 13 */
|
||||
void (GLAPIENTRYP Color3fv)(const GLfloat * v); /* 14 */
|
||||
void (GLAPIENTRYP Color3i)(GLint red, GLint green, GLint blue); /* 15 */
|
||||
void (GLAPIENTRYP Color3iv)(const GLint * v); /* 16 */
|
||||
void (GLAPIENTRYP Color3s)(GLshort red, GLshort green, GLshort blue); /* 17 */
|
||||
void (GLAPIENTRYP Color3sv)(const GLshort * v); /* 18 */
|
||||
void (GLAPIENTRYP Color3ub)(GLubyte red, GLubyte green, GLubyte blue); /* 19 */
|
||||
void (GLAPIENTRYP Color3ubv)(const GLubyte * v); /* 20 */
|
||||
void (GLAPIENTRYP Color3ui)(GLuint red, GLuint green, GLuint blue); /* 21 */
|
||||
void (GLAPIENTRYP Color3uiv)(const GLuint * v); /* 22 */
|
||||
void (GLAPIENTRYP Color3us)(GLushort red, GLushort green, GLushort blue); /* 23 */
|
||||
void (GLAPIENTRYP Color3usv)(const GLushort * v); /* 24 */
|
||||
void (GLAPIENTRYP Color4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha); /* 25 */
|
||||
void (GLAPIENTRYP Color4bv)(const GLbyte * v); /* 26 */
|
||||
void (GLAPIENTRYP Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); /* 27 */
|
||||
void (GLAPIENTRYP Color4dv)(const GLdouble * v); /* 28 */
|
||||
void (GLAPIENTRYP Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 29 */
|
||||
void (GLAPIENTRYP Color4fv)(const GLfloat * v); /* 30 */
|
||||
void (GLAPIENTRYP Color4i)(GLint red, GLint green, GLint blue, GLint alpha); /* 31 */
|
||||
void (GLAPIENTRYP Color4iv)(const GLint * v); /* 32 */
|
||||
void (GLAPIENTRYP Color4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha); /* 33 */
|
||||
void (GLAPIENTRYP Color4sv)(const GLshort * v); /* 34 */
|
||||
void (GLAPIENTRYP Color4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha); /* 35 */
|
||||
void (GLAPIENTRYP Color4ubv)(const GLubyte * v); /* 36 */
|
||||
void (GLAPIENTRYP Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha); /* 37 */
|
||||
void (GLAPIENTRYP Color4uiv)(const GLuint * v); /* 38 */
|
||||
void (GLAPIENTRYP Color4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha); /* 39 */
|
||||
void (GLAPIENTRYP Color4usv)(const GLushort * v); /* 40 */
|
||||
void (GLAPIENTRYP EdgeFlag)(GLboolean flag); /* 41 */
|
||||
void (GLAPIENTRYP EdgeFlagv)(const GLboolean * flag); /* 42 */
|
||||
void (GLAPIENTRYP End)(void); /* 43 */
|
||||
void (GLAPIENTRYP Indexd)(GLdouble c); /* 44 */
|
||||
void (GLAPIENTRYP Indexdv)(const GLdouble * c); /* 45 */
|
||||
void (GLAPIENTRYP Indexf)(GLfloat c); /* 46 */
|
||||
void (GLAPIENTRYP Indexfv)(const GLfloat * c); /* 47 */
|
||||
void (GLAPIENTRYP Indexi)(GLint c); /* 48 */
|
||||
void (GLAPIENTRYP Indexiv)(const GLint * c); /* 49 */
|
||||
void (GLAPIENTRYP Indexs)(GLshort c); /* 50 */
|
||||
void (GLAPIENTRYP Indexsv)(const GLshort * c); /* 51 */
|
||||
void (GLAPIENTRYP Normal3b)(GLbyte nx, GLbyte ny, GLbyte nz); /* 52 */
|
||||
void (GLAPIENTRYP Normal3bv)(const GLbyte * v); /* 53 */
|
||||
void (GLAPIENTRYP Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz); /* 54 */
|
||||
void (GLAPIENTRYP Normal3dv)(const GLdouble * v); /* 55 */
|
||||
void (GLAPIENTRYP Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); /* 56 */
|
||||
void (GLAPIENTRYP Normal3fv)(const GLfloat * v); /* 57 */
|
||||
void (GLAPIENTRYP Normal3i)(GLint nx, GLint ny, GLint nz); /* 58 */
|
||||
void (GLAPIENTRYP Normal3iv)(const GLint * v); /* 59 */
|
||||
void (GLAPIENTRYP Normal3s)(GLshort nx, GLshort ny, GLshort nz); /* 60 */
|
||||
void (GLAPIENTRYP Normal3sv)(const GLshort * v); /* 61 */
|
||||
void (GLAPIENTRYP RasterPos2d)(GLdouble x, GLdouble y); /* 62 */
|
||||
void (GLAPIENTRYP RasterPos2dv)(const GLdouble * v); /* 63 */
|
||||
void (GLAPIENTRYP RasterPos2f)(GLfloat x, GLfloat y); /* 64 */
|
||||
void (GLAPIENTRYP RasterPos2fv)(const GLfloat * v); /* 65 */
|
||||
void (GLAPIENTRYP RasterPos2i)(GLint x, GLint y); /* 66 */
|
||||
void (GLAPIENTRYP RasterPos2iv)(const GLint * v); /* 67 */
|
||||
void (GLAPIENTRYP RasterPos2s)(GLshort x, GLshort y); /* 68 */
|
||||
void (GLAPIENTRYP RasterPos2sv)(const GLshort * v); /* 69 */
|
||||
void (GLAPIENTRYP RasterPos3d)(GLdouble x, GLdouble y, GLdouble z); /* 70 */
|
||||
void (GLAPIENTRYP RasterPos3dv)(const GLdouble * v); /* 71 */
|
||||
void (GLAPIENTRYP RasterPos3f)(GLfloat x, GLfloat y, GLfloat z); /* 72 */
|
||||
void (GLAPIENTRYP RasterPos3fv)(const GLfloat * v); /* 73 */
|
||||
void (GLAPIENTRYP RasterPos3i)(GLint x, GLint y, GLint z); /* 74 */
|
||||
void (GLAPIENTRYP RasterPos3iv)(const GLint * v); /* 75 */
|
||||
void (GLAPIENTRYP RasterPos3s)(GLshort x, GLshort y, GLshort z); /* 76 */
|
||||
void (GLAPIENTRYP RasterPos3sv)(const GLshort * v); /* 77 */
|
||||
void (GLAPIENTRYP RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 78 */
|
||||
void (GLAPIENTRYP RasterPos4dv)(const GLdouble * v); /* 79 */
|
||||
void (GLAPIENTRYP RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 80 */
|
||||
void (GLAPIENTRYP RasterPos4fv)(const GLfloat * v); /* 81 */
|
||||
void (GLAPIENTRYP RasterPos4i)(GLint x, GLint y, GLint z, GLint w); /* 82 */
|
||||
void (GLAPIENTRYP RasterPos4iv)(const GLint * v); /* 83 */
|
||||
void (GLAPIENTRYP RasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w); /* 84 */
|
||||
void (GLAPIENTRYP RasterPos4sv)(const GLshort * v); /* 85 */
|
||||
void (GLAPIENTRYP Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); /* 86 */
|
||||
void (GLAPIENTRYP Rectdv)(const GLdouble * v1, const GLdouble * v2); /* 87 */
|
||||
void (GLAPIENTRYP Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); /* 88 */
|
||||
void (GLAPIENTRYP Rectfv)(const GLfloat * v1, const GLfloat * v2); /* 89 */
|
||||
void (GLAPIENTRYP Recti)(GLint x1, GLint y1, GLint x2, GLint y2); /* 90 */
|
||||
void (GLAPIENTRYP Rectiv)(const GLint * v1, const GLint * v2); /* 91 */
|
||||
void (GLAPIENTRYP Rects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2); /* 92 */
|
||||
void (GLAPIENTRYP Rectsv)(const GLshort * v1, const GLshort * v2); /* 93 */
|
||||
void (GLAPIENTRYP TexCoord1d)(GLdouble s); /* 94 */
|
||||
void (GLAPIENTRYP TexCoord1dv)(const GLdouble * v); /* 95 */
|
||||
void (GLAPIENTRYP TexCoord1f)(GLfloat s); /* 96 */
|
||||
void (GLAPIENTRYP TexCoord1fv)(const GLfloat * v); /* 97 */
|
||||
void (GLAPIENTRYP TexCoord1i)(GLint s); /* 98 */
|
||||
void (GLAPIENTRYP TexCoord1iv)(const GLint * v); /* 99 */
|
||||
void (GLAPIENTRYP TexCoord1s)(GLshort s); /* 100 */
|
||||
void (GLAPIENTRYP TexCoord1sv)(const GLshort * v); /* 101 */
|
||||
void (GLAPIENTRYP TexCoord2d)(GLdouble s, GLdouble t); /* 102 */
|
||||
void (GLAPIENTRYP TexCoord2dv)(const GLdouble * v); /* 103 */
|
||||
void (GLAPIENTRYP TexCoord2f)(GLfloat s, GLfloat t); /* 104 */
|
||||
void (GLAPIENTRYP TexCoord2fv)(const GLfloat * v); /* 105 */
|
||||
void (GLAPIENTRYP TexCoord2i)(GLint s, GLint t); /* 106 */
|
||||
void (GLAPIENTRYP TexCoord2iv)(const GLint * v); /* 107 */
|
||||
void (GLAPIENTRYP TexCoord2s)(GLshort s, GLshort t); /* 108 */
|
||||
void (GLAPIENTRYP TexCoord2sv)(const GLshort * v); /* 109 */
|
||||
void (GLAPIENTRYP TexCoord3d)(GLdouble s, GLdouble t, GLdouble r); /* 110 */
|
||||
void (GLAPIENTRYP TexCoord3dv)(const GLdouble * v); /* 111 */
|
||||
void (GLAPIENTRYP TexCoord3f)(GLfloat s, GLfloat t, GLfloat r); /* 112 */
|
||||
void (GLAPIENTRYP TexCoord3fv)(const GLfloat * v); /* 113 */
|
||||
void (GLAPIENTRYP TexCoord3i)(GLint s, GLint t, GLint r); /* 114 */
|
||||
void (GLAPIENTRYP TexCoord3iv)(const GLint * v); /* 115 */
|
||||
void (GLAPIENTRYP TexCoord3s)(GLshort s, GLshort t, GLshort r); /* 116 */
|
||||
void (GLAPIENTRYP TexCoord3sv)(const GLshort * v); /* 117 */
|
||||
void (GLAPIENTRYP TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 118 */
|
||||
void (GLAPIENTRYP TexCoord4dv)(const GLdouble * v); /* 119 */
|
||||
void (GLAPIENTRYP TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 120 */
|
||||
void (GLAPIENTRYP TexCoord4fv)(const GLfloat * v); /* 121 */
|
||||
void (GLAPIENTRYP TexCoord4i)(GLint s, GLint t, GLint r, GLint q); /* 122 */
|
||||
void (GLAPIENTRYP TexCoord4iv)(const GLint * v); /* 123 */
|
||||
void (GLAPIENTRYP TexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q); /* 124 */
|
||||
void (GLAPIENTRYP TexCoord4sv)(const GLshort * v); /* 125 */
|
||||
void (GLAPIENTRYP Vertex2d)(GLdouble x, GLdouble y); /* 126 */
|
||||
void (GLAPIENTRYP Vertex2dv)(const GLdouble * v); /* 127 */
|
||||
void (GLAPIENTRYP Vertex2f)(GLfloat x, GLfloat y); /* 128 */
|
||||
void (GLAPIENTRYP Vertex2fv)(const GLfloat * v); /* 129 */
|
||||
void (GLAPIENTRYP Vertex2i)(GLint x, GLint y); /* 130 */
|
||||
void (GLAPIENTRYP Vertex2iv)(const GLint * v); /* 131 */
|
||||
void (GLAPIENTRYP Vertex2s)(GLshort x, GLshort y); /* 132 */
|
||||
void (GLAPIENTRYP Vertex2sv)(const GLshort * v); /* 133 */
|
||||
void (GLAPIENTRYP Vertex3d)(GLdouble x, GLdouble y, GLdouble z); /* 134 */
|
||||
void (GLAPIENTRYP Vertex3dv)(const GLdouble * v); /* 135 */
|
||||
void (GLAPIENTRYP Vertex3f)(GLfloat x, GLfloat y, GLfloat z); /* 136 */
|
||||
void (GLAPIENTRYP Vertex3fv)(const GLfloat * v); /* 137 */
|
||||
void (GLAPIENTRYP Vertex3i)(GLint x, GLint y, GLint z); /* 138 */
|
||||
void (GLAPIENTRYP Vertex3iv)(const GLint * v); /* 139 */
|
||||
void (GLAPIENTRYP Vertex3s)(GLshort x, GLshort y, GLshort z); /* 140 */
|
||||
void (GLAPIENTRYP Vertex3sv)(const GLshort * v); /* 141 */
|
||||
void (GLAPIENTRYP Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 142 */
|
||||
void (GLAPIENTRYP Vertex4dv)(const GLdouble * v); /* 143 */
|
||||
void (GLAPIENTRYP Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 144 */
|
||||
void (GLAPIENTRYP Vertex4fv)(const GLfloat * v); /* 145 */
|
||||
void (GLAPIENTRYP Vertex4i)(GLint x, GLint y, GLint z, GLint w); /* 146 */
|
||||
void (GLAPIENTRYP Vertex4iv)(const GLint * v); /* 147 */
|
||||
void (GLAPIENTRYP Vertex4s)(GLshort x, GLshort y, GLshort z, GLshort w); /* 148 */
|
||||
void (GLAPIENTRYP Vertex4sv)(const GLshort * v); /* 149 */
|
||||
void (GLAPIENTRYP ClipPlane)(GLenum plane, const GLdouble * equation); /* 150 */
|
||||
void (GLAPIENTRYP ColorMaterial)(GLenum face, GLenum mode); /* 151 */
|
||||
void (GLAPIENTRYP CullFace)(GLenum mode); /* 152 */
|
||||
void (GLAPIENTRYP Fogf)(GLenum pname, GLfloat param); /* 153 */
|
||||
void (GLAPIENTRYP Fogfv)(GLenum pname, const GLfloat * params); /* 154 */
|
||||
void (GLAPIENTRYP Fogi)(GLenum pname, GLint param); /* 155 */
|
||||
void (GLAPIENTRYP Fogiv)(GLenum pname, const GLint * params); /* 156 */
|
||||
void (GLAPIENTRYP FrontFace)(GLenum mode); /* 157 */
|
||||
void (GLAPIENTRYP Hint)(GLenum target, GLenum mode); /* 158 */
|
||||
void (GLAPIENTRYP Lightf)(GLenum light, GLenum pname, GLfloat param); /* 159 */
|
||||
void (GLAPIENTRYP Lightfv)(GLenum light, GLenum pname, const GLfloat * params); /* 160 */
|
||||
void (GLAPIENTRYP Lighti)(GLenum light, GLenum pname, GLint param); /* 161 */
|
||||
void (GLAPIENTRYP Lightiv)(GLenum light, GLenum pname, const GLint * params); /* 162 */
|
||||
void (GLAPIENTRYP LightModelf)(GLenum pname, GLfloat param); /* 163 */
|
||||
void (GLAPIENTRYP LightModelfv)(GLenum pname, const GLfloat * params); /* 164 */
|
||||
void (GLAPIENTRYP LightModeli)(GLenum pname, GLint param); /* 165 */
|
||||
void (GLAPIENTRYP LightModeliv)(GLenum pname, const GLint * params); /* 166 */
|
||||
void (GLAPIENTRYP LineStipple)(GLint factor, GLushort pattern); /* 167 */
|
||||
void (GLAPIENTRYP LineWidth)(GLfloat width); /* 168 */
|
||||
void (GLAPIENTRYP Materialf)(GLenum face, GLenum pname, GLfloat param); /* 169 */
|
||||
void (GLAPIENTRYP Materialfv)(GLenum face, GLenum pname, const GLfloat * params); /* 170 */
|
||||
void (GLAPIENTRYP Materiali)(GLenum face, GLenum pname, GLint param); /* 171 */
|
||||
void (GLAPIENTRYP Materialiv)(GLenum face, GLenum pname, const GLint * params); /* 172 */
|
||||
void (GLAPIENTRYP PointSize)(GLfloat size); /* 173 */
|
||||
void (GLAPIENTRYP PolygonMode)(GLenum face, GLenum mode); /* 174 */
|
||||
void (GLAPIENTRYP PolygonStipple)(const GLubyte * mask); /* 175 */
|
||||
void (GLAPIENTRYP Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); /* 176 */
|
||||
void (GLAPIENTRYP ShadeModel)(GLenum mode); /* 177 */
|
||||
void (GLAPIENTRYP TexParameterf)(GLenum target, GLenum pname, GLfloat param); /* 178 */
|
||||
void (GLAPIENTRYP TexParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 179 */
|
||||
void (GLAPIENTRYP TexParameteri)(GLenum target, GLenum pname, GLint param); /* 180 */
|
||||
void (GLAPIENTRYP TexParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 181 */
|
||||
void (GLAPIENTRYP TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 182 */
|
||||
void (GLAPIENTRYP TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 183 */
|
||||
void (GLAPIENTRYP TexEnvf)(GLenum target, GLenum pname, GLfloat param); /* 184 */
|
||||
void (GLAPIENTRYP TexEnvfv)(GLenum target, GLenum pname, const GLfloat * params); /* 185 */
|
||||
void (GLAPIENTRYP TexEnvi)(GLenum target, GLenum pname, GLint param); /* 186 */
|
||||
void (GLAPIENTRYP TexEnviv)(GLenum target, GLenum pname, const GLint * params); /* 187 */
|
||||
void (GLAPIENTRYP TexGend)(GLenum coord, GLenum pname, GLdouble param); /* 188 */
|
||||
void (GLAPIENTRYP TexGendv)(GLenum coord, GLenum pname, const GLdouble * params); /* 189 */
|
||||
void (GLAPIENTRYP TexGenf)(GLenum coord, GLenum pname, GLfloat param); /* 190 */
|
||||
void (GLAPIENTRYP TexGenfv)(GLenum coord, GLenum pname, const GLfloat * params); /* 191 */
|
||||
void (GLAPIENTRYP TexGeni)(GLenum coord, GLenum pname, GLint param); /* 192 */
|
||||
void (GLAPIENTRYP TexGeniv)(GLenum coord, GLenum pname, const GLint * params); /* 193 */
|
||||
void (GLAPIENTRYP FeedbackBuffer)(GLsizei size, GLenum type, GLfloat * buffer); /* 194 */
|
||||
void (GLAPIENTRYP SelectBuffer)(GLsizei size, GLuint * buffer); /* 195 */
|
||||
GLint (GLAPIENTRYP RenderMode)(GLenum mode); /* 196 */
|
||||
void (GLAPIENTRYP InitNames)(void); /* 197 */
|
||||
void (GLAPIENTRYP LoadName)(GLuint name); /* 198 */
|
||||
void (GLAPIENTRYP PassThrough)(GLfloat token); /* 199 */
|
||||
void (GLAPIENTRYP PopName)(void); /* 200 */
|
||||
void (GLAPIENTRYP PushName)(GLuint name); /* 201 */
|
||||
void (GLAPIENTRYP DrawBuffer)(GLenum mode); /* 202 */
|
||||
void (GLAPIENTRYP Clear)(GLbitfield mask); /* 203 */
|
||||
void (GLAPIENTRYP ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); /* 204 */
|
||||
void (GLAPIENTRYP ClearIndex)(GLfloat c); /* 205 */
|
||||
void (GLAPIENTRYP ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 206 */
|
||||
void (GLAPIENTRYP ClearStencil)(GLint s); /* 207 */
|
||||
void (GLAPIENTRYP ClearDepth)(GLclampd depth); /* 208 */
|
||||
void (GLAPIENTRYP StencilMask)(GLuint mask); /* 209 */
|
||||
void (GLAPIENTRYP ColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); /* 210 */
|
||||
void (GLAPIENTRYP DepthMask)(GLboolean flag); /* 211 */
|
||||
void (GLAPIENTRYP IndexMask)(GLuint mask); /* 212 */
|
||||
void (GLAPIENTRYP Accum)(GLenum op, GLfloat value); /* 213 */
|
||||
void (GLAPIENTRYP Disable)(GLenum cap); /* 214 */
|
||||
void (GLAPIENTRYP Enable)(GLenum cap); /* 215 */
|
||||
void (GLAPIENTRYP Finish)(void); /* 216 */
|
||||
void (GLAPIENTRYP Flush)(void); /* 217 */
|
||||
void (GLAPIENTRYP PopAttrib)(void); /* 218 */
|
||||
void (GLAPIENTRYP PushAttrib)(GLbitfield mask); /* 219 */
|
||||
void (GLAPIENTRYP Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble * points); /* 220 */
|
||||
void (GLAPIENTRYP Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat * points); /* 221 */
|
||||
void (GLAPIENTRYP Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble * points); /* 222 */
|
||||
void (GLAPIENTRYP Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat * points); /* 223 */
|
||||
void (GLAPIENTRYP MapGrid1d)(GLint un, GLdouble u1, GLdouble u2); /* 224 */
|
||||
void (GLAPIENTRYP MapGrid1f)(GLint un, GLfloat u1, GLfloat u2); /* 225 */
|
||||
void (GLAPIENTRYP MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); /* 226 */
|
||||
void (GLAPIENTRYP MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); /* 227 */
|
||||
void (GLAPIENTRYP EvalCoord1d)(GLdouble u); /* 228 */
|
||||
void (GLAPIENTRYP EvalCoord1dv)(const GLdouble * u); /* 229 */
|
||||
void (GLAPIENTRYP EvalCoord1f)(GLfloat u); /* 230 */
|
||||
void (GLAPIENTRYP EvalCoord1fv)(const GLfloat * u); /* 231 */
|
||||
void (GLAPIENTRYP EvalCoord2d)(GLdouble u, GLdouble v); /* 232 */
|
||||
void (GLAPIENTRYP EvalCoord2dv)(const GLdouble * u); /* 233 */
|
||||
void (GLAPIENTRYP EvalCoord2f)(GLfloat u, GLfloat v); /* 234 */
|
||||
void (GLAPIENTRYP EvalCoord2fv)(const GLfloat * u); /* 235 */
|
||||
void (GLAPIENTRYP EvalMesh1)(GLenum mode, GLint i1, GLint i2); /* 236 */
|
||||
void (GLAPIENTRYP EvalPoint1)(GLint i); /* 237 */
|
||||
void (GLAPIENTRYP EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); /* 238 */
|
||||
void (GLAPIENTRYP EvalPoint2)(GLint i, GLint j); /* 239 */
|
||||
void (GLAPIENTRYP AlphaFunc)(GLenum func, GLclampf ref); /* 240 */
|
||||
void (GLAPIENTRYP BlendFunc)(GLenum sfactor, GLenum dfactor); /* 241 */
|
||||
void (GLAPIENTRYP LogicOp)(GLenum opcode); /* 242 */
|
||||
void (GLAPIENTRYP StencilFunc)(GLenum func, GLint ref, GLuint mask); /* 243 */
|
||||
void (GLAPIENTRYP StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); /* 244 */
|
||||
void (GLAPIENTRYP DepthFunc)(GLenum func); /* 245 */
|
||||
void (GLAPIENTRYP PixelZoom)(GLfloat xfactor, GLfloat yfactor); /* 246 */
|
||||
void (GLAPIENTRYP PixelTransferf)(GLenum pname, GLfloat param); /* 247 */
|
||||
void (GLAPIENTRYP PixelTransferi)(GLenum pname, GLint param); /* 248 */
|
||||
void (GLAPIENTRYP PixelStoref)(GLenum pname, GLfloat param); /* 249 */
|
||||
void (GLAPIENTRYP PixelStorei)(GLenum pname, GLint param); /* 250 */
|
||||
void (GLAPIENTRYP PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat * values); /* 251 */
|
||||
void (GLAPIENTRYP PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint * values); /* 252 */
|
||||
void (GLAPIENTRYP PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort * values); /* 253 */
|
||||
void (GLAPIENTRYP ReadBuffer)(GLenum mode); /* 254 */
|
||||
void (GLAPIENTRYP CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); /* 255 */
|
||||
void (GLAPIENTRYP ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid * pixels); /* 256 */
|
||||
void (GLAPIENTRYP DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 257 */
|
||||
void (GLAPIENTRYP GetBooleanv)(GLenum pname, GLboolean * params); /* 258 */
|
||||
void (GLAPIENTRYP GetClipPlane)(GLenum plane, GLdouble * equation); /* 259 */
|
||||
void (GLAPIENTRYP GetDoublev)(GLenum pname, GLdouble * params); /* 260 */
|
||||
GLenum (GLAPIENTRYP GetError)(void); /* 261 */
|
||||
void (GLAPIENTRYP GetFloatv)(GLenum pname, GLfloat * params); /* 262 */
|
||||
void (GLAPIENTRYP GetIntegerv)(GLenum pname, GLint * params); /* 263 */
|
||||
void (GLAPIENTRYP GetLightfv)(GLenum light, GLenum pname, GLfloat * params); /* 264 */
|
||||
void (GLAPIENTRYP GetLightiv)(GLenum light, GLenum pname, GLint * params); /* 265 */
|
||||
void (GLAPIENTRYP GetMapdv)(GLenum target, GLenum query, GLdouble * v); /* 266 */
|
||||
void (GLAPIENTRYP GetMapfv)(GLenum target, GLenum query, GLfloat * v); /* 267 */
|
||||
void (GLAPIENTRYP GetMapiv)(GLenum target, GLenum query, GLint * v); /* 268 */
|
||||
void (GLAPIENTRYP GetMaterialfv)(GLenum face, GLenum pname, GLfloat * params); /* 269 */
|
||||
void (GLAPIENTRYP GetMaterialiv)(GLenum face, GLenum pname, GLint * params); /* 270 */
|
||||
void (GLAPIENTRYP GetPixelMapfv)(GLenum map, GLfloat * values); /* 271 */
|
||||
void (GLAPIENTRYP GetPixelMapuiv)(GLenum map, GLuint * values); /* 272 */
|
||||
void (GLAPIENTRYP GetPixelMapusv)(GLenum map, GLushort * values); /* 273 */
|
||||
void (GLAPIENTRYP GetPolygonStipple)(GLubyte * mask); /* 274 */
|
||||
const GLubyte * (GLAPIENTRYP GetString)(GLenum name); /* 275 */
|
||||
void (GLAPIENTRYP GetTexEnvfv)(GLenum target, GLenum pname, GLfloat * params); /* 276 */
|
||||
void (GLAPIENTRYP GetTexEnviv)(GLenum target, GLenum pname, GLint * params); /* 277 */
|
||||
void (GLAPIENTRYP GetTexGendv)(GLenum coord, GLenum pname, GLdouble * params); /* 278 */
|
||||
void (GLAPIENTRYP GetTexGenfv)(GLenum coord, GLenum pname, GLfloat * params); /* 279 */
|
||||
void (GLAPIENTRYP GetTexGeniv)(GLenum coord, GLenum pname, GLint * params); /* 280 */
|
||||
void (GLAPIENTRYP GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid * pixels); /* 281 */
|
||||
void (GLAPIENTRYP GetTexParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 282 */
|
||||
void (GLAPIENTRYP GetTexParameteriv)(GLenum target, GLenum pname, GLint * params); /* 283 */
|
||||
void (GLAPIENTRYP GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat * params); /* 284 */
|
||||
void (GLAPIENTRYP GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint * params); /* 285 */
|
||||
GLboolean (GLAPIENTRYP IsEnabled)(GLenum cap); /* 286 */
|
||||
GLboolean (GLAPIENTRYP IsList)(GLuint list); /* 287 */
|
||||
void (GLAPIENTRYP DepthRange)(GLclampd zNear, GLclampd zFar); /* 288 */
|
||||
void (GLAPIENTRYP Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 289 */
|
||||
void (GLAPIENTRYP LoadIdentity)(void); /* 290 */
|
||||
void (GLAPIENTRYP LoadMatrixf)(const GLfloat * m); /* 291 */
|
||||
void (GLAPIENTRYP LoadMatrixd)(const GLdouble * m); /* 292 */
|
||||
void (GLAPIENTRYP MatrixMode)(GLenum mode); /* 293 */
|
||||
void (GLAPIENTRYP MultMatrixf)(const GLfloat * m); /* 294 */
|
||||
void (GLAPIENTRYP MultMatrixd)(const GLdouble * m); /* 295 */
|
||||
void (GLAPIENTRYP Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); /* 296 */
|
||||
void (GLAPIENTRYP PopMatrix)(void); /* 297 */
|
||||
void (GLAPIENTRYP PushMatrix)(void); /* 298 */
|
||||
void (GLAPIENTRYP Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); /* 299 */
|
||||
void (GLAPIENTRYP Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); /* 300 */
|
||||
void (GLAPIENTRYP Scaled)(GLdouble x, GLdouble y, GLdouble z); /* 301 */
|
||||
void (GLAPIENTRYP Scalef)(GLfloat x, GLfloat y, GLfloat z); /* 302 */
|
||||
void (GLAPIENTRYP Translated)(GLdouble x, GLdouble y, GLdouble z); /* 303 */
|
||||
void (GLAPIENTRYP Translatef)(GLfloat x, GLfloat y, GLfloat z); /* 304 */
|
||||
void (GLAPIENTRYP Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); /* 305 */
|
||||
void (GLAPIENTRYP ArrayElement)(GLint i); /* 306 */
|
||||
void (GLAPIENTRYP BindTexture)(GLenum target, GLuint texture); /* 307 */
|
||||
void (GLAPIENTRYP ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 308 */
|
||||
void (GLAPIENTRYP DisableClientState)(GLenum array); /* 309 */
|
||||
void (GLAPIENTRYP DrawArrays)(GLenum mode, GLint first, GLsizei count); /* 310 */
|
||||
void (GLAPIENTRYP DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid * indices); /* 311 */
|
||||
void (GLAPIENTRYP EdgeFlagPointer)(GLsizei stride, const GLvoid * pointer); /* 312 */
|
||||
void (GLAPIENTRYP EnableClientState)(GLenum array); /* 313 */
|
||||
void (GLAPIENTRYP IndexPointer)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 314 */
|
||||
void (GLAPIENTRYP Indexub)(GLubyte c); /* 315 */
|
||||
void (GLAPIENTRYP Indexubv)(const GLubyte * c); /* 316 */
|
||||
void (GLAPIENTRYP InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid * pointer); /* 317 */
|
||||
void (GLAPIENTRYP NormalPointer)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 318 */
|
||||
void (GLAPIENTRYP PolygonOffset)(GLfloat factor, GLfloat units); /* 319 */
|
||||
void (GLAPIENTRYP TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 320 */
|
||||
void (GLAPIENTRYP VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 321 */
|
||||
GLboolean (GLAPIENTRYP AreTexturesResident)(GLsizei n, const GLuint * textures, GLboolean * residences); /* 322 */
|
||||
void (GLAPIENTRYP CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); /* 323 */
|
||||
void (GLAPIENTRYP CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); /* 324 */
|
||||
void (GLAPIENTRYP CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); /* 325 */
|
||||
void (GLAPIENTRYP CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 326 */
|
||||
void (GLAPIENTRYP DeleteTextures)(GLsizei n, const GLuint * textures); /* 327 */
|
||||
void (GLAPIENTRYP GenTextures)(GLsizei n, GLuint * textures); /* 328 */
|
||||
void (GLAPIENTRYP GetPointerv)(GLenum pname, GLvoid ** params); /* 329 */
|
||||
GLboolean (GLAPIENTRYP IsTexture)(GLuint texture); /* 330 */
|
||||
void (GLAPIENTRYP PrioritizeTextures)(GLsizei n, const GLuint * textures, const GLclampf * priorities); /* 331 */
|
||||
void (GLAPIENTRYP TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid * pixels); /* 332 */
|
||||
void (GLAPIENTRYP TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels); /* 333 */
|
||||
void (GLAPIENTRYP PopClientAttrib)(void); /* 334 */
|
||||
void (GLAPIENTRYP PushClientAttrib)(GLbitfield mask); /* 335 */
|
||||
void (GLAPIENTRYP BlendColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); /* 336 */
|
||||
void (GLAPIENTRYP BlendEquation)(GLenum mode); /* 337 */
|
||||
void (GLAPIENTRYP DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid * indices); /* 338 */
|
||||
void (GLAPIENTRYP ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * table); /* 339 */
|
||||
void (GLAPIENTRYP ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 340 */
|
||||
void (GLAPIENTRYP ColorTableParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 341 */
|
||||
void (GLAPIENTRYP CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 342 */
|
||||
void (GLAPIENTRYP GetColorTable)(GLenum target, GLenum format, GLenum type, GLvoid * table); /* 343 */
|
||||
void (GLAPIENTRYP GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 344 */
|
||||
void (GLAPIENTRYP GetColorTableParameteriv)(GLenum target, GLenum pname, GLint * params); /* 345 */
|
||||
void (GLAPIENTRYP ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid * data); /* 346 */
|
||||
void (GLAPIENTRYP CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); /* 347 */
|
||||
void (GLAPIENTRYP ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid * image); /* 348 */
|
||||
void (GLAPIENTRYP ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * image); /* 349 */
|
||||
void (GLAPIENTRYP ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params); /* 350 */
|
||||
void (GLAPIENTRYP ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat * params); /* 351 */
|
||||
void (GLAPIENTRYP ConvolutionParameteri)(GLenum target, GLenum pname, GLint params); /* 352 */
|
||||
void (GLAPIENTRYP ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint * params); /* 353 */
|
||||
void (GLAPIENTRYP CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); /* 354 */
|
||||
void (GLAPIENTRYP CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); /* 355 */
|
||||
void (GLAPIENTRYP GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, GLvoid * image); /* 356 */
|
||||
void (GLAPIENTRYP GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 357 */
|
||||
void (GLAPIENTRYP GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint * params); /* 358 */
|
||||
void (GLAPIENTRYP GetSeparableFilter)(GLenum target, GLenum format, GLenum type, GLvoid * row, GLvoid * column, GLvoid * span); /* 359 */
|
||||
void (GLAPIENTRYP SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * row, const GLvoid * column); /* 360 */
|
||||
void (GLAPIENTRYP GetHistogram)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 361 */
|
||||
void (GLAPIENTRYP GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 362 */
|
||||
void (GLAPIENTRYP GetHistogramParameteriv)(GLenum target, GLenum pname, GLint * params); /* 363 */
|
||||
void (GLAPIENTRYP GetMinmax)(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid * values); /* 364 */
|
||||
void (GLAPIENTRYP GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat * params); /* 365 */
|
||||
void (GLAPIENTRYP GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint * params); /* 366 */
|
||||
void (GLAPIENTRYP Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean sink); /* 367 */
|
||||
void (GLAPIENTRYP Minmax)(GLenum target, GLenum internalformat, GLboolean sink); /* 368 */
|
||||
void (GLAPIENTRYP ResetHistogram)(GLenum target); /* 369 */
|
||||
void (GLAPIENTRYP ResetMinmax)(GLenum target); /* 370 */
|
||||
void (GLAPIENTRYP TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid * pixels); /* 371 */
|
||||
void (GLAPIENTRYP TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid * pixels); /* 372 */
|
||||
void (GLAPIENTRYP CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); /* 373 */
|
||||
void (GLAPIENTRYP ActiveTextureARB)(GLenum texture); /* 374 */
|
||||
void (GLAPIENTRYP ClientActiveTextureARB)(GLenum texture); /* 375 */
|
||||
void (GLAPIENTRYP MultiTexCoord1dARB)(GLenum target, GLdouble s); /* 376 */
|
||||
void (GLAPIENTRYP MultiTexCoord1dvARB)(GLenum target, const GLdouble * v); /* 377 */
|
||||
void (GLAPIENTRYP MultiTexCoord1fARB)(GLenum target, GLfloat s); /* 378 */
|
||||
void (GLAPIENTRYP MultiTexCoord1fvARB)(GLenum target, const GLfloat * v); /* 379 */
|
||||
void (GLAPIENTRYP MultiTexCoord1iARB)(GLenum target, GLint s); /* 380 */
|
||||
void (GLAPIENTRYP MultiTexCoord1ivARB)(GLenum target, const GLint * v); /* 381 */
|
||||
void (GLAPIENTRYP MultiTexCoord1sARB)(GLenum target, GLshort s); /* 382 */
|
||||
void (GLAPIENTRYP MultiTexCoord1svARB)(GLenum target, const GLshort * v); /* 383 */
|
||||
void (GLAPIENTRYP MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t); /* 384 */
|
||||
void (GLAPIENTRYP MultiTexCoord2dvARB)(GLenum target, const GLdouble * v); /* 385 */
|
||||
void (GLAPIENTRYP MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t); /* 386 */
|
||||
void (GLAPIENTRYP MultiTexCoord2fvARB)(GLenum target, const GLfloat * v); /* 387 */
|
||||
void (GLAPIENTRYP MultiTexCoord2iARB)(GLenum target, GLint s, GLint t); /* 388 */
|
||||
void (GLAPIENTRYP MultiTexCoord2ivARB)(GLenum target, const GLint * v); /* 389 */
|
||||
void (GLAPIENTRYP MultiTexCoord2sARB)(GLenum target, GLshort s, GLshort t); /* 390 */
|
||||
void (GLAPIENTRYP MultiTexCoord2svARB)(GLenum target, const GLshort * v); /* 391 */
|
||||
void (GLAPIENTRYP MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r); /* 392 */
|
||||
void (GLAPIENTRYP MultiTexCoord3dvARB)(GLenum target, const GLdouble * v); /* 393 */
|
||||
void (GLAPIENTRYP MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r); /* 394 */
|
||||
void (GLAPIENTRYP MultiTexCoord3fvARB)(GLenum target, const GLfloat * v); /* 395 */
|
||||
void (GLAPIENTRYP MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r); /* 396 */
|
||||
void (GLAPIENTRYP MultiTexCoord3ivARB)(GLenum target, const GLint * v); /* 397 */
|
||||
void (GLAPIENTRYP MultiTexCoord3sARB)(GLenum target, GLshort s, GLshort t, GLshort r); /* 398 */
|
||||
void (GLAPIENTRYP MultiTexCoord3svARB)(GLenum target, const GLshort * v); /* 399 */
|
||||
void (GLAPIENTRYP MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); /* 400 */
|
||||
void (GLAPIENTRYP MultiTexCoord4dvARB)(GLenum target, const GLdouble * v); /* 401 */
|
||||
void (GLAPIENTRYP MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); /* 402 */
|
||||
void (GLAPIENTRYP MultiTexCoord4fvARB)(GLenum target, const GLfloat * v); /* 403 */
|
||||
void (GLAPIENTRYP MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q); /* 404 */
|
||||
void (GLAPIENTRYP MultiTexCoord4ivARB)(GLenum target, const GLint * v); /* 405 */
|
||||
void (GLAPIENTRYP MultiTexCoord4sARB)(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); /* 406 */
|
||||
void (GLAPIENTRYP MultiTexCoord4svARB)(GLenum target, const GLshort * v); /* 407 */
|
||||
void (GLAPIENTRYP AttachShader)(GLuint program, GLuint shader); /* 408 */
|
||||
GLuint (GLAPIENTRYP CreateProgram)(void); /* 409 */
|
||||
GLuint (GLAPIENTRYP CreateShader)(GLenum type); /* 410 */
|
||||
void (GLAPIENTRYP DeleteProgram)(GLuint program); /* 411 */
|
||||
void (GLAPIENTRYP DeleteShader)(GLuint program); /* 412 */
|
||||
void (GLAPIENTRYP DetachShader)(GLuint program, GLuint shader); /* 413 */
|
||||
void (GLAPIENTRYP GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * obj); /* 414 */
|
||||
void (GLAPIENTRYP GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 415 */
|
||||
void (GLAPIENTRYP GetProgramiv)(GLuint program, GLenum pname, GLint * params); /* 416 */
|
||||
void (GLAPIENTRYP GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog); /* 417 */
|
||||
void (GLAPIENTRYP GetShaderiv)(GLuint shader, GLenum pname, GLint * params); /* 418 */
|
||||
GLboolean (GLAPIENTRYP IsProgram)(GLuint program); /* 419 */
|
||||
GLboolean (GLAPIENTRYP IsShader)(GLuint shader); /* 420 */
|
||||
void (GLAPIENTRYP StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); /* 421 */
|
||||
void (GLAPIENTRYP StencilMaskSeparate)(GLenum face, GLuint mask); /* 422 */
|
||||
void (GLAPIENTRYP StencilOpSeparate)(GLenum face, GLenum sfail, GLenum zfail, GLenum zpass); /* 423 */
|
||||
void (GLAPIENTRYP UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 424 */
|
||||
void (GLAPIENTRYP UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 425 */
|
||||
void (GLAPIENTRYP UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 426 */
|
||||
void (GLAPIENTRYP UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 427 */
|
||||
void (GLAPIENTRYP UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 428 */
|
||||
void (GLAPIENTRYP UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 429 */
|
||||
void (GLAPIENTRYP LoadTransposeMatrixdARB)(const GLdouble * m); /* 430 */
|
||||
void (GLAPIENTRYP LoadTransposeMatrixfARB)(const GLfloat * m); /* 431 */
|
||||
void (GLAPIENTRYP MultTransposeMatrixdARB)(const GLdouble * m); /* 432 */
|
||||
void (GLAPIENTRYP MultTransposeMatrixfARB)(const GLfloat * m); /* 433 */
|
||||
void (GLAPIENTRYP SampleCoverageARB)(GLclampf value, GLboolean invert); /* 434 */
|
||||
void (GLAPIENTRYP CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid * data); /* 435 */
|
||||
void (GLAPIENTRYP CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid * data); /* 436 */
|
||||
void (GLAPIENTRYP CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid * data); /* 437 */
|
||||
void (GLAPIENTRYP CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid * data); /* 438 */
|
||||
void (GLAPIENTRYP CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid * data); /* 439 */
|
||||
void (GLAPIENTRYP CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid * data); /* 440 */
|
||||
void (GLAPIENTRYP GetCompressedTexImageARB)(GLenum target, GLint level, GLvoid * img); /* 441 */
|
||||
void (GLAPIENTRYP DisableVertexAttribArrayARB)(GLuint index); /* 442 */
|
||||
void (GLAPIENTRYP EnableVertexAttribArrayARB)(GLuint index); /* 443 */
|
||||
void (GLAPIENTRYP GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 444 */
|
||||
void (GLAPIENTRYP GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 445 */
|
||||
void (GLAPIENTRYP GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble * params); /* 446 */
|
||||
void (GLAPIENTRYP GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat * params); /* 447 */
|
||||
void (GLAPIENTRYP GetProgramStringARB)(GLenum target, GLenum pname, GLvoid * string); /* 448 */
|
||||
void (GLAPIENTRYP GetProgramivARB)(GLenum target, GLenum pname, GLint * params); /* 449 */
|
||||
void (GLAPIENTRYP GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble * params); /* 450 */
|
||||
void (GLAPIENTRYP GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat * params); /* 451 */
|
||||
void (GLAPIENTRYP GetVertexAttribivARB)(GLuint index, GLenum pname, GLint * params); /* 452 */
|
||||
void (GLAPIENTRYP ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 453 */
|
||||
void (GLAPIENTRYP ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 454 */
|
||||
void (GLAPIENTRYP ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 455 */
|
||||
void (GLAPIENTRYP ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 456 */
|
||||
void (GLAPIENTRYP ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 457 */
|
||||
void (GLAPIENTRYP ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble * params); /* 458 */
|
||||
void (GLAPIENTRYP ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 459 */
|
||||
void (GLAPIENTRYP ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat * params); /* 460 */
|
||||
void (GLAPIENTRYP ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const GLvoid * string); /* 461 */
|
||||
void (GLAPIENTRYP VertexAttrib1dARB)(GLuint index, GLdouble x); /* 462 */
|
||||
void (GLAPIENTRYP VertexAttrib1dvARB)(GLuint index, const GLdouble * v); /* 463 */
|
||||
void (GLAPIENTRYP VertexAttrib1fARB)(GLuint index, GLfloat x); /* 464 */
|
||||
void (GLAPIENTRYP VertexAttrib1fvARB)(GLuint index, const GLfloat * v); /* 465 */
|
||||
void (GLAPIENTRYP VertexAttrib1sARB)(GLuint index, GLshort x); /* 466 */
|
||||
void (GLAPIENTRYP VertexAttrib1svARB)(GLuint index, const GLshort * v); /* 467 */
|
||||
void (GLAPIENTRYP VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); /* 468 */
|
||||
void (GLAPIENTRYP VertexAttrib2dvARB)(GLuint index, const GLdouble * v); /* 469 */
|
||||
void (GLAPIENTRYP VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); /* 470 */
|
||||
void (GLAPIENTRYP VertexAttrib2fvARB)(GLuint index, const GLfloat * v); /* 471 */
|
||||
void (GLAPIENTRYP VertexAttrib2sARB)(GLuint index, GLshort x, GLshort y); /* 472 */
|
||||
void (GLAPIENTRYP VertexAttrib2svARB)(GLuint index, const GLshort * v); /* 473 */
|
||||
void (GLAPIENTRYP VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 474 */
|
||||
void (GLAPIENTRYP VertexAttrib3dvARB)(GLuint index, const GLdouble * v); /* 475 */
|
||||
void (GLAPIENTRYP VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 476 */
|
||||
void (GLAPIENTRYP VertexAttrib3fvARB)(GLuint index, const GLfloat * v); /* 477 */
|
||||
void (GLAPIENTRYP VertexAttrib3sARB)(GLuint index, GLshort x, GLshort y, GLshort z); /* 478 */
|
||||
void (GLAPIENTRYP VertexAttrib3svARB)(GLuint index, const GLshort * v); /* 479 */
|
||||
void (GLAPIENTRYP VertexAttrib4NbvARB)(GLuint index, const GLbyte * v); /* 480 */
|
||||
void (GLAPIENTRYP VertexAttrib4NivARB)(GLuint index, const GLint * v); /* 481 */
|
||||
void (GLAPIENTRYP VertexAttrib4NsvARB)(GLuint index, const GLshort * v); /* 482 */
|
||||
void (GLAPIENTRYP VertexAttrib4NubARB)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 483 */
|
||||
void (GLAPIENTRYP VertexAttrib4NubvARB)(GLuint index, const GLubyte * v); /* 484 */
|
||||
void (GLAPIENTRYP VertexAttrib4NuivARB)(GLuint index, const GLuint * v); /* 485 */
|
||||
void (GLAPIENTRYP VertexAttrib4NusvARB)(GLuint index, const GLushort * v); /* 486 */
|
||||
void (GLAPIENTRYP VertexAttrib4bvARB)(GLuint index, const GLbyte * v); /* 487 */
|
||||
void (GLAPIENTRYP VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 488 */
|
||||
void (GLAPIENTRYP VertexAttrib4dvARB)(GLuint index, const GLdouble * v); /* 489 */
|
||||
void (GLAPIENTRYP VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 490 */
|
||||
void (GLAPIENTRYP VertexAttrib4fvARB)(GLuint index, const GLfloat * v); /* 491 */
|
||||
void (GLAPIENTRYP VertexAttrib4ivARB)(GLuint index, const GLint * v); /* 492 */
|
||||
void (GLAPIENTRYP VertexAttrib4sARB)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 493 */
|
||||
void (GLAPIENTRYP VertexAttrib4svARB)(GLuint index, const GLshort * v); /* 494 */
|
||||
void (GLAPIENTRYP VertexAttrib4ubvARB)(GLuint index, const GLubyte * v); /* 495 */
|
||||
void (GLAPIENTRYP VertexAttrib4uivARB)(GLuint index, const GLuint * v); /* 496 */
|
||||
void (GLAPIENTRYP VertexAttrib4usvARB)(GLuint index, const GLushort * v); /* 497 */
|
||||
void (GLAPIENTRYP VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid * pointer); /* 498 */
|
||||
void (GLAPIENTRYP BindBufferARB)(GLenum target, GLuint buffer); /* 499 */
|
||||
void (GLAPIENTRYP BufferDataARB)(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); /* 500 */
|
||||
void (GLAPIENTRYP BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); /* 501 */
|
||||
void (GLAPIENTRYP DeleteBuffersARB)(GLsizei n, const GLuint * buffer); /* 502 */
|
||||
void (GLAPIENTRYP GenBuffersARB)(GLsizei n, GLuint * buffer); /* 503 */
|
||||
void (GLAPIENTRYP GetBufferParameterivARB)(GLenum target, GLenum pname, GLint * params); /* 504 */
|
||||
void (GLAPIENTRYP GetBufferPointervARB)(GLenum target, GLenum pname, GLvoid ** params); /* 505 */
|
||||
void (GLAPIENTRYP GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid * data); /* 506 */
|
||||
GLboolean (GLAPIENTRYP IsBufferARB)(GLuint buffer); /* 507 */
|
||||
GLvoid * (GLAPIENTRYP MapBufferARB)(GLenum target, GLenum access); /* 508 */
|
||||
GLboolean (GLAPIENTRYP UnmapBufferARB)(GLenum target); /* 509 */
|
||||
void (GLAPIENTRYP BeginQueryARB)(GLenum target, GLuint id); /* 510 */
|
||||
void (GLAPIENTRYP DeleteQueriesARB)(GLsizei n, const GLuint * ids); /* 511 */
|
||||
void (GLAPIENTRYP EndQueryARB)(GLenum target); /* 512 */
|
||||
void (GLAPIENTRYP GenQueriesARB)(GLsizei n, GLuint * ids); /* 513 */
|
||||
void (GLAPIENTRYP GetQueryObjectivARB)(GLuint id, GLenum pname, GLint * params); /* 514 */
|
||||
void (GLAPIENTRYP GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint * params); /* 515 */
|
||||
void (GLAPIENTRYP GetQueryivARB)(GLenum target, GLenum pname, GLint * params); /* 516 */
|
||||
GLboolean (GLAPIENTRYP IsQueryARB)(GLuint id); /* 517 */
|
||||
void (GLAPIENTRYP AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); /* 518 */
|
||||
void (GLAPIENTRYP CompileShaderARB)(GLhandleARB shader); /* 519 */
|
||||
GLhandleARB (GLAPIENTRYP CreateProgramObjectARB)(void); /* 520 */
|
||||
GLhandleARB (GLAPIENTRYP CreateShaderObjectARB)(GLenum shaderType); /* 521 */
|
||||
void (GLAPIENTRYP DeleteObjectARB)(GLhandleARB obj); /* 522 */
|
||||
void (GLAPIENTRYP DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); /* 523 */
|
||||
void (GLAPIENTRYP GetActiveUniformARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 524 */
|
||||
void (GLAPIENTRYP GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxLength, GLsizei * length, GLhandleARB * infoLog); /* 525 */
|
||||
GLhandleARB (GLAPIENTRYP GetHandleARB)(GLenum pname); /* 526 */
|
||||
void (GLAPIENTRYP GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei * length, GLcharARB * infoLog); /* 527 */
|
||||
void (GLAPIENTRYP GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat * params); /* 528 */
|
||||
void (GLAPIENTRYP GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint * params); /* 529 */
|
||||
void (GLAPIENTRYP GetShaderSourceARB)(GLhandleARB shader, GLsizei bufSize, GLsizei * length, GLcharARB * source); /* 530 */
|
||||
GLint (GLAPIENTRYP GetUniformLocationARB)(GLhandleARB program, const GLcharARB * name); /* 531 */
|
||||
void (GLAPIENTRYP GetUniformfvARB)(GLhandleARB program, GLint location, GLfloat * params); /* 532 */
|
||||
void (GLAPIENTRYP GetUniformivARB)(GLhandleARB program, GLint location, GLint * params); /* 533 */
|
||||
void (GLAPIENTRYP LinkProgramARB)(GLhandleARB program); /* 534 */
|
||||
void (GLAPIENTRYP ShaderSourceARB)(GLhandleARB shader, GLsizei count, const GLcharARB ** string, const GLint * length); /* 535 */
|
||||
void (GLAPIENTRYP Uniform1fARB)(GLint location, GLfloat v0); /* 536 */
|
||||
void (GLAPIENTRYP Uniform1fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 537 */
|
||||
void (GLAPIENTRYP Uniform1iARB)(GLint location, GLint v0); /* 538 */
|
||||
void (GLAPIENTRYP Uniform1ivARB)(GLint location, GLsizei count, const GLint * value); /* 539 */
|
||||
void (GLAPIENTRYP Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); /* 540 */
|
||||
void (GLAPIENTRYP Uniform2fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 541 */
|
||||
void (GLAPIENTRYP Uniform2iARB)(GLint location, GLint v0, GLint v1); /* 542 */
|
||||
void (GLAPIENTRYP Uniform2ivARB)(GLint location, GLsizei count, const GLint * value); /* 543 */
|
||||
void (GLAPIENTRYP Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); /* 544 */
|
||||
void (GLAPIENTRYP Uniform3fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 545 */
|
||||
void (GLAPIENTRYP Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); /* 546 */
|
||||
void (GLAPIENTRYP Uniform3ivARB)(GLint location, GLsizei count, const GLint * value); /* 547 */
|
||||
void (GLAPIENTRYP Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); /* 548 */
|
||||
void (GLAPIENTRYP Uniform4fvARB)(GLint location, GLsizei count, const GLfloat * value); /* 549 */
|
||||
void (GLAPIENTRYP Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); /* 550 */
|
||||
void (GLAPIENTRYP Uniform4ivARB)(GLint location, GLsizei count, const GLint * value); /* 551 */
|
||||
void (GLAPIENTRYP UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 552 */
|
||||
void (GLAPIENTRYP UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 553 */
|
||||
void (GLAPIENTRYP UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value); /* 554 */
|
||||
void (GLAPIENTRYP UseProgramObjectARB)(GLhandleARB program); /* 555 */
|
||||
void (GLAPIENTRYP ValidateProgramARB)(GLhandleARB program); /* 556 */
|
||||
void (GLAPIENTRYP BindAttribLocationARB)(GLhandleARB program, GLuint index, const GLcharARB * name); /* 557 */
|
||||
void (GLAPIENTRYP GetActiveAttribARB)(GLhandleARB program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLcharARB * name); /* 558 */
|
||||
GLint (GLAPIENTRYP GetAttribLocationARB)(GLhandleARB program, const GLcharARB * name); /* 559 */
|
||||
void (GLAPIENTRYP DrawBuffersARB)(GLsizei n, const GLenum * bufs); /* 560 */
|
||||
void (GLAPIENTRYP PolygonOffsetEXT)(GLfloat factor, GLfloat bias); /* 561 */
|
||||
void (GLAPIENTRYP GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat * params); /* 562 */
|
||||
void (GLAPIENTRYP GetPixelTexGenParameterivSGIS)(GLenum pname, GLint * params); /* 563 */
|
||||
void (GLAPIENTRYP PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); /* 564 */
|
||||
void (GLAPIENTRYP PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat * params); /* 565 */
|
||||
void (GLAPIENTRYP PixelTexGenParameteriSGIS)(GLenum pname, GLint param); /* 566 */
|
||||
void (GLAPIENTRYP PixelTexGenParameterivSGIS)(GLenum pname, const GLint * params); /* 567 */
|
||||
void (GLAPIENTRYP SampleMaskSGIS)(GLclampf value, GLboolean invert); /* 568 */
|
||||
void (GLAPIENTRYP SamplePatternSGIS)(GLenum pattern); /* 569 */
|
||||
void (GLAPIENTRYP ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 570 */
|
||||
void (GLAPIENTRYP EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean * pointer); /* 571 */
|
||||
void (GLAPIENTRYP IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 572 */
|
||||
void (GLAPIENTRYP NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 573 */
|
||||
void (GLAPIENTRYP TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 574 */
|
||||
void (GLAPIENTRYP VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid * pointer); /* 575 */
|
||||
void (GLAPIENTRYP PointParameterfEXT)(GLenum pname, GLfloat param); /* 576 */
|
||||
void (GLAPIENTRYP PointParameterfvEXT)(GLenum pname, const GLfloat * params); /* 577 */
|
||||
void (GLAPIENTRYP LockArraysEXT)(GLint first, GLsizei count); /* 578 */
|
||||
void (GLAPIENTRYP UnlockArraysEXT)(void); /* 579 */
|
||||
void (GLAPIENTRYP CullParameterdvEXT)(GLenum pname, GLdouble * params); /* 580 */
|
||||
void (GLAPIENTRYP CullParameterfvEXT)(GLenum pname, GLfloat * params); /* 581 */
|
||||
void (GLAPIENTRYP SecondaryColor3bEXT)(GLbyte red, GLbyte green, GLbyte blue); /* 582 */
|
||||
void (GLAPIENTRYP SecondaryColor3bvEXT)(const GLbyte * v); /* 583 */
|
||||
void (GLAPIENTRYP SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); /* 584 */
|
||||
void (GLAPIENTRYP SecondaryColor3dvEXT)(const GLdouble * v); /* 585 */
|
||||
void (GLAPIENTRYP SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); /* 586 */
|
||||
void (GLAPIENTRYP SecondaryColor3fvEXT)(const GLfloat * v); /* 587 */
|
||||
void (GLAPIENTRYP SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); /* 588 */
|
||||
void (GLAPIENTRYP SecondaryColor3ivEXT)(const GLint * v); /* 589 */
|
||||
void (GLAPIENTRYP SecondaryColor3sEXT)(GLshort red, GLshort green, GLshort blue); /* 590 */
|
||||
void (GLAPIENTRYP SecondaryColor3svEXT)(const GLshort * v); /* 591 */
|
||||
void (GLAPIENTRYP SecondaryColor3ubEXT)(GLubyte red, GLubyte green, GLubyte blue); /* 592 */
|
||||
void (GLAPIENTRYP SecondaryColor3ubvEXT)(const GLubyte * v); /* 593 */
|
||||
void (GLAPIENTRYP SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); /* 594 */
|
||||
void (GLAPIENTRYP SecondaryColor3uivEXT)(const GLuint * v); /* 595 */
|
||||
void (GLAPIENTRYP SecondaryColor3usEXT)(GLushort red, GLushort green, GLushort blue); /* 596 */
|
||||
void (GLAPIENTRYP SecondaryColor3usvEXT)(const GLushort * v); /* 597 */
|
||||
void (GLAPIENTRYP SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 598 */
|
||||
void (GLAPIENTRYP MultiDrawArraysEXT)(GLenum mode, GLint * first, GLsizei * count, GLsizei primcount); /* 599 */
|
||||
void (GLAPIENTRYP MultiDrawElementsEXT)(GLenum mode, const GLsizei * count, GLenum type, const GLvoid ** indices, GLsizei primcount); /* 600 */
|
||||
void (GLAPIENTRYP FogCoordPointerEXT)(GLenum type, GLsizei stride, const GLvoid * pointer); /* 601 */
|
||||
void (GLAPIENTRYP FogCoorddEXT)(GLdouble coord); /* 602 */
|
||||
void (GLAPIENTRYP FogCoorddvEXT)(const GLdouble * coord); /* 603 */
|
||||
void (GLAPIENTRYP FogCoordfEXT)(GLfloat coord); /* 604 */
|
||||
void (GLAPIENTRYP FogCoordfvEXT)(const GLfloat * coord); /* 605 */
|
||||
void (GLAPIENTRYP PixelTexGenSGIX)(GLenum mode); /* 606 */
|
||||
void (GLAPIENTRYP BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); /* 607 */
|
||||
void (GLAPIENTRYP FlushVertexArrayRangeNV)(void); /* 608 */
|
||||
void (GLAPIENTRYP VertexArrayRangeNV)(GLsizei length, const GLvoid * pointer); /* 609 */
|
||||
void (GLAPIENTRYP CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 610 */
|
||||
void (GLAPIENTRYP CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); /* 611 */
|
||||
void (GLAPIENTRYP CombinerParameterfNV)(GLenum pname, GLfloat param); /* 612 */
|
||||
void (GLAPIENTRYP CombinerParameterfvNV)(GLenum pname, const GLfloat * params); /* 613 */
|
||||
void (GLAPIENTRYP CombinerParameteriNV)(GLenum pname, GLint param); /* 614 */
|
||||
void (GLAPIENTRYP CombinerParameterivNV)(GLenum pname, const GLint * params); /* 615 */
|
||||
void (GLAPIENTRYP FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); /* 616 */
|
||||
void (GLAPIENTRYP GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat * params); /* 617 */
|
||||
void (GLAPIENTRYP GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint * params); /* 618 */
|
||||
void (GLAPIENTRYP GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat * params); /* 619 */
|
||||
void (GLAPIENTRYP GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint * params); /* 620 */
|
||||
void (GLAPIENTRYP GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat * params); /* 621 */
|
||||
void (GLAPIENTRYP GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint * params); /* 622 */
|
||||
void (GLAPIENTRYP ResizeBuffersMESA)(void); /* 623 */
|
||||
void (GLAPIENTRYP WindowPos2dMESA)(GLdouble x, GLdouble y); /* 624 */
|
||||
void (GLAPIENTRYP WindowPos2dvMESA)(const GLdouble * v); /* 625 */
|
||||
void (GLAPIENTRYP WindowPos2fMESA)(GLfloat x, GLfloat y); /* 626 */
|
||||
void (GLAPIENTRYP WindowPos2fvMESA)(const GLfloat * v); /* 627 */
|
||||
void (GLAPIENTRYP WindowPos2iMESA)(GLint x, GLint y); /* 628 */
|
||||
void (GLAPIENTRYP WindowPos2ivMESA)(const GLint * v); /* 629 */
|
||||
void (GLAPIENTRYP WindowPos2sMESA)(GLshort x, GLshort y); /* 630 */
|
||||
void (GLAPIENTRYP WindowPos2svMESA)(const GLshort * v); /* 631 */
|
||||
void (GLAPIENTRYP WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); /* 632 */
|
||||
void (GLAPIENTRYP WindowPos3dvMESA)(const GLdouble * v); /* 633 */
|
||||
void (GLAPIENTRYP WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); /* 634 */
|
||||
void (GLAPIENTRYP WindowPos3fvMESA)(const GLfloat * v); /* 635 */
|
||||
void (GLAPIENTRYP WindowPos3iMESA)(GLint x, GLint y, GLint z); /* 636 */
|
||||
void (GLAPIENTRYP WindowPos3ivMESA)(const GLint * v); /* 637 */
|
||||
void (GLAPIENTRYP WindowPos3sMESA)(GLshort x, GLshort y, GLshort z); /* 638 */
|
||||
void (GLAPIENTRYP WindowPos3svMESA)(const GLshort * v); /* 639 */
|
||||
void (GLAPIENTRYP WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 640 */
|
||||
void (GLAPIENTRYP WindowPos4dvMESA)(const GLdouble * v); /* 641 */
|
||||
void (GLAPIENTRYP WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 642 */
|
||||
void (GLAPIENTRYP WindowPos4fvMESA)(const GLfloat * v); /* 643 */
|
||||
void (GLAPIENTRYP WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); /* 644 */
|
||||
void (GLAPIENTRYP WindowPos4ivMESA)(const GLint * v); /* 645 */
|
||||
void (GLAPIENTRYP WindowPos4sMESA)(GLshort x, GLshort y, GLshort z, GLshort w); /* 646 */
|
||||
void (GLAPIENTRYP WindowPos4svMESA)(const GLshort * v); /* 647 */
|
||||
void (GLAPIENTRYP MultiModeDrawArraysIBM)(const GLenum * mode, const GLint * first, const GLsizei * count, GLsizei primcount, GLint modestride); /* 648 */
|
||||
void (GLAPIENTRYP MultiModeDrawElementsIBM)(const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride); /* 649 */
|
||||
void (GLAPIENTRYP DeleteFencesNV)(GLsizei n, const GLuint * fences); /* 650 */
|
||||
void (GLAPIENTRYP FinishFenceNV)(GLuint fence); /* 651 */
|
||||
void (GLAPIENTRYP GenFencesNV)(GLsizei n, GLuint * fences); /* 652 */
|
||||
void (GLAPIENTRYP GetFenceivNV)(GLuint fence, GLenum pname, GLint * params); /* 653 */
|
||||
GLboolean (GLAPIENTRYP IsFenceNV)(GLuint fence); /* 654 */
|
||||
void (GLAPIENTRYP SetFenceNV)(GLuint fence, GLenum condition); /* 655 */
|
||||
GLboolean (GLAPIENTRYP TestFenceNV)(GLuint fence); /* 656 */
|
||||
GLboolean (GLAPIENTRYP AreProgramsResidentNV)(GLsizei n, const GLuint * ids, GLboolean * residences); /* 657 */
|
||||
void (GLAPIENTRYP BindProgramNV)(GLenum target, GLuint program); /* 658 */
|
||||
void (GLAPIENTRYP DeleteProgramsNV)(GLsizei n, const GLuint * programs); /* 659 */
|
||||
void (GLAPIENTRYP ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat * params); /* 660 */
|
||||
void (GLAPIENTRYP GenProgramsNV)(GLsizei n, GLuint * programs); /* 661 */
|
||||
void (GLAPIENTRYP GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble * params); /* 662 */
|
||||
void (GLAPIENTRYP GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat * params); /* 663 */
|
||||
void (GLAPIENTRYP GetProgramStringNV)(GLuint id, GLenum pname, GLubyte * program); /* 664 */
|
||||
void (GLAPIENTRYP GetProgramivNV)(GLuint id, GLenum pname, GLint * params); /* 665 */
|
||||
void (GLAPIENTRYP GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint * params); /* 666 */
|
||||
void (GLAPIENTRYP GetVertexAttribPointervNV)(GLuint index, GLenum pname, GLvoid ** pointer); /* 667 */
|
||||
void (GLAPIENTRYP GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble * params); /* 668 */
|
||||
void (GLAPIENTRYP GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat * params); /* 669 */
|
||||
void (GLAPIENTRYP GetVertexAttribivNV)(GLuint index, GLenum pname, GLint * params); /* 670 */
|
||||
GLboolean (GLAPIENTRYP IsProgramNV)(GLuint program); /* 671 */
|
||||
void (GLAPIENTRYP LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte * program); /* 672 */
|
||||
void (GLAPIENTRYP ProgramParameters4dvNV)(GLenum target, GLuint index, GLuint num, const GLdouble * params); /* 673 */
|
||||
void (GLAPIENTRYP ProgramParameters4fvNV)(GLenum target, GLuint index, GLuint num, const GLfloat * params); /* 674 */
|
||||
void (GLAPIENTRYP RequestResidentProgramsNV)(GLsizei n, const GLuint * ids); /* 675 */
|
||||
void (GLAPIENTRYP TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); /* 676 */
|
||||
void (GLAPIENTRYP VertexAttrib1dNV)(GLuint index, GLdouble x); /* 677 */
|
||||
void (GLAPIENTRYP VertexAttrib1dvNV)(GLuint index, const GLdouble * v); /* 678 */
|
||||
void (GLAPIENTRYP VertexAttrib1fNV)(GLuint index, GLfloat x); /* 679 */
|
||||
void (GLAPIENTRYP VertexAttrib1fvNV)(GLuint index, const GLfloat * v); /* 680 */
|
||||
void (GLAPIENTRYP VertexAttrib1sNV)(GLuint index, GLshort x); /* 681 */
|
||||
void (GLAPIENTRYP VertexAttrib1svNV)(GLuint index, const GLshort * v); /* 682 */
|
||||
void (GLAPIENTRYP VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); /* 683 */
|
||||
void (GLAPIENTRYP VertexAttrib2dvNV)(GLuint index, const GLdouble * v); /* 684 */
|
||||
void (GLAPIENTRYP VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); /* 685 */
|
||||
void (GLAPIENTRYP VertexAttrib2fvNV)(GLuint index, const GLfloat * v); /* 686 */
|
||||
void (GLAPIENTRYP VertexAttrib2sNV)(GLuint index, GLshort x, GLshort y); /* 687 */
|
||||
void (GLAPIENTRYP VertexAttrib2svNV)(GLuint index, const GLshort * v); /* 688 */
|
||||
void (GLAPIENTRYP VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); /* 689 */
|
||||
void (GLAPIENTRYP VertexAttrib3dvNV)(GLuint index, const GLdouble * v); /* 690 */
|
||||
void (GLAPIENTRYP VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); /* 691 */
|
||||
void (GLAPIENTRYP VertexAttrib3fvNV)(GLuint index, const GLfloat * v); /* 692 */
|
||||
void (GLAPIENTRYP VertexAttrib3sNV)(GLuint index, GLshort x, GLshort y, GLshort z); /* 693 */
|
||||
void (GLAPIENTRYP VertexAttrib3svNV)(GLuint index, const GLshort * v); /* 694 */
|
||||
void (GLAPIENTRYP VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 695 */
|
||||
void (GLAPIENTRYP VertexAttrib4dvNV)(GLuint index, const GLdouble * v); /* 696 */
|
||||
void (GLAPIENTRYP VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 697 */
|
||||
void (GLAPIENTRYP VertexAttrib4fvNV)(GLuint index, const GLfloat * v); /* 698 */
|
||||
void (GLAPIENTRYP VertexAttrib4sNV)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); /* 699 */
|
||||
void (GLAPIENTRYP VertexAttrib4svNV)(GLuint index, const GLshort * v); /* 700 */
|
||||
void (GLAPIENTRYP VertexAttrib4ubNV)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); /* 701 */
|
||||
void (GLAPIENTRYP VertexAttrib4ubvNV)(GLuint index, const GLubyte * v); /* 702 */
|
||||
void (GLAPIENTRYP VertexAttribPointerNV)(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); /* 703 */
|
||||
void (GLAPIENTRYP VertexAttribs1dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 704 */
|
||||
void (GLAPIENTRYP VertexAttribs1fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 705 */
|
||||
void (GLAPIENTRYP VertexAttribs1svNV)(GLuint index, GLsizei n, const GLshort * v); /* 706 */
|
||||
void (GLAPIENTRYP VertexAttribs2dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 707 */
|
||||
void (GLAPIENTRYP VertexAttribs2fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 708 */
|
||||
void (GLAPIENTRYP VertexAttribs2svNV)(GLuint index, GLsizei n, const GLshort * v); /* 709 */
|
||||
void (GLAPIENTRYP VertexAttribs3dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 710 */
|
||||
void (GLAPIENTRYP VertexAttribs3fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 711 */
|
||||
void (GLAPIENTRYP VertexAttribs3svNV)(GLuint index, GLsizei n, const GLshort * v); /* 712 */
|
||||
void (GLAPIENTRYP VertexAttribs4dvNV)(GLuint index, GLsizei n, const GLdouble * v); /* 713 */
|
||||
void (GLAPIENTRYP VertexAttribs4fvNV)(GLuint index, GLsizei n, const GLfloat * v); /* 714 */
|
||||
void (GLAPIENTRYP VertexAttribs4svNV)(GLuint index, GLsizei n, const GLshort * v); /* 715 */
|
||||
void (GLAPIENTRYP VertexAttribs4ubvNV)(GLuint index, GLsizei n, const GLubyte * v); /* 716 */
|
||||
void (GLAPIENTRYP AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 717 */
|
||||
void (GLAPIENTRYP AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 718 */
|
||||
void (GLAPIENTRYP AlphaFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 719 */
|
||||
void (GLAPIENTRYP BeginFragmentShaderATI)(void); /* 720 */
|
||||
void (GLAPIENTRYP BindFragmentShaderATI)(GLuint id); /* 721 */
|
||||
void (GLAPIENTRYP ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); /* 722 */
|
||||
void (GLAPIENTRYP ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); /* 723 */
|
||||
void (GLAPIENTRYP ColorFragmentOp3ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); /* 724 */
|
||||
void (GLAPIENTRYP DeleteFragmentShaderATI)(GLuint id); /* 725 */
|
||||
void (GLAPIENTRYP EndFragmentShaderATI)(void); /* 726 */
|
||||
GLuint (GLAPIENTRYP GenFragmentShadersATI)(GLuint range); /* 727 */
|
||||
void (GLAPIENTRYP PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); /* 728 */
|
||||
void (GLAPIENTRYP SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); /* 729 */
|
||||
void (GLAPIENTRYP SetFragmentShaderConstantATI)(GLuint dst, const GLfloat * value); /* 730 */
|
||||
void (GLAPIENTRYP PointParameteriNV)(GLenum pname, GLint param); /* 731 */
|
||||
void (GLAPIENTRYP PointParameterivNV)(GLenum pname, const GLint * params); /* 732 */
|
||||
void (GLAPIENTRYP ActiveStencilFaceEXT)(GLenum face); /* 733 */
|
||||
void (GLAPIENTRYP BindVertexArrayAPPLE)(GLuint array); /* 734 */
|
||||
void (GLAPIENTRYP DeleteVertexArraysAPPLE)(GLsizei n, const GLuint * arrays); /* 735 */
|
||||
void (GLAPIENTRYP GenVertexArraysAPPLE)(GLsizei n, GLuint * arrays); /* 736 */
|
||||
GLboolean (GLAPIENTRYP IsVertexArrayAPPLE)(GLuint array); /* 737 */
|
||||
void (GLAPIENTRYP GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble * params); /* 738 */
|
||||
void (GLAPIENTRYP GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat * params); /* 739 */
|
||||
void (GLAPIENTRYP ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte * name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); /* 740 */
|
||||
void (GLAPIENTRYP ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLdouble * v); /* 741 */
|
||||
void (GLAPIENTRYP ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte * name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); /* 742 */
|
||||
void (GLAPIENTRYP ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte * name, const GLfloat * v); /* 743 */
|
||||
void (GLAPIENTRYP DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); /* 744 */
|
||||
void (GLAPIENTRYP BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeA); /* 745 */
|
||||
void (GLAPIENTRYP BindFramebufferEXT)(GLenum target, GLuint framebuffer); /* 746 */
|
||||
void (GLAPIENTRYP BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); /* 747 */
|
||||
GLenum (GLAPIENTRYP CheckFramebufferStatusEXT)(GLenum target); /* 748 */
|
||||
void (GLAPIENTRYP DeleteFramebuffersEXT)(GLsizei n, const GLuint * framebuffers); /* 749 */
|
||||
void (GLAPIENTRYP DeleteRenderbuffersEXT)(GLsizei n, const GLuint * renderbuffers); /* 750 */
|
||||
void (GLAPIENTRYP FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); /* 751 */
|
||||
void (GLAPIENTRYP FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 752 */
|
||||
void (GLAPIENTRYP FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); /* 753 */
|
||||
void (GLAPIENTRYP FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); /* 754 */
|
||||
void (GLAPIENTRYP GenFramebuffersEXT)(GLsizei n, GLuint * framebuffers); /* 755 */
|
||||
void (GLAPIENTRYP GenRenderbuffersEXT)(GLsizei n, GLuint * renderbuffers); /* 756 */
|
||||
void (GLAPIENTRYP GenerateMipmapEXT)(GLenum target); /* 757 */
|
||||
void (GLAPIENTRYP GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint * params); /* 758 */
|
||||
void (GLAPIENTRYP GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint * params); /* 759 */
|
||||
GLboolean (GLAPIENTRYP IsFramebufferEXT)(GLuint framebuffer); /* 760 */
|
||||
GLboolean (GLAPIENTRYP IsRenderbufferEXT)(GLuint renderbuffer); /* 761 */
|
||||
void (GLAPIENTRYP RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); /* 762 */
|
||||
void (GLAPIENTRYP BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); /* 763 */
|
||||
void (GLAPIENTRYP FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); /* 764 */
|
||||
void (GLAPIENTRYP StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); /* 765 */
|
||||
void (GLAPIENTRYP ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 766 */
|
||||
void (GLAPIENTRYP ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat * params); /* 767 */
|
||||
void (GLAPIENTRYP GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64EXT * params); /* 768 */
|
||||
void (GLAPIENTRYP GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64EXT * params); /* 769 */
|
||||
};
|
||||
|
||||
#endif /* !defined( _GLAPI_TABLE_H_ ) */
|
6655
glx/glapitemp.h
Normal file
6655
glx/glapitemp.h
Normal file
File diff suppressed because it is too large
Load Diff
2260
glx/glprocs.h
Normal file
2260
glx/glprocs.h
Normal file
File diff suppressed because it is too large
Load Diff
378
glx/glthread.c
Normal file
378
glx/glthread.c
Normal file
|
@ -0,0 +1,378 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.1
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul 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
|
||||
* BRIAN PAUL 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.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* XXX There's probably some work to do in order to make this file
|
||||
* truly reusable outside of Mesa.
|
||||
*/
|
||||
|
||||
|
||||
#ifdef HAVE_DIX_CONFIG_H
|
||||
#include <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include <stdlib.h>
|
||||
#include "glthread.h"
|
||||
|
||||
|
||||
/*
|
||||
* This file should still compile even when THREADS is not defined.
|
||||
* This is to make things easier to deal with on the makefile scene..
|
||||
*/
|
||||
#ifdef THREADS
|
||||
#include <errno.h>
|
||||
|
||||
/*
|
||||
* Error messages
|
||||
*/
|
||||
#define INIT_TSD_ERROR "_glthread_: failed to allocate key for thread specific data"
|
||||
#define GET_TSD_ERROR "_glthread_: failed to get thread specific data"
|
||||
#define SET_TSD_ERROR "_glthread_: thread failed to set thread specific data"
|
||||
|
||||
|
||||
/*
|
||||
* Magic number to determine if a TSD object has been initialized.
|
||||
* Kind of a hack but there doesn't appear to be a better cross-platform
|
||||
* solution.
|
||||
*/
|
||||
#define INIT_MAGIC 0xff8adc98
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* POSIX Threads -- The best way to go if your platform supports them.
|
||||
* Solaris >= 2.5 have POSIX threads, IRIX >= 6.4 reportedly
|
||||
* has them, and many of the free Unixes now have them.
|
||||
* Be sure to use appropriate -mt or -D_REENTRANT type
|
||||
* compile flags when building.
|
||||
*/
|
||||
#ifdef PTHREADS
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
return (unsigned long) pthread_self();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if (pthread_key_create(&tsd->key, NULL/*free*/) != 0) {
|
||||
perror(INIT_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
tsd->initMagic = INIT_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if (tsd->initMagic != (int) INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
return pthread_getspecific(tsd->key);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
if (tsd->initMagic != (int) INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
if (pthread_setspecific(tsd->key, ptr) != 0) {
|
||||
perror(SET_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* PTHREADS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Solaris/Unix International Threads -- Use only if POSIX threads
|
||||
* aren't available on your Unix platform. Solaris 2.[34] are examples
|
||||
* of platforms where this is the case. Be sure to use -mt and/or
|
||||
* -D_REENTRANT when compiling.
|
||||
*/
|
||||
#ifdef SOLARIS_THREADS
|
||||
#define USE_LOCK_FOR_KEY /* undef this to try a version without
|
||||
lock for the global key... */
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
abort(); /* XXX not implemented yet */
|
||||
return (unsigned long) 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if ((errno = mutex_init(&tsd->keylock, 0, NULL)) != 0 ||
|
||||
(errno = thr_keycreate(&(tsd->key), free)) != 0) {
|
||||
perror(INIT_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
tsd->initMagic = INIT_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
void* ret;
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
#ifdef USE_LOCK_FOR_KEY
|
||||
mutex_lock(&tsd->keylock);
|
||||
thr_getspecific(tsd->key, &ret);
|
||||
mutex_unlock(&tsd->keylock);
|
||||
#else
|
||||
if ((errno = thr_getspecific(tsd->key, &ret)) != 0) {
|
||||
perror(GET_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
if ((errno = thr_setspecific(tsd->key, ptr)) != 0) {
|
||||
perror(SET_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
#undef USE_LOCK_FOR_KEY
|
||||
#endif /* SOLARIS_THREADS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Win32 Threads. The only available option for Windows 95/NT.
|
||||
* Be sure that you compile using the Multithreaded runtime, otherwise
|
||||
* bad things will happen.
|
||||
*/
|
||||
#ifdef WIN32_THREADS
|
||||
|
||||
void FreeTSD(_glthread_TSD *p)
|
||||
{
|
||||
if (p->initMagic==INIT_MAGIC) {
|
||||
TlsFree(p->key);
|
||||
p->initMagic=0;
|
||||
}
|
||||
}
|
||||
|
||||
void InsteadOf_exit(int nCode)
|
||||
{
|
||||
DWORD dwErr=GetLastError();
|
||||
}
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
return GetCurrentThreadId();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
tsd->key = TlsAlloc();
|
||||
if (tsd->key == TLS_OUT_OF_INDEXES) {
|
||||
perror("Mesa:_glthread_InitTSD");
|
||||
InsteadOf_exit(-1);
|
||||
}
|
||||
tsd->initMagic = INIT_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
return TlsGetValue(tsd->key);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
/* the following code assumes that the _glthread_TSD has been initialized
|
||||
to zero at creation */
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
if (TlsSetValue(tsd->key, ptr) == 0) {
|
||||
perror("Mesa:_glthread_SetTSD");
|
||||
InsteadOf_exit(-1);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* WIN32_THREADS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* XFree86 has its own thread wrapper, Xthreads.h
|
||||
* We wrap it again for GL.
|
||||
*/
|
||||
#ifdef USE_XTHREADS
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
return (unsigned long) xthread_self();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if (xthread_key_create(&tsd->key, NULL) != 0) {
|
||||
perror(INIT_TSD_ERROR);
|
||||
exit(-1);
|
||||
}
|
||||
tsd->initMagic = INIT_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
void *ptr;
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
xthread_get_specific(tsd->key, &ptr);
|
||||
return ptr;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
if (tsd->initMagic != INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
xthread_set_specific(tsd->key, ptr);
|
||||
}
|
||||
|
||||
#endif /* XTHREAD */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* BeOS threads
|
||||
*/
|
||||
#ifdef BEOS_THREADS
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
return (unsigned long) find_thread(NULL);
|
||||
}
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
tsd->key = tls_allocate();
|
||||
tsd->initMagic = INIT_MAGIC;
|
||||
}
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
if (tsd->initMagic != (int) INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
return tls_get(tsd->key);
|
||||
}
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
if (tsd->initMagic != (int) INIT_MAGIC) {
|
||||
_glthread_InitTSD(tsd);
|
||||
}
|
||||
tls_set(tsd->key, ptr);
|
||||
}
|
||||
|
||||
#endif /* BEOS_THREADS */
|
||||
|
||||
|
||||
|
||||
#else /* THREADS */
|
||||
|
||||
|
||||
/*
|
||||
* no-op functions
|
||||
*/
|
||||
|
||||
unsigned long
|
||||
_glthread_GetID(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_InitTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
(void) tsd;
|
||||
}
|
||||
|
||||
|
||||
void *
|
||||
_glthread_GetTSD(_glthread_TSD *tsd)
|
||||
{
|
||||
(void) tsd;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_glthread_SetTSD(_glthread_TSD *tsd, void *ptr)
|
||||
{
|
||||
(void) tsd;
|
||||
(void) ptr;
|
||||
}
|
||||
|
||||
|
||||
#endif /* THREADS */
|
319
glx/glthread.h
Normal file
319
glx/glthread.h
Normal file
|
@ -0,0 +1,319 @@
|
|||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 6.5.2
|
||||
*
|
||||
* Copyright (C) 1999-2006 Brian Paul 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
|
||||
* BRIAN PAUL 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.
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Thread support for gl dispatch.
|
||||
*
|
||||
* Initial version by John Stone (j.stone@acm.org) (johns@cs.umr.edu)
|
||||
* and Christoph Poliwoda (poliwoda@volumegraphics.com)
|
||||
* Revised by Keith Whitwell
|
||||
* Adapted for new gl dispatcher by Brian Paul
|
||||
*
|
||||
*
|
||||
*
|
||||
* DOCUMENTATION
|
||||
*
|
||||
* This thread module exports the following types:
|
||||
* _glthread_TSD Thread-specific data area
|
||||
* _glthread_Thread Thread datatype
|
||||
* _glthread_Mutex Mutual exclusion lock
|
||||
*
|
||||
* Macros:
|
||||
* _glthread_DECLARE_STATIC_MUTEX(name) Declare a non-local mutex
|
||||
* _glthread_INIT_MUTEX(name) Initialize a mutex
|
||||
* _glthread_LOCK_MUTEX(name) Lock a mutex
|
||||
* _glthread_UNLOCK_MUTEX(name) Unlock a mutex
|
||||
*
|
||||
* Functions:
|
||||
* _glthread_GetID(v) Get integer thread ID
|
||||
* _glthread_InitTSD() Initialize thread-specific data
|
||||
* _glthread_GetTSD() Get thread-specific data
|
||||
* _glthread_SetTSD() Set thread-specific data
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* If this file is accidentally included by a non-threaded build,
|
||||
* it should not cause the build to fail, or otherwise cause problems.
|
||||
* In general, it should only be included when needed however.
|
||||
*/
|
||||
|
||||
#ifndef GLTHREAD_H
|
||||
#define GLTHREAD_H
|
||||
|
||||
|
||||
#if defined(USE_MGL_NAMESPACE)
|
||||
#define _glapi_Dispatch _mglapi_Dispatch
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if (defined(PTHREADS) || defined(SOLARIS_THREADS) ||\
|
||||
defined(WIN32_THREADS) || defined(USE_XTHREADS) || defined(BEOS_THREADS)) \
|
||||
&& !defined(THREADS)
|
||||
# define THREADS
|
||||
#endif
|
||||
|
||||
#ifdef VMS
|
||||
#include <GL/vms_x_fix.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* POSIX threads. This should be your choice in the Unix world
|
||||
* whenever possible. When building with POSIX threads, be sure
|
||||
* to enable any compiler flags which will cause the MT-safe
|
||||
* libc (if one exists) to be used when linking, as well as any
|
||||
* header macros for MT-safe errno, etc. For Solaris, this is the -mt
|
||||
* compiler flag. On Solaris with gcc, use -D_REENTRANT to enable
|
||||
* proper compiling for MT-safe libc etc.
|
||||
*/
|
||||
#if defined(PTHREADS)
|
||||
#include <pthread.h> /* POSIX threads headers */
|
||||
|
||||
typedef struct {
|
||||
pthread_key_t key;
|
||||
int initMagic;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef pthread_t _glthread_Thread;
|
||||
|
||||
typedef pthread_mutex_t _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) \
|
||||
static _glthread_Mutex name = PTHREAD_MUTEX_INITIALIZER
|
||||
|
||||
#define _glthread_INIT_MUTEX(name) \
|
||||
pthread_mutex_init(&(name), NULL)
|
||||
|
||||
#define _glthread_DESTROY_MUTEX(name) \
|
||||
pthread_mutex_destroy(&(name))
|
||||
|
||||
#define _glthread_LOCK_MUTEX(name) \
|
||||
(void) pthread_mutex_lock(&(name))
|
||||
|
||||
#define _glthread_UNLOCK_MUTEX(name) \
|
||||
(void) pthread_mutex_unlock(&(name))
|
||||
|
||||
#endif /* PTHREADS */
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Solaris threads. Use only up to Solaris 2.4.
|
||||
* Solaris 2.5 and higher provide POSIX threads.
|
||||
* Be sure to compile with -mt on the Solaris compilers, or
|
||||
* use -D_REENTRANT if using gcc.
|
||||
*/
|
||||
#ifdef SOLARIS_THREADS
|
||||
#include <thread.h>
|
||||
|
||||
typedef struct {
|
||||
thread_key_t key;
|
||||
mutex_t keylock;
|
||||
int initMagic;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef thread_t _glthread_Thread;
|
||||
|
||||
typedef mutex_t _glthread_Mutex;
|
||||
|
||||
/* XXX need to really implement mutex-related macros */
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
|
||||
#define _glthread_INIT_MUTEX(name) (void) name
|
||||
#define _glthread_DESTROY_MUTEX(name) (void) name
|
||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
||||
|
||||
#endif /* SOLARIS_THREADS */
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Windows threads. Should work with Windows NT and 95.
|
||||
* IMPORTANT: Link with multithreaded runtime library when THREADS are
|
||||
* used!
|
||||
*/
|
||||
#ifdef WIN32_THREADS
|
||||
#include <windows.h>
|
||||
|
||||
typedef struct {
|
||||
DWORD key;
|
||||
int initMagic;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef HANDLE _glthread_Thread;
|
||||
|
||||
typedef CRITICAL_SECTION _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) /*static*/ _glthread_Mutex name = {0,0,0,0,0,0}
|
||||
#define _glthread_INIT_MUTEX(name) InitializeCriticalSection(&name)
|
||||
#define _glthread_DESTROY_MUTEX(name) DeleteCriticalSection(&name)
|
||||
#define _glthread_LOCK_MUTEX(name) EnterCriticalSection(&name)
|
||||
#define _glthread_UNLOCK_MUTEX(name) LeaveCriticalSection(&name)
|
||||
|
||||
#endif /* WIN32_THREADS */
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* XFree86 has its own thread wrapper, Xthreads.h
|
||||
* We wrap it again for GL.
|
||||
*/
|
||||
#ifdef USE_XTHREADS
|
||||
#include <X11/Xthreads.h>
|
||||
|
||||
typedef struct {
|
||||
xthread_key_t key;
|
||||
int initMagic;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef xthread_t _glthread_Thread;
|
||||
|
||||
typedef xmutex_rec _glthread_Mutex;
|
||||
|
||||
#ifdef XMUTEX_INITIALIZER
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) \
|
||||
static _glthread_Mutex name = XMUTEX_INITIALIZER
|
||||
#else
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) \
|
||||
static _glthread_Mutex name
|
||||
#endif
|
||||
|
||||
#define _glthread_INIT_MUTEX(name) \
|
||||
xmutex_init(&(name))
|
||||
|
||||
#define _glthread_DESTROY_MUTEX(name) \
|
||||
xmutex_clear(&(name))
|
||||
|
||||
#define _glthread_LOCK_MUTEX(name) \
|
||||
(void) xmutex_lock(&(name))
|
||||
|
||||
#define _glthread_UNLOCK_MUTEX(name) \
|
||||
(void) xmutex_unlock(&(name))
|
||||
|
||||
#endif /* USE_XTHREADS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* BeOS threads. R5.x required.
|
||||
*/
|
||||
#ifdef BEOS_THREADS
|
||||
|
||||
#include <kernel/OS.h>
|
||||
#include <support/TLS.h>
|
||||
|
||||
typedef struct {
|
||||
int32 key;
|
||||
int initMagic;
|
||||
} _glthread_TSD;
|
||||
|
||||
typedef thread_id _glthread_Thread;
|
||||
|
||||
/* Use Benaphore, aka speeder semaphore */
|
||||
typedef struct {
|
||||
int32 lock;
|
||||
sem_id sem;
|
||||
} benaphore;
|
||||
typedef benaphore _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = { 0, 0 }
|
||||
#define _glthread_INIT_MUTEX(name) name.sem = create_sem(0, #name"_benaphore"), name.lock = 0
|
||||
#define _glthread_DESTROY_MUTEX(name) delete_sem(name.sem), name.lock = 0
|
||||
#define _glthread_LOCK_MUTEX(name) if (name.sem == 0) _glthread_INIT_MUTEX(name); \
|
||||
if (atomic_add(&(name.lock), 1) >= 1) acquire_sem(name.sem)
|
||||
#define _glthread_UNLOCK_MUTEX(name) if (atomic_add(&(name.lock), -1) > 1) release_sem(name.sem)
|
||||
|
||||
#endif /* BEOS_THREADS */
|
||||
|
||||
|
||||
|
||||
#ifndef THREADS
|
||||
|
||||
/*
|
||||
* THREADS not defined
|
||||
*/
|
||||
|
||||
typedef int _glthread_TSD;
|
||||
|
||||
typedef int _glthread_Thread;
|
||||
|
||||
typedef int _glthread_Mutex;
|
||||
|
||||
#define _glthread_DECLARE_STATIC_MUTEX(name) static _glthread_Mutex name = 0
|
||||
|
||||
#define _glthread_INIT_MUTEX(name) (void) name
|
||||
|
||||
#define _glthread_DESTROY_MUTEX(name) (void) name
|
||||
|
||||
#define _glthread_LOCK_MUTEX(name) (void) name
|
||||
|
||||
#define _glthread_UNLOCK_MUTEX(name) (void) name
|
||||
|
||||
#endif /* THREADS */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Platform independent thread specific data API.
|
||||
*/
|
||||
|
||||
extern unsigned long
|
||||
_glthread_GetID(void);
|
||||
|
||||
|
||||
extern void
|
||||
_glthread_InitTSD(_glthread_TSD *);
|
||||
|
||||
|
||||
extern void *
|
||||
_glthread_GetTSD(_glthread_TSD *);
|
||||
|
||||
|
||||
extern void
|
||||
_glthread_SetTSD(_glthread_TSD *, void *);
|
||||
|
||||
#if defined(GLX_USE_TLS)
|
||||
|
||||
extern __thread struct _glapi_table * _glapi_tls_Dispatch
|
||||
__attribute__((tls_model("initial-exec")));
|
||||
|
||||
#define GET_DISPATCH() _glapi_tls_Dispatch
|
||||
|
||||
#elif !defined(GL_CALL)
|
||||
# if defined(THREADS)
|
||||
# define GET_DISPATCH() \
|
||||
((__builtin_expect( _glapi_Dispatch != NULL, 1 )) \
|
||||
? _glapi_Dispatch : _glapi_get_dispatch())
|
||||
# else
|
||||
# define GET_DISPATCH() _glapi_Dispatch
|
||||
# endif /* defined(THREADS) */
|
||||
#endif /* ndef GL_CALL */
|
||||
|
||||
|
||||
#endif /* THREADS_H */
|
|
@ -52,6 +52,7 @@
|
|||
#define DRI_NEW_INTERFACE_ONLY
|
||||
#include "glxserver.h"
|
||||
#include "glxutil.h"
|
||||
#include "glxdricommon.h"
|
||||
|
||||
#include "g_disptab.h"
|
||||
#include "glapitable.h"
|
||||
|
@ -63,7 +64,6 @@
|
|||
typedef struct __GLXDRIscreen __GLXDRIscreen;
|
||||
typedef struct __GLXDRIcontext __GLXDRIcontext;
|
||||
typedef struct __GLXDRIdrawable __GLXDRIdrawable;
|
||||
typedef struct __GLXDRIconfig __GLXDRIconfig;
|
||||
|
||||
struct __GLXDRIscreen {
|
||||
__GLXscreen base;
|
||||
|
@ -108,11 +108,6 @@ struct __GLXDRIdrawable {
|
|||
#endif
|
||||
};
|
||||
|
||||
struct __GLXDRIconfig {
|
||||
__GLXconfig config;
|
||||
__DRIconfig *driConfig;
|
||||
};
|
||||
|
||||
static void
|
||||
__glXDRIleaveServer(GLboolean rendering)
|
||||
{
|
||||
|
@ -801,22 +796,6 @@ getDrawableInfo(__DRIdrawable *driDrawable,
|
|||
return retval;
|
||||
}
|
||||
|
||||
static int
|
||||
getUST(int64_t *ust)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
if (ust == NULL)
|
||||
return -EFAULT;
|
||||
|
||||
if (gettimeofday(&tv, NULL) == 0) {
|
||||
ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec;
|
||||
return 0;
|
||||
} else {
|
||||
return -errno;
|
||||
}
|
||||
}
|
||||
|
||||
static void __glXReportDamage(__DRIdrawable *driDraw,
|
||||
int x, int y,
|
||||
drm_clip_rect_t *rects, int num_rects,
|
||||
|
@ -837,12 +816,6 @@ static void __glXReportDamage(__DRIdrawable *driDraw,
|
|||
__glXleaveServer(GL_FALSE);
|
||||
}
|
||||
|
||||
static const __DRIsystemTimeExtension systemTimeExtension = {
|
||||
{ __DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION },
|
||||
getUST,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static const __DRIgetDrawableInfoExtension getDrawableInfoExtension = {
|
||||
{ __DRI_GET_DRAWABLE_INFO, __DRI_GET_DRAWABLE_INFO_VERSION },
|
||||
getDrawableInfo
|
|
@ -29,7 +29,6 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#include <drm.h>
|
||||
|
@ -47,6 +46,7 @@
|
|||
|
||||
#include "glxserver.h"
|
||||
#include "glxutil.h"
|
||||
#include "glxdricommon.h"
|
||||
|
||||
#include "g_disptab.h"
|
||||
#include "glapitable.h"
|
||||
|
@ -58,7 +58,6 @@
|
|||
typedef struct __GLXDRIscreen __GLXDRIscreen;
|
||||
typedef struct __GLXDRIcontext __GLXDRIcontext;
|
||||
typedef struct __GLXDRIdrawable __GLXDRIdrawable;
|
||||
typedef struct __GLXDRIconfig __GLXDRIconfig;
|
||||
|
||||
struct __GLXDRIscreen {
|
||||
__GLXscreen base;
|
||||
|
@ -88,11 +87,6 @@ struct __GLXDRIdrawable {
|
|||
__GLXDRIscreen *screen;
|
||||
};
|
||||
|
||||
struct __GLXDRIconfig {
|
||||
__GLXconfig config;
|
||||
const __DRIconfig *driConfig;
|
||||
};
|
||||
|
||||
static void
|
||||
__glXDRIdrawableDestroy(__GLXdrawable *drawable)
|
||||
{
|
||||
|
@ -359,28 +353,6 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen,
|
|||
return &private->base;
|
||||
}
|
||||
|
||||
static int
|
||||
getUST(int64_t *ust)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
if (ust == NULL)
|
||||
return -EFAULT;
|
||||
|
||||
if (gettimeofday(&tv, NULL) == 0) {
|
||||
ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec;
|
||||
return 0;
|
||||
} else {
|
||||
return -errno;
|
||||
}
|
||||
}
|
||||
|
||||
static const __DRIsystemTimeExtension systemTimeExtension = {
|
||||
{ __DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION },
|
||||
getUST,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static void dri2ReemitDrawableInfo(__DRIdrawable *draw, unsigned int *tail,
|
||||
void *loaderPrivate)
|
||||
{
|
||||
|
@ -490,156 +462,6 @@ initializeExtensions(__GLXDRIscreen *screen)
|
|||
/* Ignore unknown extensions */
|
||||
}
|
||||
}
|
||||
|
||||
#define __ATTRIB(attrib, field) \
|
||||
{ attrib, offsetof(__GLXconfig, field) }
|
||||
|
||||
static const struct { unsigned int attrib, offset; } attribMap[] = {
|
||||
__ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits),
|
||||
__ATTRIB(__DRI_ATTRIB_LEVEL, level),
|
||||
__ATTRIB(__DRI_ATTRIB_RED_SIZE, redBits),
|
||||
__ATTRIB(__DRI_ATTRIB_GREEN_SIZE, greenBits),
|
||||
__ATTRIB(__DRI_ATTRIB_BLUE_SIZE, blueBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ALPHA_SIZE, alphaBits),
|
||||
__ATTRIB(__DRI_ATTRIB_DEPTH_SIZE, depthBits),
|
||||
__ATTRIB(__DRI_ATTRIB_STENCIL_SIZE, stencilBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_RED_SIZE, accumRedBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_GREEN_SIZE, accumGreenBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_BLUE_SIZE, accumBlueBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_ALPHA_SIZE, accumAlphaBits),
|
||||
__ATTRIB(__DRI_ATTRIB_SAMPLE_BUFFERS, sampleBuffers),
|
||||
__ATTRIB(__DRI_ATTRIB_SAMPLES, samples),
|
||||
__ATTRIB(__DRI_ATTRIB_DOUBLE_BUFFER, doubleBufferMode),
|
||||
__ATTRIB(__DRI_ATTRIB_STEREO, stereoMode),
|
||||
__ATTRIB(__DRI_ATTRIB_AUX_BUFFERS, numAuxBuffers),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_TYPE, transparentPixel),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_INDEX_VALUE, transparentPixel),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_RED_VALUE, transparentRed),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE, transparentGreen),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE, transparentBlue),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE, transparentAlpha),
|
||||
__ATTRIB(__DRI_ATTRIB_FLOAT_MODE, floatMode),
|
||||
__ATTRIB(__DRI_ATTRIB_RED_MASK, redMask),
|
||||
__ATTRIB(__DRI_ATTRIB_GREEN_MASK, greenMask),
|
||||
__ATTRIB(__DRI_ATTRIB_BLUE_MASK, blueMask),
|
||||
__ATTRIB(__DRI_ATTRIB_ALPHA_MASK, alphaMask),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_WIDTH, maxPbufferWidth),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_HEIGHT, maxPbufferHeight),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_PIXELS, maxPbufferPixels),
|
||||
__ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH, optimalPbufferWidth),
|
||||
__ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT, optimalPbufferHeight),
|
||||
__ATTRIB(__DRI_ATTRIB_SWAP_METHOD, swapMethod),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGB, bindToTextureRgb),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGBA, bindToTextureRgba),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE, bindToMipmapTexture),
|
||||
__ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted),
|
||||
};
|
||||
|
||||
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
|
||||
|
||||
static void
|
||||
setScalar(__GLXconfig *config, unsigned int attrib, unsigned int value)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(attribMap); i++)
|
||||
if (attribMap[i].attrib == attrib) {
|
||||
*(unsigned int *) ((char *) config + attribMap[i].offset) = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static __GLXconfig *
|
||||
createModeFromConfig(const __DRIcoreExtension *core,
|
||||
const __DRIconfig *driConfig,
|
||||
unsigned int visualType)
|
||||
{
|
||||
__GLXDRIconfig *config;
|
||||
unsigned int attrib, value;
|
||||
int i;
|
||||
|
||||
config = xalloc(sizeof *config);
|
||||
|
||||
config->driConfig = driConfig;
|
||||
|
||||
i = 0;
|
||||
while (core->indexConfigAttrib(driConfig, i++, &attrib, &value)) {
|
||||
switch (attrib) {
|
||||
case __DRI_ATTRIB_RENDER_TYPE:
|
||||
if (value & __DRI_ATTRIB_RGBA_BIT) {
|
||||
config->config.renderType |= GLX_RGBA_BIT;
|
||||
config->config.rgbMode = GL_TRUE;
|
||||
} else if (value & __DRI_ATTRIB_COLOR_INDEX_BIT) {
|
||||
config->config.renderType |= GLX_COLOR_INDEX_BIT;
|
||||
config->config.rgbMode = GL_FALSE;
|
||||
} else {
|
||||
config->config.renderType = 0;
|
||||
config->config.rgbMode = GL_FALSE;
|
||||
}
|
||||
break;
|
||||
case __DRI_ATTRIB_CONFIG_CAVEAT:
|
||||
if (value & __DRI_ATTRIB_NON_CONFORMANT_CONFIG)
|
||||
config->config.visualRating = GLX_NON_CONFORMANT_CONFIG;
|
||||
else if (value & __DRI_ATTRIB_SLOW_BIT)
|
||||
config->config.visualRating = GLX_SLOW_CONFIG;
|
||||
else
|
||||
config->config.visualRating = GLX_NONE;
|
||||
break;
|
||||
case __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS:
|
||||
config->config.bindToTextureTargets = 0;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_1D_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_1D_BIT_EXT;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_2D_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_2D_BIT_EXT;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
|
||||
break;
|
||||
default:
|
||||
setScalar(&config->config, attrib, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
config->config.next = NULL;
|
||||
config->config.xRenderable = GL_TRUE;
|
||||
config->config.visualType = visualType;
|
||||
config->config.drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT;
|
||||
|
||||
return &config->config;
|
||||
}
|
||||
|
||||
__GLXconfig *
|
||||
glxConvertConfigs(const __DRIcoreExtension *core, const __DRIconfig **configs);
|
||||
|
||||
__GLXconfig *
|
||||
glxConvertConfigs(const __DRIcoreExtension *core, const __DRIconfig **configs)
|
||||
{
|
||||
__GLXconfig head, *tail;
|
||||
int i;
|
||||
|
||||
tail = &head;
|
||||
head.next = NULL;
|
||||
|
||||
for (i = 0; configs[i]; i++) {
|
||||
tail->next = createModeFromConfig(core,
|
||||
configs[i], GLX_TRUE_COLOR);
|
||||
if (tail->next == NULL)
|
||||
break;
|
||||
|
||||
tail = tail->next;
|
||||
}
|
||||
|
||||
for (i = 0; configs[i]; i++) {
|
||||
tail->next = createModeFromConfig(core,
|
||||
configs[i], GLX_DIRECT_COLOR);
|
||||
if (tail->next == NULL)
|
||||
break;
|
||||
|
||||
tail = tail->next;
|
||||
}
|
||||
|
||||
return head.next;
|
||||
}
|
||||
|
||||
static __GLXscreen *
|
||||
__glXDRIscreenProbe(ScreenPtr pScreen)
|
209
glx/glxdricommon.c
Normal file
209
glx/glxdricommon.c
Normal file
|
@ -0,0 +1,209 @@
|
|||
/*
|
||||
* Copyright © 2008 Red Hat, 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 the
|
||||
* copyright holders not be used in advertising or publicity
|
||||
* pertaining to distribution of the software without specific,
|
||||
* written prior permission. The copyright holders make no
|
||||
* representations about the suitability of this software for any
|
||||
* purpose. It is provided "as is" without express or implied
|
||||
* warranty.
|
||||
*
|
||||
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS 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 <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glxtokens.h>
|
||||
#include <GL/internal/dri_interface.h>
|
||||
#include <os.h>
|
||||
#include "glxserver.h"
|
||||
#include "glxcontext.h"
|
||||
#include "glxscreens.h"
|
||||
#include "glxdricommon.h"
|
||||
|
||||
static int
|
||||
getUST(int64_t *ust)
|
||||
{
|
||||
struct timeval tv;
|
||||
|
||||
if (ust == NULL)
|
||||
return -EFAULT;
|
||||
|
||||
if (gettimeofday(&tv, NULL) == 0) {
|
||||
ust[0] = (tv.tv_sec * 1000000) + tv.tv_usec;
|
||||
return 0;
|
||||
} else {
|
||||
return -errno;
|
||||
}
|
||||
}
|
||||
|
||||
const __DRIsystemTimeExtension systemTimeExtension = {
|
||||
{ __DRI_SYSTEM_TIME, __DRI_SYSTEM_TIME_VERSION },
|
||||
getUST,
|
||||
NULL,
|
||||
};
|
||||
|
||||
#define __ATTRIB(attrib, field) \
|
||||
{ attrib, offsetof(__GLXconfig, field) }
|
||||
|
||||
static const struct { unsigned int attrib, offset; } attribMap[] = {
|
||||
__ATTRIB(__DRI_ATTRIB_BUFFER_SIZE, rgbBits),
|
||||
__ATTRIB(__DRI_ATTRIB_LEVEL, level),
|
||||
__ATTRIB(__DRI_ATTRIB_RED_SIZE, redBits),
|
||||
__ATTRIB(__DRI_ATTRIB_GREEN_SIZE, greenBits),
|
||||
__ATTRIB(__DRI_ATTRIB_BLUE_SIZE, blueBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ALPHA_SIZE, alphaBits),
|
||||
__ATTRIB(__DRI_ATTRIB_DEPTH_SIZE, depthBits),
|
||||
__ATTRIB(__DRI_ATTRIB_STENCIL_SIZE, stencilBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_RED_SIZE, accumRedBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_GREEN_SIZE, accumGreenBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_BLUE_SIZE, accumBlueBits),
|
||||
__ATTRIB(__DRI_ATTRIB_ACCUM_ALPHA_SIZE, accumAlphaBits),
|
||||
__ATTRIB(__DRI_ATTRIB_SAMPLE_BUFFERS, sampleBuffers),
|
||||
__ATTRIB(__DRI_ATTRIB_SAMPLES, samples),
|
||||
__ATTRIB(__DRI_ATTRIB_DOUBLE_BUFFER, doubleBufferMode),
|
||||
__ATTRIB(__DRI_ATTRIB_STEREO, stereoMode),
|
||||
__ATTRIB(__DRI_ATTRIB_AUX_BUFFERS, numAuxBuffers),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_TYPE, transparentPixel),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_INDEX_VALUE, transparentPixel),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_RED_VALUE, transparentRed),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_GREEN_VALUE, transparentGreen),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_BLUE_VALUE, transparentBlue),
|
||||
__ATTRIB(__DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE, transparentAlpha),
|
||||
__ATTRIB(__DRI_ATTRIB_FLOAT_MODE, floatMode),
|
||||
__ATTRIB(__DRI_ATTRIB_RED_MASK, redMask),
|
||||
__ATTRIB(__DRI_ATTRIB_GREEN_MASK, greenMask),
|
||||
__ATTRIB(__DRI_ATTRIB_BLUE_MASK, blueMask),
|
||||
__ATTRIB(__DRI_ATTRIB_ALPHA_MASK, alphaMask),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_WIDTH, maxPbufferWidth),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_HEIGHT, maxPbufferHeight),
|
||||
__ATTRIB(__DRI_ATTRIB_MAX_PBUFFER_PIXELS, maxPbufferPixels),
|
||||
__ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH, optimalPbufferWidth),
|
||||
__ATTRIB(__DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT, optimalPbufferHeight),
|
||||
__ATTRIB(__DRI_ATTRIB_SWAP_METHOD, swapMethod),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGB, bindToTextureRgb),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_TEXTURE_RGBA, bindToTextureRgba),
|
||||
__ATTRIB(__DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE, bindToMipmapTexture),
|
||||
__ATTRIB(__DRI_ATTRIB_YINVERTED, yInverted),
|
||||
};
|
||||
|
||||
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
|
||||
|
||||
static void
|
||||
setScalar(__GLXconfig *config, unsigned int attrib, unsigned int value)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(attribMap); i++)
|
||||
if (attribMap[i].attrib == attrib) {
|
||||
*(unsigned int *) ((char *) config + attribMap[i].offset) = value;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
static __GLXconfig *
|
||||
createModeFromConfig(const __DRIcoreExtension *core,
|
||||
const __DRIconfig *driConfig,
|
||||
unsigned int visualType)
|
||||
{
|
||||
__GLXDRIconfig *config;
|
||||
unsigned int attrib, value;
|
||||
int i;
|
||||
|
||||
config = xalloc(sizeof *config);
|
||||
|
||||
config->driConfig = driConfig;
|
||||
|
||||
i = 0;
|
||||
while (core->indexConfigAttrib(driConfig, i++, &attrib, &value)) {
|
||||
switch (attrib) {
|
||||
case __DRI_ATTRIB_RENDER_TYPE:
|
||||
if (value & __DRI_ATTRIB_RGBA_BIT) {
|
||||
config->config.renderType |= GLX_RGBA_BIT;
|
||||
config->config.rgbMode = GL_TRUE;
|
||||
} else if (value & __DRI_ATTRIB_COLOR_INDEX_BIT) {
|
||||
config->config.renderType |= GLX_COLOR_INDEX_BIT;
|
||||
config->config.rgbMode = GL_FALSE;
|
||||
} else {
|
||||
config->config.renderType = 0;
|
||||
config->config.rgbMode = GL_FALSE;
|
||||
}
|
||||
break;
|
||||
case __DRI_ATTRIB_CONFIG_CAVEAT:
|
||||
if (value & __DRI_ATTRIB_NON_CONFORMANT_CONFIG)
|
||||
config->config.visualRating = GLX_NON_CONFORMANT_CONFIG;
|
||||
else if (value & __DRI_ATTRIB_SLOW_BIT)
|
||||
config->config.visualRating = GLX_SLOW_CONFIG;
|
||||
else
|
||||
config->config.visualRating = GLX_NONE;
|
||||
break;
|
||||
case __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS:
|
||||
config->config.bindToTextureTargets = 0;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_1D_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_1D_BIT_EXT;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_2D_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_2D_BIT_EXT;
|
||||
if (value & __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT)
|
||||
config->config.bindToTextureTargets |= GLX_TEXTURE_RECTANGLE_BIT_EXT;
|
||||
break;
|
||||
default:
|
||||
setScalar(&config->config, attrib, value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
config->config.next = NULL;
|
||||
config->config.xRenderable = GL_TRUE;
|
||||
config->config.visualType = visualType;
|
||||
config->config.drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT;
|
||||
|
||||
return &config->config;
|
||||
}
|
||||
|
||||
__GLXconfig *
|
||||
glxConvertConfigs(const __DRIcoreExtension *core, const __DRIconfig **configs)
|
||||
{
|
||||
__GLXconfig head, *tail;
|
||||
int i;
|
||||
|
||||
tail = &head;
|
||||
head.next = NULL;
|
||||
|
||||
for (i = 0; configs[i]; i++) {
|
||||
tail->next = createModeFromConfig(core,
|
||||
configs[i], GLX_TRUE_COLOR);
|
||||
if (tail->next == NULL)
|
||||
break;
|
||||
|
||||
tail = tail->next;
|
||||
}
|
||||
|
||||
for (i = 0; configs[i]; i++) {
|
||||
tail->next = createModeFromConfig(core,
|
||||
configs[i], GLX_DIRECT_COLOR);
|
||||
if (tail->next == NULL)
|
||||
break;
|
||||
|
||||
tail = tail->next;
|
||||
}
|
||||
|
||||
return head.next;
|
||||
}
|
40
glx/glxdricommon.h
Normal file
40
glx/glxdricommon.h
Normal file
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* Copyright © 2008 Red Hat, 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 the
|
||||
* copyright holders not be used in advertising or publicity
|
||||
* pertaining to distribution of the software without specific,
|
||||
* written prior permission. The copyright holders make no
|
||||
* representations about the suitability of this software for any
|
||||
* purpose. It is provided "as is" without express or implied
|
||||
* warranty.
|
||||
*
|
||||
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS 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.
|
||||
*/
|
||||
|
||||
#ifndef _GLX_dri_common_h
|
||||
#define _GLX_dri_common_h
|
||||
|
||||
typedef struct __GLXDRIconfig __GLXDRIconfig;
|
||||
struct __GLXDRIconfig {
|
||||
__GLXconfig config;
|
||||
const __DRIconfig *driConfig;
|
||||
};
|
||||
|
||||
__GLXconfig *
|
||||
glxConvertConfigs(const __DRIcoreExtension *core, const __DRIconfig **configs);
|
||||
|
||||
extern const __DRIsystemTimeExtension systemTimeExtension;
|
||||
|
||||
#endif
|
544
glx/glxdriswrast.c
Normal file
544
glx/glxdriswrast.c
Normal file
|
@ -0,0 +1,544 @@
|
|||
/*
|
||||
* Copyright © 2008 George Sapountzis <gsap7@yahoo.gr>
|
||||
* Copyright © 2008 Red Hat, 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 the
|
||||
* copyright holders not be used in advertising or publicity
|
||||
* pertaining to distribution of the software without specific,
|
||||
* written prior permission. The copyright holders make no
|
||||
* representations about the suitability of this software for any
|
||||
* purpose. It is provided "as is" without express or implied
|
||||
* warranty.
|
||||
*
|
||||
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
* SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
* FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS 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 <dix-config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/internal/dri_interface.h>
|
||||
#include <GL/glxtokens.h>
|
||||
|
||||
#include "scrnintstr.h"
|
||||
#include "pixmapstr.h"
|
||||
#include "gcstruct.h"
|
||||
#include "os.h"
|
||||
|
||||
#include "glxserver.h"
|
||||
#include "glxutil.h"
|
||||
#include "glxdricommon.h"
|
||||
|
||||
#include "g_disptab.h"
|
||||
#include "glapitable.h"
|
||||
#include "glapi.h"
|
||||
#include "glthread.h"
|
||||
#include "dispatch.h"
|
||||
#include "extension_string.h"
|
||||
|
||||
typedef struct __GLXDRIscreen __GLXDRIscreen;
|
||||
typedef struct __GLXDRIcontext __GLXDRIcontext;
|
||||
typedef struct __GLXDRIdrawable __GLXDRIdrawable;
|
||||
|
||||
struct __GLXDRIscreen {
|
||||
__GLXscreen base;
|
||||
__DRIscreen *driScreen;
|
||||
void *driver;
|
||||
|
||||
const __DRIcoreExtension *core;
|
||||
const __DRIswrastExtension *swrast;
|
||||
const __DRIcopySubBufferExtension *copySubBuffer;
|
||||
const __DRItexBufferExtension *texBuffer;
|
||||
};
|
||||
|
||||
struct __GLXDRIcontext {
|
||||
__GLXcontext base;
|
||||
__DRIcontext *driContext;
|
||||
};
|
||||
|
||||
struct __GLXDRIdrawable {
|
||||
__GLXdrawable base;
|
||||
__DRIdrawable *driDrawable;
|
||||
__GLXDRIscreen *screen;
|
||||
|
||||
GCPtr gc; /* scratch GC for span drawing */
|
||||
GCPtr cleargc; /* GC for clearing the color buffer */
|
||||
GCPtr swapgc; /* GC for swapping the color buffers */
|
||||
};
|
||||
|
||||
static void
|
||||
__glXDRIdrawableDestroy(__GLXdrawable *drawable)
|
||||
{
|
||||
__GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
|
||||
const __DRIcoreExtension *core = private->screen->core;
|
||||
|
||||
(*core->destroyDrawable)(private->driDrawable);
|
||||
|
||||
FreeScratchGC(private->gc);
|
||||
FreeScratchGC(private->cleargc);
|
||||
FreeScratchGC(private->swapgc);
|
||||
|
||||
xfree(private);
|
||||
}
|
||||
|
||||
static GLboolean
|
||||
__glXDRIdrawableResize(__GLXdrawable *drawable)
|
||||
{
|
||||
/* Nothing to do here, the DRI driver asks the server for drawable
|
||||
* geometry appropriately. */
|
||||
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
static GLboolean
|
||||
__glXDRIdrawableSwapBuffers(__GLXdrawable *drawable)
|
||||
{
|
||||
__GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable;
|
||||
const __DRIcoreExtension *core = private->screen->core;
|
||||
|
||||
(*core->swapBuffers)(private->driDrawable);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
__glXDRIdrawableCopySubBuffer(__GLXdrawable *basePrivate,
|
||||
int x, int y, int w, int h)
|
||||
{
|
||||
__GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate;
|
||||
const __DRIcopySubBufferExtension *copySubBuffer =
|
||||
private->screen->copySubBuffer;
|
||||
|
||||
if (copySubBuffer)
|
||||
(*copySubBuffer->copySubBuffer)(private->driDrawable, x, y, w, h);
|
||||
}
|
||||
|
||||
static void
|
||||
__glXDRIcontextDestroy(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen;
|
||||
|
||||
(*screen->core->destroyContext)(context->driContext);
|
||||
__glXContextDestroy(&context->base);
|
||||
xfree(context);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIcontextMakeCurrent(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
|
||||
__GLXDRIdrawable *draw = (__GLXDRIdrawable *) baseContext->drawPriv;
|
||||
__GLXDRIdrawable *read = (__GLXDRIdrawable *) baseContext->readPriv;
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen;
|
||||
|
||||
return (*screen->core->bindContext)(context->driContext,
|
||||
draw->driDrawable,
|
||||
read->driDrawable);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIcontextLoseCurrent(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen;
|
||||
|
||||
return (*screen->core->unbindContext)(context->driContext);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIcontextCopy(__GLXcontext *baseDst, __GLXcontext *baseSrc,
|
||||
unsigned long mask)
|
||||
{
|
||||
__GLXDRIcontext *dst = (__GLXDRIcontext *) baseDst;
|
||||
__GLXDRIcontext *src = (__GLXDRIcontext *) baseSrc;
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) dst->base.pGlxScreen;
|
||||
|
||||
return (*screen->core->copyContext)(dst->driContext,
|
||||
src->driContext, mask);
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIcontextForceCurrent(__GLXcontext *baseContext)
|
||||
{
|
||||
__GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
|
||||
__GLXDRIdrawable *draw = (__GLXDRIdrawable *) baseContext->drawPriv;
|
||||
__GLXDRIdrawable *read = (__GLXDRIdrawable *) baseContext->readPriv;
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) context->base.pGlxScreen;
|
||||
|
||||
return (*screen->core->bindContext)(context->driContext,
|
||||
draw->driDrawable,
|
||||
read->driDrawable);
|
||||
}
|
||||
|
||||
#ifdef __DRI_TEX_BUFFER
|
||||
|
||||
static int
|
||||
__glXDRIbindTexImage(__GLXcontext *baseContext,
|
||||
int buffer,
|
||||
__GLXdrawable *glxPixmap)
|
||||
{
|
||||
__GLXDRIdrawable *drawable = (__GLXDRIdrawable *) glxPixmap;
|
||||
const __DRItexBufferExtension *texBuffer = drawable->screen->texBuffer;
|
||||
__GLXDRIcontext *context = (__GLXDRIcontext *) baseContext;
|
||||
|
||||
if (texBuffer == NULL)
|
||||
return Success;
|
||||
|
||||
texBuffer->setTexBuffer(context->driContext,
|
||||
glxPixmap->target,
|
||||
drawable->driDrawable);
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIreleaseTexImage(__GLXcontext *baseContext,
|
||||
int buffer,
|
||||
__GLXdrawable *pixmap)
|
||||
{
|
||||
/* FIXME: Just unbind the texture? */
|
||||
return Success;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static int
|
||||
__glXDRIbindTexImage(__GLXcontext *baseContext,
|
||||
int buffer,
|
||||
__GLXdrawable *glxPixmap)
|
||||
{
|
||||
return Success;
|
||||
}
|
||||
|
||||
static int
|
||||
__glXDRIreleaseTexImage(__GLXcontext *baseContext,
|
||||
int buffer,
|
||||
__GLXdrawable *pixmap)
|
||||
{
|
||||
return Success;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static __GLXtextureFromPixmap __glXDRItextureFromPixmap = {
|
||||
__glXDRIbindTexImage,
|
||||
__glXDRIreleaseTexImage
|
||||
};
|
||||
|
||||
static void
|
||||
__glXDRIscreenDestroy(__GLXscreen *baseScreen)
|
||||
{
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen;
|
||||
|
||||
(*screen->core->destroyScreen)(screen->driScreen);
|
||||
|
||||
dlclose(screen->driver);
|
||||
|
||||
__glXScreenDestroy(baseScreen);
|
||||
|
||||
xfree(screen);
|
||||
}
|
||||
|
||||
static __GLXcontext *
|
||||
__glXDRIscreenCreateContext(__GLXscreen *baseScreen,
|
||||
__GLXconfig *glxConfig,
|
||||
__GLXcontext *baseShareContext)
|
||||
{
|
||||
__GLXDRIscreen *screen = (__GLXDRIscreen *) baseScreen;
|
||||
__GLXDRIcontext *context, *shareContext;
|
||||
__GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig;
|
||||
const __DRIcoreExtension *core = screen->core;
|
||||
__DRIcontext *driShare;
|
||||
|
||||
shareContext = (__GLXDRIcontext *) baseShareContext;
|
||||
if (shareContext)
|
||||
driShare = shareContext->driContext;
|
||||
else
|
||||
driShare = NULL;
|
||||
|
||||
context = xalloc(sizeof *context);
|
||||
if (context == NULL)
|
||||
return NULL;
|
||||
|
||||
memset(context, 0, sizeof *context);
|
||||
context->base.destroy = __glXDRIcontextDestroy;
|
||||
context->base.makeCurrent = __glXDRIcontextMakeCurrent;
|
||||
context->base.loseCurrent = __glXDRIcontextLoseCurrent;
|
||||
context->base.copy = __glXDRIcontextCopy;
|
||||
context->base.forceCurrent = __glXDRIcontextForceCurrent;
|
||||
context->base.textureFromPixmap = &__glXDRItextureFromPixmap;
|
||||
|
||||
context->driContext =
|
||||
(*core->createNewContext)(screen->driScreen,
|
||||
config->driConfig, driShare, context);
|
||||
|
||||
return &context->base;
|
||||
}
|
||||
|
||||
static void
|
||||
glxChangeGC(GCPtr gc, BITS32 mask, CARD32 val)
|
||||
{
|
||||
CARD32 v[1];
|
||||
v[0] = val;
|
||||
dixChangeGC(NullClient, gc, mask, v, NULL);
|
||||
}
|
||||
|
||||
static __GLXdrawable *
|
||||
__glXDRIscreenCreateDrawable(__GLXscreen *screen,
|
||||
DrawablePtr pDraw,
|
||||
int type,
|
||||
XID drawId,
|
||||
__GLXconfig *glxConfig)
|
||||
{
|
||||
__GLXDRIscreen *driScreen = (__GLXDRIscreen *) screen;
|
||||
__GLXDRIconfig *config = (__GLXDRIconfig *) glxConfig;
|
||||
__GLXDRIdrawable *private;
|
||||
|
||||
ScreenPtr pScreen = driScreen->base.pScreen;
|
||||
|
||||
private = xalloc(sizeof *private);
|
||||
if (private == NULL)
|
||||
return NULL;
|
||||
|
||||
memset(private, 0, sizeof *private);
|
||||
|
||||
private->screen = driScreen;
|
||||
if (!__glXDrawableInit(&private->base, screen,
|
||||
pDraw, type, drawId, glxConfig)) {
|
||||
xfree(private);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
private->base.destroy = __glXDRIdrawableDestroy;
|
||||
private->base.resize = __glXDRIdrawableResize;
|
||||
private->base.swapBuffers = __glXDRIdrawableSwapBuffers;
|
||||
private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer;
|
||||
|
||||
private->gc = CreateScratchGC(pScreen, pDraw->depth);
|
||||
private->cleargc = CreateScratchGC(pScreen, pDraw->depth);
|
||||
private->swapgc = CreateScratchGC(pScreen, pDraw->depth);
|
||||
|
||||
glxChangeGC(private->gc, GCFunction, GXcopy);
|
||||
glxChangeGC(private->cleargc, GCFunction, GXcopy);
|
||||
glxChangeGC(private->swapgc, GCFunction, GXcopy);
|
||||
glxChangeGC(private->swapgc, GCGraphicsExposures, FALSE);
|
||||
|
||||
private->driDrawable =
|
||||
(*driScreen->swrast->createNewDrawable)(driScreen->driScreen,
|
||||
config->driConfig,
|
||||
private);
|
||||
|
||||
return &private->base;
|
||||
}
|
||||
|
||||
static void
|
||||
swrastGetDrawableInfo(__DRIdrawable *draw,
|
||||
int *x, int *y, int *w, int *h,
|
||||
void *loaderPrivate)
|
||||
{
|
||||
__GLXDRIdrawable *drawable = loaderPrivate;
|
||||
DrawablePtr pDraw = drawable->base.pDraw;
|
||||
|
||||
*x = pDraw->x;
|
||||
*y = pDraw->x;
|
||||
*w = pDraw->width;
|
||||
*h = pDraw->height;
|
||||
}
|
||||
|
||||
static void
|
||||
swrastPutImage(__DRIdrawable *draw, int op,
|
||||
int x, int y, int w, int h, char *data,
|
||||
void *loaderPrivate)
|
||||
{
|
||||
__GLXDRIdrawable *drawable = loaderPrivate;
|
||||
DrawablePtr pDraw = drawable->base.pDraw;
|
||||
GCPtr gc;
|
||||
|
||||
switch (op) {
|
||||
case __DRI_SWRAST_IMAGE_OP_DRAW:
|
||||
gc = drawable->gc;
|
||||
break;
|
||||
case __DRI_SWRAST_IMAGE_OP_CLEAR:
|
||||
gc = drawable->cleargc;
|
||||
break;
|
||||
case __DRI_SWRAST_IMAGE_OP_SWAP:
|
||||
gc = drawable->swapgc;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
ValidateGC(pDraw, gc);
|
||||
|
||||
gc->ops->PutImage(pDraw, gc, pDraw->depth,
|
||||
x, y, w, h, 0, ZPixmap, data);
|
||||
}
|
||||
|
||||
static void
|
||||
swrastGetImage(__DRIdrawable *draw,
|
||||
int x, int y, int w, int h, char *data,
|
||||
void *loaderPrivate)
|
||||
{
|
||||
__GLXDRIdrawable *drawable = loaderPrivate;
|
||||
DrawablePtr pDraw = drawable->base.pDraw;
|
||||
ScreenPtr pScreen = pDraw->pScreen;
|
||||
|
||||
pScreen->GetImage(pDraw, x, y, w, h, ZPixmap, ~0L, data);
|
||||
}
|
||||
|
||||
static const __DRIswrastLoaderExtension swrastLoaderExtension = {
|
||||
{ __DRI_SWRAST_LOADER, __DRI_SWRAST_LOADER_VERSION },
|
||||
swrastGetDrawableInfo,
|
||||
swrastPutImage,
|
||||
swrastGetImage
|
||||
};
|
||||
|
||||
static const __DRIextension *loader_extensions[] = {
|
||||
&systemTimeExtension.base,
|
||||
&swrastLoaderExtension.base,
|
||||
NULL
|
||||
};
|
||||
|
||||
static void
|
||||
initializeExtensions(__GLXDRIscreen *screen)
|
||||
{
|
||||
const __DRIextension **extensions;
|
||||
int i;
|
||||
|
||||
extensions = screen->core->getExtensions(screen->driScreen);
|
||||
|
||||
for (i = 0; extensions[i]; i++) {
|
||||
#ifdef __DRI_COPY_SUB_BUFFER
|
||||
if (strcmp(extensions[i]->name, __DRI_COPY_SUB_BUFFER) == 0) {
|
||||
screen->copySubBuffer =
|
||||
(const __DRIcopySubBufferExtension *) extensions[i];
|
||||
/* GLX_MESA_copy_sub_buffer is always enabled. */
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef __DRI_TEX_BUFFER
|
||||
if (strcmp(extensions[i]->name, __DRI_TEX_BUFFER) == 0) {
|
||||
screen->texBuffer =
|
||||
(const __DRItexBufferExtension *) extensions[i];
|
||||
/* GLX_EXT_texture_from_pixmap is always enabled. */
|
||||
}
|
||||
#endif
|
||||
/* Ignore unknown extensions */
|
||||
}
|
||||
}
|
||||
|
||||
static const char dri_driver_path[] = DRI_DRIVER_PATH;
|
||||
|
||||
static __GLXscreen *
|
||||
__glXDRIscreenProbe(ScreenPtr pScreen)
|
||||
{
|
||||
const char *driverName = "swrast";
|
||||
__GLXDRIscreen *screen;
|
||||
char filename[128];
|
||||
const __DRIextension **extensions;
|
||||
const __DRIconfig **driConfigs;
|
||||
int i;
|
||||
|
||||
screen = xalloc(sizeof *screen);
|
||||
if (screen == NULL)
|
||||
return NULL;
|
||||
memset(screen, 0, sizeof *screen);
|
||||
|
||||
screen->base.destroy = __glXDRIscreenDestroy;
|
||||
screen->base.createContext = __glXDRIscreenCreateContext;
|
||||
screen->base.createDrawable = __glXDRIscreenCreateDrawable;
|
||||
screen->base.swapInterval = NULL;
|
||||
screen->base.pScreen = pScreen;
|
||||
|
||||
snprintf(filename, sizeof filename,
|
||||
"%s/%s_dri.so", dri_driver_path, driverName);
|
||||
|
||||
screen->driver = dlopen(filename, RTLD_LAZY | RTLD_LOCAL);
|
||||
if (screen->driver == NULL) {
|
||||
LogMessage(X_ERROR, "AIGLX error: dlopen of %s failed (%s)\n",
|
||||
filename, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
extensions = dlsym(screen->driver, __DRI_DRIVER_EXTENSIONS);
|
||||
if (extensions == NULL) {
|
||||
LogMessage(X_ERROR, "AIGLX error: %s exports no extensions (%s)\n",
|
||||
driverName, dlerror());
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
for (i = 0; extensions[i]; i++) {
|
||||
if (strcmp(extensions[i]->name, __DRI_CORE) == 0 &&
|
||||
extensions[i]->version >= __DRI_CORE_VERSION) {
|
||||
screen->core = (const __DRIcoreExtension *) extensions[i];
|
||||
}
|
||||
if (strcmp(extensions[i]->name, __DRI_SWRAST) == 0 &&
|
||||
extensions[i]->version >= __DRI_SWRAST_VERSION) {
|
||||
screen->swrast = (const __DRIswrastExtension *) extensions[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (screen->core == NULL || screen->swrast == NULL) {
|
||||
LogMessage(X_ERROR, "AIGLX error: %s exports no DRI extension\n",
|
||||
driverName);
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
screen->driScreen =
|
||||
(*screen->swrast->createNewScreen)(pScreen->myNum,
|
||||
loader_extensions,
|
||||
&driConfigs,
|
||||
screen);
|
||||
|
||||
if (screen->driScreen == NULL) {
|
||||
LogMessage(X_ERROR, "AIGLX error: Calling driver entry point failed");
|
||||
goto handle_error;
|
||||
}
|
||||
|
||||
initializeExtensions(screen);
|
||||
|
||||
screen->base.fbconfigs = glxConvertConfigs(screen->core, driConfigs);
|
||||
|
||||
__glXScreenInit(&screen->base, pScreen);
|
||||
|
||||
LogMessage(X_INFO,
|
||||
"AIGLX: Loaded and initialized %s\n", filename);
|
||||
|
||||
return &screen->base;
|
||||
|
||||
handle_error:
|
||||
if (screen->driver)
|
||||
dlclose(screen->driver);
|
||||
|
||||
xfree(screen);
|
||||
|
||||
FatalError("GLX: could not load software renderer\n");
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
__GLXprovider __glXDRISWRastProvider = {
|
||||
__glXDRIscreenProbe,
|
||||
"DRISWRAST",
|
||||
NULL
|
||||
};
|
|
@ -42,13 +42,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "glxserver.h"
|
||||
#include <GL/glxtokens.h>
|
||||
#include <unpack.h>
|
||||
#include <pixmapstr.h>
|
||||
#include <windowstr.h>
|
||||
#include "glxutil.h"
|
||||
#include "GL/internal/glcore.h"
|
||||
#include "GL/glxint.h"
|
||||
|
||||
/************************************************************************/
|
||||
/* Context stuff */
|
5889
glx/indirect_dispatch.c
Normal file
5889
glx/indirect_dispatch.c
Normal file
File diff suppressed because it is too large
Load Diff
1047
glx/indirect_dispatch.h
Normal file
1047
glx/indirect_dispatch.h
Normal file
File diff suppressed because it is too large
Load Diff
6051
glx/indirect_dispatch_swap.c
Normal file
6051
glx/indirect_dispatch_swap.c
Normal file
File diff suppressed because it is too large
Load Diff
832
glx/indirect_reqsize.c
Normal file
832
glx/indirect_reqsize.c
Normal file
|
@ -0,0 +1,832 @@
|
|||
/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corporation 2005
|
||||
* 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 <GL/gl.h>
|
||||
#include "glxserver.h"
|
||||
#include "glxbyteorder.h"
|
||||
#include "indirect_size.h"
|
||||
#include "indirect_reqsize.h"
|
||||
|
||||
#define __GLX_PAD(x) (((x) + 3) & ~3)
|
||||
|
||||
#if defined(__CYGWIN__) || defined(__MINGW32__)
|
||||
# undef HAVE_ALIAS
|
||||
#endif
|
||||
#ifdef HAVE_ALIAS
|
||||
# define ALIAS2(from,to) \
|
||||
GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
|
||||
__attribute__ ((alias( # to )));
|
||||
# define ALIAS(from,to) ALIAS2( from, __glX ## to ## ReqSize )
|
||||
#else
|
||||
# define ALIAS(from,to) \
|
||||
GLint __glX ## from ## ReqSize( const GLbyte * pc, Bool swap ) \
|
||||
{ return __glX ## to ## ReqSize( pc, swap ); }
|
||||
#endif
|
||||
|
||||
|
||||
int
|
||||
__glXCallListsReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 0);
|
||||
GLenum type = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
compsize = __glCallLists_size(type);
|
||||
return __GLX_PAD((compsize * n));
|
||||
}
|
||||
|
||||
int
|
||||
__glXBitmapReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLsizei width = *(GLsizei *) (pc + 20);
|
||||
GLsizei height = *(GLsizei *) (pc + 24);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
}
|
||||
|
||||
return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, width, height, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXFogfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 0);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glFogfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXLightfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glLightfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXLightModelfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 0);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glLightModelfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXMaterialfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glMaterialfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXPolygonStippleReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
}
|
||||
|
||||
return __glXImageSize(GL_COLOR_INDEX, GL_BITMAP, 0, 32, 32, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexParameterfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glTexParameterfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexImage1DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 32);
|
||||
GLenum format = *(GLenum *) (pc + 44);
|
||||
GLenum type = *(GLenum *) (pc + 48);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, 1, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexImage2DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 32);
|
||||
GLsizei height = *(GLsizei *) (pc + 36);
|
||||
GLenum format = *(GLenum *) (pc + 44);
|
||||
GLenum type = *(GLenum *) (pc + 48);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, height, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexEnvfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glTexEnvfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexGendvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glTexGendv_size(pname);
|
||||
return __GLX_PAD((compsize * 8));
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexGenfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glTexGenfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXPixelMapfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei mapsize = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
mapsize = bswap_32(mapsize);
|
||||
}
|
||||
|
||||
return __GLX_PAD((mapsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXPixelMapusvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei mapsize = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
mapsize = bswap_32(mapsize);
|
||||
}
|
||||
|
||||
return __GLX_PAD((mapsize * 2));
|
||||
}
|
||||
|
||||
int
|
||||
__glXDrawPixelsReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLsizei width = *(GLsizei *) (pc + 20);
|
||||
GLsizei height = *(GLsizei *) (pc + 24);
|
||||
GLenum format = *(GLenum *) (pc + 28);
|
||||
GLenum type = *(GLenum *) (pc + 32);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, 0, width, height, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXPrioritizeTexturesReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 0);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 4) + (n * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexSubImage1DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 36);
|
||||
GLenum format = *(GLenum *) (pc + 44);
|
||||
GLenum type = *(GLenum *) (pc + 48);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, 1, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexSubImage2DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 36);
|
||||
GLsizei height = *(GLsizei *) (pc + 40);
|
||||
GLenum format = *(GLenum *) (pc + 44);
|
||||
GLenum type = *(GLenum *) (pc + 48);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, height, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXColorTableReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 28);
|
||||
GLenum format = *(GLenum *) (pc + 32);
|
||||
GLenum type = *(GLenum *) (pc + 36);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, 1, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXColorTableParameterfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glColorTableParameterfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXColorSubTableReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei count = *(GLsizei *) (pc + 28);
|
||||
GLenum format = *(GLenum *) (pc + 32);
|
||||
GLenum type = *(GLenum *) (pc + 36);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
count = bswap_32(count);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, count, 1, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXConvolutionFilter1DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 28);
|
||||
GLenum format = *(GLenum *) (pc + 36);
|
||||
GLenum type = *(GLenum *) (pc + 40);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, 1, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXConvolutionFilter2DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = 0;
|
||||
GLint skip_images = 0;
|
||||
GLint skip_rows = *(GLint *) (pc + 8);
|
||||
GLint alignment = *(GLint *) (pc + 16);
|
||||
GLenum target = *(GLenum *) (pc + 20);
|
||||
GLsizei width = *(GLsizei *) (pc + 28);
|
||||
GLsizei height = *(GLsizei *) (pc + 32);
|
||||
GLenum format = *(GLenum *) (pc + 36);
|
||||
GLenum type = *(GLenum *) (pc + 40);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, height, 1,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXConvolutionParameterfvReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 4);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glConvolutionParameterfv_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexImage3DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = *(GLint *) (pc + 8);
|
||||
GLint skip_rows = *(GLint *) (pc + 16);
|
||||
GLint skip_images = *(GLint *) (pc + 20);
|
||||
GLint alignment = *(GLint *) (pc + 32);
|
||||
GLenum target = *(GLenum *) (pc + 36);
|
||||
GLsizei width = *(GLsizei *) (pc + 48);
|
||||
GLsizei height = *(GLsizei *) (pc + 52);
|
||||
GLsizei depth = *(GLsizei *) (pc + 56);
|
||||
GLenum format = *(GLenum *) (pc + 68);
|
||||
GLenum type = *(GLenum *) (pc + 72);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
image_height = bswap_32(image_height);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
skip_images = bswap_32(skip_images);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
depth = bswap_32(depth);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, height, depth,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXTexSubImage3DReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLint row_length = *(GLint *) (pc + 4);
|
||||
GLint image_height = *(GLint *) (pc + 8);
|
||||
GLint skip_rows = *(GLint *) (pc + 16);
|
||||
GLint skip_images = *(GLint *) (pc + 20);
|
||||
GLint alignment = *(GLint *) (pc + 32);
|
||||
GLenum target = *(GLenum *) (pc + 36);
|
||||
GLsizei width = *(GLsizei *) (pc + 60);
|
||||
GLsizei height = *(GLsizei *) (pc + 64);
|
||||
GLsizei depth = *(GLsizei *) (pc + 68);
|
||||
GLenum format = *(GLenum *) (pc + 76);
|
||||
GLenum type = *(GLenum *) (pc + 80);
|
||||
|
||||
if (swap) {
|
||||
row_length = bswap_32(row_length);
|
||||
image_height = bswap_32(image_height);
|
||||
skip_rows = bswap_32(skip_rows);
|
||||
skip_images = bswap_32(skip_images);
|
||||
alignment = bswap_32(alignment);
|
||||
target = bswap_32(target);
|
||||
width = bswap_32(width);
|
||||
height = bswap_32(height);
|
||||
depth = bswap_32(depth);
|
||||
format = bswap_32(format);
|
||||
type = bswap_32(type);
|
||||
}
|
||||
|
||||
return __glXImageSize(format, type, target, width, height, depth,
|
||||
image_height, row_length, skip_images,
|
||||
skip_rows, alignment);
|
||||
}
|
||||
|
||||
int
|
||||
__glXCompressedTexImage1DARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei imageSize = *(GLsizei *) (pc + 20);
|
||||
|
||||
if (swap) {
|
||||
imageSize = bswap_32(imageSize);
|
||||
}
|
||||
|
||||
return __GLX_PAD(imageSize);
|
||||
}
|
||||
|
||||
int
|
||||
__glXCompressedTexImage2DARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei imageSize = *(GLsizei *) (pc + 24);
|
||||
|
||||
if (swap) {
|
||||
imageSize = bswap_32(imageSize);
|
||||
}
|
||||
|
||||
return __GLX_PAD(imageSize);
|
||||
}
|
||||
|
||||
int
|
||||
__glXCompressedTexImage3DARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei imageSize = *(GLsizei *) (pc + 28);
|
||||
|
||||
if (swap) {
|
||||
imageSize = bswap_32(imageSize);
|
||||
}
|
||||
|
||||
return __GLX_PAD(imageSize);
|
||||
}
|
||||
|
||||
int
|
||||
__glXCompressedTexSubImage3DARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei imageSize = *(GLsizei *) (pc + 36);
|
||||
|
||||
if (swap) {
|
||||
imageSize = bswap_32(imageSize);
|
||||
}
|
||||
|
||||
return __GLX_PAD(imageSize);
|
||||
}
|
||||
|
||||
int
|
||||
__glXProgramStringARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei len = *(GLsizei *) (pc + 8);
|
||||
|
||||
if (swap) {
|
||||
len = bswap_32(len);
|
||||
}
|
||||
|
||||
return __GLX_PAD(len);
|
||||
}
|
||||
|
||||
int
|
||||
__glXDrawBuffersARBReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 0);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXPointParameterfvEXTReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLenum pname = *(GLenum *) (pc + 0);
|
||||
GLsizei compsize;
|
||||
|
||||
if (swap) {
|
||||
pname = bswap_32(pname);
|
||||
}
|
||||
|
||||
compsize = __glPointParameterfvEXT_size(pname);
|
||||
return __GLX_PAD((compsize * 4));
|
||||
}
|
||||
|
||||
int
|
||||
__glXProgramParameters4dvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLuint num = *(GLuint *) (pc + 8);
|
||||
|
||||
if (swap) {
|
||||
num = bswap_32(num);
|
||||
}
|
||||
|
||||
return __GLX_PAD((num * 32));
|
||||
}
|
||||
|
||||
int
|
||||
__glXProgramParameters4fvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLuint num = *(GLuint *) (pc + 8);
|
||||
|
||||
if (swap) {
|
||||
num = bswap_32(num);
|
||||
}
|
||||
|
||||
return __GLX_PAD((num * 16));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs1dvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 8));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs2dvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 16));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs3dvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 24));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs3fvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 12));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs3svNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 6));
|
||||
}
|
||||
|
||||
int
|
||||
__glXVertexAttribs4dvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei n = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
n = bswap_32(n);
|
||||
}
|
||||
|
||||
return __GLX_PAD((n * 32));
|
||||
}
|
||||
|
||||
int
|
||||
__glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap)
|
||||
{
|
||||
GLsizei len = *(GLsizei *) (pc + 4);
|
||||
|
||||
if (swap) {
|
||||
len = bswap_32(len);
|
||||
}
|
||||
|
||||
return __GLX_PAD(len);
|
||||
}
|
||||
|
||||
ALIAS(Fogiv, Fogfv)
|
||||
ALIAS(Lightiv, Lightfv)
|
||||
ALIAS(LightModeliv, LightModelfv)
|
||||
ALIAS(Materialiv, Materialfv)
|
||||
ALIAS(TexParameteriv, TexParameterfv)
|
||||
ALIAS(TexEnviv, TexEnvfv)
|
||||
ALIAS(TexGeniv, TexGenfv)
|
||||
ALIAS(PixelMapuiv, PixelMapfv)
|
||||
ALIAS(ColorTableParameteriv, ColorTableParameterfv)
|
||||
ALIAS(ConvolutionParameteriv, ConvolutionParameterfv)
|
||||
ALIAS(CompressedTexSubImage1DARB, CompressedTexImage1DARB)
|
||||
ALIAS(CompressedTexSubImage2DARB, CompressedTexImage3DARB)
|
||||
ALIAS(LoadProgramNV, ProgramStringARB)
|
||||
ALIAS(RequestResidentProgramsNV, DrawBuffersARB)
|
||||
ALIAS(VertexAttribs1fvNV, PixelMapfv)
|
||||
ALIAS(VertexAttribs1svNV, PixelMapusv)
|
||||
ALIAS(VertexAttribs2fvNV, VertexAttribs1dvNV)
|
||||
ALIAS(VertexAttribs2svNV, PixelMapfv)
|
||||
ALIAS(VertexAttribs4fvNV, VertexAttribs2dvNV)
|
||||
ALIAS(VertexAttribs4svNV, VertexAttribs1dvNV)
|
||||
ALIAS(VertexAttribs4ubvNV, PixelMapfv)
|
||||
ALIAS(PointParameterivNV, PointParameterfvEXT)
|
||||
ALIAS(ProgramNamedParameter4dvNV, CompressedTexSubImage3DARB)
|
||||
ALIAS(DeleteFramebuffersEXT, DrawBuffersARB)
|
||||
ALIAS(DeleteRenderbuffersEXT, DrawBuffersARB)
|
121
glx/indirect_reqsize.h
Normal file
121
glx/indirect_reqsize.h
Normal file
|
@ -0,0 +1,121 @@
|
|||
/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corporation 2005
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#if !defined( _INDIRECT_REQSIZE_H_ )
|
||||
# define _INDIRECT_REQSIZE_H_
|
||||
|
||||
# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
|
||||
# define HIDDEN __attribute__((visibility("hidden")))
|
||||
# else
|
||||
# define HIDDEN
|
||||
# endif
|
||||
|
||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define PURE __attribute__((pure))
|
||||
# else
|
||||
# define PURE
|
||||
# endif
|
||||
|
||||
extern PURE HIDDEN int __glXCallListsReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXBitmapReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXFogfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXFogivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXLightfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXLightivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXLightModelfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXLightModelivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMaterialfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMaterialivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPolygonStippleReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexParameterfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexParameterivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexImage1DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexImage2DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexEnvfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexEnvivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexGendvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexGenfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexGenivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMap1dReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMap1fReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMap2dReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXMap2fReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPixelMapfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPixelMapuivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPixelMapusvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXDrawPixelsReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXDrawArraysReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPrioritizeTexturesReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexSubImage1DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexSubImage2DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXColorTableReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXColorTableParameterfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXColorTableParameterivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXColorSubTableReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXConvolutionFilter1DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXConvolutionFilter2DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXConvolutionParameterfvReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXConvolutionParameterivReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXSeparableFilter2DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexImage3DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXTexSubImage3DReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexImage1DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexImage2DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexImage3DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexSubImage1DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexSubImage2DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXCompressedTexSubImage3DARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXProgramStringARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXDrawBuffersARBReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPointParameterfvEXTReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXLoadProgramNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXProgramParameters4dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXProgramParameters4fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXRequestResidentProgramsNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs1dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs1fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs1svNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs2dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs2fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs2svNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs3dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs3fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs3svNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs4dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs4fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs4svNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXVertexAttribs4ubvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXPointParameterivNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXProgramNamedParameter4dvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXProgramNamedParameter4fvNVReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXDeleteFramebuffersEXTReqSize(const GLbyte *pc, Bool swap);
|
||||
extern PURE HIDDEN int __glXDeleteRenderbuffersEXTReqSize(const GLbyte *pc, Bool swap);
|
||||
|
||||
# undef HIDDEN
|
||||
# undef PURE
|
||||
|
||||
#endif /* !defined( _INDIRECT_REQSIZE_H_ ) */
|
88
glx/indirect_size.h
Normal file
88
glx/indirect_size.h
Normal file
|
@ -0,0 +1,88 @@
|
|||
/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corporation 2004
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#if !defined( _INDIRECT_SIZE_H_ )
|
||||
# define _INDIRECT_SIZE_H_
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Prototypes for functions used to determine the number of data elements in
|
||||
* various GLX protocol messages.
|
||||
*
|
||||
* \author Ian Romanick <idr@us.ibm.com>
|
||||
*/
|
||||
|
||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define PURE __attribute__((pure))
|
||||
# else
|
||||
# define PURE
|
||||
# endif
|
||||
|
||||
# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
|
||||
# define FASTCALL __attribute__((fastcall))
|
||||
# else
|
||||
# define FASTCALL
|
||||
# endif
|
||||
|
||||
# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
|
||||
# define INTERNAL __attribute__((visibility("internal")))
|
||||
# else
|
||||
# define INTERNAL
|
||||
# endif
|
||||
|
||||
extern INTERNAL PURE FASTCALL GLint __glCallLists_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glFogfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glFogiv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glLightfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glLightiv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glLightModelfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glLightModeliv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMaterialfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMaterialiv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexEnvfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexEnviv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexGendv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexGenfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glTexGeniv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMap1d_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMap1f_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMap2d_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glMap2f_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glColorTableParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glColorTableParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glConvolutionParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glConvolutionParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glPointParameterfvEXT_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glPointParameterivNV_size(GLenum);
|
||||
|
||||
# undef PURE
|
||||
# undef FASTCALL
|
||||
# undef INTERNAL
|
||||
|
||||
#endif /* !defined( _INDIRECT_SIZE_H_ ) */
|
1210
glx/indirect_size_get.c
Normal file
1210
glx/indirect_size_get.c
Normal file
File diff suppressed because it is too large
Load Diff
102
glx/indirect_size_get.h
Normal file
102
glx/indirect_size_get.h
Normal file
|
@ -0,0 +1,102 @@
|
|||
/* DO NOT EDIT - This file generated automatically by glX_proto_size.py (from Mesa) script */
|
||||
|
||||
/*
|
||||
* (C) Copyright IBM Corporation 2004
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#if !defined( _INDIRECT_SIZE_GET_H_ )
|
||||
# define _INDIRECT_SIZE_GET_H_
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Prototypes for functions used to determine the number of data elements in
|
||||
* various GLX protocol messages.
|
||||
*
|
||||
* \author Ian Romanick <idr@us.ibm.com>
|
||||
*/
|
||||
|
||||
# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define PURE __attribute__((pure))
|
||||
# else
|
||||
# define PURE
|
||||
# endif
|
||||
|
||||
# if defined(__i386__) && defined(__GNUC__) && !defined(__CYGWIN__) && !defined(__MINGW32__)
|
||||
# define FASTCALL __attribute__((fastcall))
|
||||
# else
|
||||
# define FASTCALL
|
||||
# endif
|
||||
|
||||
# if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__)
|
||||
# define INTERNAL __attribute__((visibility("internal")))
|
||||
# else
|
||||
# define INTERNAL
|
||||
# endif
|
||||
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetBooleanv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetDoublev_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetFloatv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetIntegerv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetLightfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetLightiv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetMaterialfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetMaterialiv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexEnvfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexEnviv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexGendv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexGenfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexGeniv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexLevelParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetTexLevelParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetColorTableParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetColorTableParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint
|
||||
__glGetConvolutionParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint
|
||||
__glGetConvolutionParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetHistogramParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetHistogramParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetMinmaxParameterfv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetMinmaxParameteriv_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetProgramivARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribivARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectivARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetQueryObjectuivARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetQueryivARB_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetProgramivNV_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribdvNV_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribfvNV_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint __glGetVertexAttribivNV_size(GLenum);
|
||||
extern INTERNAL PURE FASTCALL GLint
|
||||
__glGetFramebufferAttachmentParameterivEXT_size(GLenum);
|
||||
|
||||
# undef PURE
|
||||
# undef FASTCALL
|
||||
# undef INTERNAL
|
||||
|
||||
#endif /* !defined( _INDIRECT_SIZE_GET_H_ ) */
|
1596
glx/indirect_table.c
Normal file
1596
glx/indirect_table.c
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -40,7 +40,7 @@
|
|||
** Stubs to satisfy miinitext.c references.
|
||||
*/
|
||||
typedef int __GLXprovider;
|
||||
__GLXprovider __glXMesaProvider;
|
||||
__GLXprovider __glXDRISWRastProvider;
|
||||
void GlxPushProvider(__GLXprovider *provider) { }
|
||||
|
||||
/*
|
||||
|
|
|
@ -58,6 +58,10 @@ ATI_LIBS = \
|
|||
$(DRI_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xati_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xati_LDADD = \
|
||||
$(ATI_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -20,6 +20,10 @@ CHIPS_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xchips_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xchips_LDADD = \
|
||||
$(CHIPS_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -85,5 +85,7 @@ Xephyr_DEPENDENCIES = \
|
|||
$(LIBXEPHYR_HOSTDRI) \
|
||||
@KDRIVE_LOCAL_LIBS@
|
||||
|
||||
Xephyr_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
||||
relink:
|
||||
rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
|
||||
|
|
|
@ -35,10 +35,10 @@
|
|||
#define _HAVE_XALLOC_DECLS
|
||||
#include "ephyrlog.h"
|
||||
#include <GL/glxproto.h>
|
||||
#include "GL/glx/glxserver.h"
|
||||
#include "GL/glx/indirect_table.h"
|
||||
#include "GL/glx/indirect_util.h"
|
||||
#include "GL/glx/unpack.h"
|
||||
#include "glx/glxserver.h"
|
||||
#include "glx/indirect_table.h"
|
||||
#include "glx/indirect_util.h"
|
||||
#include "glx/unpack.h"
|
||||
#include "hostx.h"
|
||||
|
||||
|
||||
|
|
|
@ -20,6 +20,10 @@ EPSON_LIBS = \
|
|||
libepson.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xepson_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xepson_LDADD = \
|
||||
$(EPSON_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -21,6 +21,8 @@ Xfake_LDADD = \
|
|||
@KDRIVE_LIBS@ \
|
||||
@XSERVER_LIBS@
|
||||
|
||||
Xfake_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
||||
Xfake_DEPENDENCIES = \
|
||||
libfake.a \
|
||||
@KDRIVE_LOCAL_LIBS@
|
||||
|
|
|
@ -22,6 +22,8 @@ Xfbdev_DEPENDENCIES = \
|
|||
libfbdev.a \
|
||||
$(KDRIVE_PURE_LIBS)
|
||||
|
||||
Xfbdev_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
||||
relink:
|
||||
rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
|
||||
endif
|
||||
|
|
|
@ -23,6 +23,10 @@ I810_LIBS = \
|
|||
libi810.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xi810_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xi810_LDADD = \
|
||||
$(I810_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -27,6 +27,10 @@ MACH64_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a
|
||||
|
||||
|
||||
if GLX
|
||||
Xmach64_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xmach64_LDADD = \
|
||||
$(MACH64_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -22,6 +22,10 @@ MGA_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xmga_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xmga_LDADD = \
|
||||
$(MGA_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -32,6 +32,10 @@ NEOMAGIC_LIBS = \
|
|||
${VESA_LIBS} \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xneomagic_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xneomagic_LDADD = \
|
||||
$(NEOMAGIC_LIBS) \
|
||||
@KDRIVE_LIBS@ \
|
||||
|
|
|
@ -23,6 +23,10 @@ NVIDIA_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xnvidia_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xnvidia_LDADD = \
|
||||
$(NVIDIA_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -21,6 +21,10 @@ PM2_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xpm2_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xpm2_LDADD = \
|
||||
$(PM2_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -20,6 +20,10 @@ R128_LIBS = \
|
|||
$(top_builddir)/hw/kdrive/vesa/libvesa.a \
|
||||
@KDRIVE_LIBS@
|
||||
|
||||
if GLX
|
||||
Xr128_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
endif
|
||||
|
||||
Xr128_LDADD = \
|
||||
$(R128_LIBS) \
|
||||
@KDRIVE_LIBS@
|
||||
|
|
|
@ -13,5 +13,7 @@ Xsdl_LDADD = \
|
|||
|
||||
Xsdl_DEPENDENCIES = @KDRIVE_LOCAL_LIBS@
|
||||
|
||||
Xsdl_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
|
||||
|
||||
relink:
|
||||
rm -f $(bin_PROGRAMS) && make $(bin_PROGRAMS)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user