Commit 9508a382 authored by Kaleb Keithley Keithley's avatar Kaleb Keithley Keithley
Browse files

Initial revision

parent ded6147b
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* $XFree86: xc/programs/Xserver/GL/glx/g_disptab_EXT.h,v 1.3 2001/03/21 16:29:35 dawes Exp $ */
/* DO NOT EDIT - THIS FILE IS AUTOMATICALLY GENERATED */
#ifndef _GLX_g_disptab_EXT_h_
#define _GLX_g_disptab_EXT_h_
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: This software was created using the
** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
** not been independently verified as being compliant with the OpenGL(R)
** version 1.2.1 Specification.
*/
extern int __glXDisp_AreTexturesResidentEXT(__GLXclientState*, GLbyte*);
extern int __glXDisp_DeleteTexturesEXT(__GLXclientState*, GLbyte*);
extern int __glXDisp_GenTexturesEXT(__GLXclientState*, GLbyte*);
extern int __glXDisp_IsTextureEXT(__GLXclientState*, GLbyte*);
extern void __glXDisp_ColorTable(GLbyte*);
extern void __glXDisp_ColorTableParameterfv(GLbyte*);
extern void __glXDisp_ColorTableParameteriv(GLbyte*);
extern void __glXDisp_CopyColorTable(GLbyte*);
extern void __glXDisp_BlendColor(GLbyte*);
extern void __glXDisp_BlendEquation(GLbyte*);
extern void __glXDisp_TexSubImage1D(GLbyte*);
extern void __glXDisp_TexSubImage2D(GLbyte*);
extern void __glXDisp_ConvolutionFilter1D(GLbyte*);
extern void __glXDisp_ConvolutionFilter2D(GLbyte*);
extern void __glXDisp_ConvolutionParameterf(GLbyte*);
extern void __glXDisp_ConvolutionParameterfv(GLbyte*);
extern void __glXDisp_ConvolutionParameteri(GLbyte*);
extern void __glXDisp_ConvolutionParameteriv(GLbyte*);
extern void __glXDisp_CopyConvolutionFilter1D(GLbyte*);
extern void __glXDisp_CopyConvolutionFilter2D(GLbyte*);
extern void __glXDisp_SeparableFilter2D(GLbyte*);
extern void __glXDisp_Histogram(GLbyte*);
extern void __glXDisp_Minmax(GLbyte*);
extern void __glXDisp_ResetHistogram(GLbyte*);
extern void __glXDisp_ResetMinmax(GLbyte*);
extern void __glXDisp_TexImage3D(GLbyte*);
extern void __glXDisp_TexSubImage3D(GLbyte*);
extern void __glXDisp_DrawArraysEXT(GLbyte*);
extern void __glXDisp_BindTexture(GLbyte*);
extern void __glXDisp_PrioritizeTextures(GLbyte*);
extern void __glXDisp_CopyTexImage1D(GLbyte*);
extern void __glXDisp_CopyTexImage2D(GLbyte*);
extern void __glXDisp_CopyTexSubImage1D(GLbyte*);
extern void __glXDisp_CopyTexSubImage2D(GLbyte*);
extern void __glXDisp_CopyTexSubImage3D(GLbyte*);
extern int __glXDispSwap_AreTexturesResidentEXT(__GLXclientState*, GLbyte*);
extern int __glXDispSwap_DeleteTexturesEXT(__GLXclientState*, GLbyte*);
extern int __glXDispSwap_GenTexturesEXT(__GLXclientState*, GLbyte*);
extern int __glXDispSwap_IsTextureEXT(__GLXclientState*, GLbyte*);
extern void __glXDispSwap_ColorTable(GLbyte*);
extern void __glXDispSwap_ColorTableParameterfv(GLbyte*);
extern void __glXDispSwap_ColorTableParameteriv(GLbyte*);
extern void __glXDispSwap_CopyColorTable(GLbyte*);
extern void __glXDispSwap_BlendColor(GLbyte*);
extern void __glXDispSwap_BlendEquation(GLbyte*);
extern void __glXDispSwap_TexSubImage1D(GLbyte*);
extern void __glXDispSwap_TexSubImage2D(GLbyte*);
extern void __glXDispSwap_ConvolutionFilter1D(GLbyte*);
extern void __glXDispSwap_ConvolutionFilter2D(GLbyte*);
extern void __glXDispSwap_ConvolutionParameterf(GLbyte*);
extern void __glXDispSwap_ConvolutionParameterfv(GLbyte*);
extern void __glXDispSwap_ConvolutionParameteri(GLbyte*);
extern void __glXDispSwap_ConvolutionParameteriv(GLbyte*);
extern void __glXDispSwap_CopyConvolutionFilter1D(GLbyte*);
extern void __glXDispSwap_CopyConvolutionFilter2D(GLbyte*);
extern void __glXDispSwap_SeparableFilter2D(GLbyte*);
extern void __glXDispSwap_Histogram(GLbyte*);
extern void __glXDispSwap_Minmax(GLbyte*);
extern void __glXDispSwap_ResetHistogram(GLbyte*);
extern void __glXDispSwap_ResetMinmax(GLbyte*);
extern void __glXDispSwap_TexImage3D(GLbyte*);
extern void __glXDispSwap_TexSubImage3D(GLbyte*);
extern void __glXDispSwap_DrawArraysEXT(GLbyte*);
extern void __glXDispSwap_BindTexture(GLbyte*);
extern void __glXDispSwap_PrioritizeTextures(GLbyte*);
extern void __glXDispSwap_CopyTexImage1D(GLbyte*);
extern void __glXDispSwap_CopyTexImage2D(GLbyte*);
extern void __glXDispSwap_CopyTexSubImage1D(GLbyte*);
extern void __glXDispSwap_CopyTexSubImage2D(GLbyte*);
extern void __glXDispSwap_CopyTexSubImage3D(GLbyte*);
#define __GLX_MIN_RENDER_OPCODE_EXT 2053
#define __GLX_MAX_RENDER_OPCODE_EXT 4123
#define __GLX_MIN_VENDPRIV_OPCODE_EXT 11
#define __GLX_MAX_VENDPRIV_OPCODE_EXT 14
#define __GLX_VENDPRIV_TABLE_SIZE_EXT 4
#define __GLX_RENDER_TABLE_SIZE_EXT 2071
extern __GLXdispatchRenderProcPtr __glXRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
extern __GLXdispatchVendorPrivProcPtr __glXVendorPrivTable_EXT[__GLX_VENDPRIV_TABLE_SIZE_EXT];
extern __GLXdispatchRenderProcPtr __glXSwapRenderTable_EXT[__GLX_RENDER_TABLE_SIZE_EXT];
extern __GLXdispatchVendorPrivProcPtr __glXSwapVendorPrivTable_EXT[__GLX_VENDPRIV_TABLE_SIZE_EXT];
#endif /* _GLX_g_disptab_EXT_h_ */
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/* $XFree86: xc/programs/Xserver/GL/glx/global.c,v 1.3 2001/03/21 16:29:35 dawes Exp $ */
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
**
*/
#define NEED_REPLIES
#include "glxserver.h"
/*
** The last context used by the server. It is the context that is current
** from the server's perspective.
*/
__GLXcontext *__glXLastContext;
/*
** X resources.
*/
RESTYPE __glXContextRes;
RESTYPE __glXClientRes;
RESTYPE __glXPixmapRes;
/*
** Error codes with the extension error base already added in.
*/
int __glXBadContext, __glXBadContextState, __glXBadDrawable, __glXBadPixmap;
int __glXBadContextTag, __glXBadCurrentWindow;
int __glXBadRenderRequest, __glXBadLargeRequest;
int __glXUnsupportedPrivateRequest;
/*
** Reply for most singles.
*/
xGLXSingleReply __glXReply;
/*
** A set of state for each client. The 0th one is unused because client
** indices start at 1, not 0.
*/
__GLXclientState *__glXClients[MAXCLIENTS+1];
/* $XFree86: xc/programs/Xserver/GL/glx/glxbuf.c,v 1.7 2001/10/31 22:50:26 tsi Exp $ */
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
**
*/
#include "glxserver.h"
#include "glxutil.h"
#include "glxbuf.h"
#include "glxfb.h"
#include "glxmem.h"
#include "glxpix.h"
void
__glXFBInitDrawable(__GLXdrawablePrivate *glxPriv, __GLcontextModes *modes)
{
__GLdrawablePrivate *glPriv;
GLint rgbBits;
GLint accumBits;
glPriv = &glxPriv->glPriv;
rgbBits = modes->rgbBits;
accumBits = modes->accumRedBits + modes->accumGreenBits +
modes->accumBlueBits + modes->accumAlphaBits;
#if defined(__GL_ALIGNED_BUFFERS)
/* initialize pixel alignments (for more details see context.h) */
glPriv->xAlignment = 1;
glPriv->yAlignment = 1;
#endif
glxPriv->swapBuffers = __glXFBMemSwapBuffers;
glPriv->yInverted = GL_TRUE; /* Y is upside-down */
if (modes->doubleBufferMode) {
if (modes->colorIndexMode) {
__glXInitFB(&glPriv->frontBuffer, glPriv, modes->indexBits);
__glXInitMem(&glPriv->backBuffer, glPriv, modes->indexBits);
} else {
__glXInitFB(&glPriv->frontBuffer, glPriv, rgbBits);
__glXInitMem(&glPriv->backBuffer, glPriv, rgbBits);
}
} else {
if (modes->colorIndexMode) {
__glXInitFB(&glPriv->frontBuffer, glPriv, modes->indexBits);
} else {
__glXInitFB(&glPriv->frontBuffer, glPriv, rgbBits);
}
}
#if defined(__GL_MAX_AUXBUFFERS) && (__GL_MAX_AUXBUFFERS > 0)
if (modes->maxAuxBuffers > 0) {
GLint i;
for (i=0; i < modes->maxAuxBuffers; i++) {
if (modes->colorIndexMode) {
__glXInitMem(&glPriv->auxBuffer[i], glPriv, modes->indexBits);
} else {
__glXInitMem(&glPriv->auxBuffer[i], glPriv, rgbBits);
}
}
}
#endif
if (modes->haveAccumBuffer) {
__glXInitMem(&glPriv->accumBuffer, glPriv, accumBits);
}
if (modes->haveDepthBuffer) {
__glXInitMem(&glPriv->depthBuffer, glPriv, modes->depthBits);
}
if (modes->haveStencilBuffer) {
__glXInitMem(&glPriv->stencilBuffer, glPriv, modes->stencilBits);
}
}
void
__glXPixInitDrawable(__GLXdrawablePrivate *glxPriv, __GLcontextModes *modes)
{
__GLdrawablePrivate *glPriv;
GLint rgbBits;
GLint accumBits;
assert(glxPriv->pGlxPixmap);
glPriv = &glxPriv->glPriv;
rgbBits = modes->rgbBits;
accumBits = modes->accumRedBits + modes->accumGreenBits +
modes->accumBlueBits + modes->accumAlphaBits;
#if defined(__GL_ALIGNED_BUFFERS)
/* initialize pixel alignments (for more details see context.h) */
glPriv->xAlignment = 1;
glPriv->yAlignment = 1;
#endif
glxPriv->swapBuffers = (GLboolean (*)(__GLXdrawablePrivate *))__glXNop;
glPriv->yInverted = GL_FALSE;
if (modes->doubleBufferMode) {
if (modes->colorIndexMode) {
__glXInitPix(&glPriv->frontBuffer, glPriv, rgbBits,
glxPriv->drawId, glxPriv->pGlxPixmap);
__glXInitMem(&glPriv->backBuffer, glPriv, modes->indexBits);
} else {
__glXInitPix(&glPriv->frontBuffer, glPriv, rgbBits,
glxPriv->drawId, glxPriv->pGlxPixmap);
__glXInitMem(&glPriv->backBuffer, glPriv, rgbBits);
}
} else {
if (modes->colorIndexMode) {
__glXInitPix(&glPriv->frontBuffer, glPriv, rgbBits,
glxPriv->drawId, glxPriv->pGlxPixmap);
} else {
__glXInitPix(&glPriv->frontBuffer, glPriv, rgbBits,
glxPriv->drawId, glxPriv->pGlxPixmap);
}
}
#if defined(__GL_MAX_AUXBUFFERS) && (__GL_MAX_AUXBUFFERS > 0)
if (modes->maxAuxBuffers > 0) {
GLint i;
for (i=0; i < modes->maxAuxBuffers; i++) {
if (modes->colorIndexMode) {
__glXInitMem(&glPriv->auxBuffer[i], glPriv, modes->indexBits);
} else {
__glXInitMem(&glPriv->auxBuffer[i], glPriv, rgbBits);
}
}
}
#endif
if (modes->haveAccumBuffer) {
__glXInitMem(&glPriv->accumBuffer, glPriv, accumBits);
}
if (modes->haveDepthBuffer) {
__glXInitMem(&glPriv->depthBuffer, glPriv, modes->depthBits);
}
if (modes->haveStencilBuffer) {
__glXInitMem(&glPriv->stencilBuffer, glPriv, modes->stencilBits);
}
}
#define __GLX_SET_ACCEL_BUFFER_MASK(bm) \
if (status == GL_FALSE) return GL_FALSE; \
if (status == GL_TRUE) accelBufferMask |= bm; \
/* for __GL_BUFFER_FALLBACK don't do anything */
GLboolean
__glXResizeBuffers(__GLdrawablePrivate *glPriv,
GLint x, GLint y, GLuint width, GLuint height)
{
__GLcontextModes *modes;
__GLdrawableRegion *glRegion;
GLboolean status;
GLuint accelBufferMask;
modes = glPriv->modes;
accelBufferMask = 0;
status = (*glPriv->frontBuffer.resize)(&glPriv->frontBuffer,
x, y, width, height, glPriv,
__GL_FRONT_BUFFER_MASK);
__GLX_SET_ACCEL_BUFFER_MASK(__GL_FRONT_BUFFER_MASK);
if (modes->doubleBufferMode) {
status = (*glPriv->backBuffer.resize)(&glPriv->backBuffer,
x, y, width, height, glPriv,
__GL_BACK_BUFFER_MASK);
__GLX_SET_ACCEL_BUFFER_MASK(__GL_BACK_BUFFER_MASK);
}
#if defined(__GL_MAX_AUXBUFFERS) && (__GL_MAX_AUXBUFFERS > 0)
if (modes->maxAuxBuffers > 0) {
GLint i;
for (i=0; i < modes->maxAuxBuffers; i++) {
status = (*glPriv->auxBuffers[i].resize)(&glPriv->auxBuffer[i],
x, y, width, height,
glPriv,
__GL_AUX_BUFFER_MASK(i));
__GLX_SET_ACCEL_BUFFER_MASK(__GL_AUX_BUFFER_MASK(i));
}
}
#endif
if (modes->haveAccumBuffer) {
status = (*glPriv->accumBuffer.resize)(&glPriv->accumBuffer,
x, y, width, height, glPriv,
__GL_ACCUM_BUFFER_MASK);
__GLX_SET_ACCEL_BUFFER_MASK(__GL_ACCUM_BUFFER_MASK);
}
if (modes->haveDepthBuffer) {
status = (*glPriv->depthBuffer.resize)(&glPriv->depthBuffer,
x, y, width, height, glPriv,
__GL_DEPTH_BUFFER_MASK);
__GLX_SET_ACCEL_BUFFER_MASK(__GL_DEPTH_BUFFER_MASK);
}
if (modes->haveStencilBuffer) {
status = (*glPriv->stencilBuffer.resize)(&glPriv->stencilBuffer,
x, y, width, height, glPriv,
__GL_STENCIL_BUFFER_MASK);
__GLX_SET_ACCEL_BUFFER_MASK(__GL_STENCIL_BUFFER_MASK);
}
glPriv->accelBufferMask = accelBufferMask;
/* finally, update the ownership region */
glRegion = &glPriv->ownershipRegion;
glRegion->numRects = 1;
glRegion->rects[0].x0 = 0;
glRegion->rects[0].y0 = 0;
glRegion->rects[0].x1 = width;
glRegion->rects[0].y1 = height;
return GL_TRUE;
}
void
__glXFreeBuffers(__GLXdrawablePrivate *glxPriv)
{
__GLdrawablePrivate *glPriv = &glxPriv->glPriv;
#if defined(__GL_MAX_AUXBUFFERS) && (__GL_MAX_AUXBUFFERS > 0)
__GLcontextModes *modes = glPriv->modes;
#endif
if (glPriv->frontBuffer.free) {
(*glPriv->frontBuffer.free)(&glPriv->frontBuffer, glPriv);
}
if (glPriv->backBuffer.free) {
(*glPriv->backBuffer.free)(&glPriv->backBuffer, glPriv);
}
#if defined(__GL_MAX_AUXBUFFERS) && (__GL_MAX_AUXBUFFERS > 0)
if (modes->maxAuxBuffers > 0) {
GLint i;
for (i=0; i < modes->maxAuxBuffers; i++) {
if (glPriv->auxBuffer[i].free) {
(*glPriv->auxBuffer[i].free)(&glPriv->auxBuffer[i], glPriv);
}
}
}
#endif
if (glPriv->accumBuffer.free) {
(*glPriv->accumBuffer.free)(&glPriv->accumBuffer, glPriv);
}
if (glPriv->depthBuffer.free) {
(*glPriv->depthBuffer.free)(&glPriv->depthBuffer, glPriv);
}
if (glPriv->stencilBuffer.free) {
(*glPriv->stencilBuffer.free)(&glPriv->stencilBuffer, glPriv);
}
}
/* $XFree86: xc/programs/Xserver/GL/glx/glxbuf.h,v 1.3 2001/03/21 16:29:36 dawes Exp $ */
#ifndef _glxbuf_h_
#define _glxbuf_h_
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
**
*/
extern void __glXFBInitDrawable(__GLXdrawablePrivate *glxPriv,
__GLcontextModes *modes);
extern void __glXPixInitDrawable(__GLXdrawablePrivate *glxPriv,
__GLcontextModes *modes);
extern GLboolean __glXResizeBuffers(__GLdrawablePrivate *glPriv,
GLint x, GLint y,
GLuint width, GLuint height);
extern void __glXFreeBuffers(__GLXdrawablePrivate *glxPriv);
extern void __glXUpdatePalette(__GLXdrawablePrivate *);
#endif /* _glxbuf_h_ */
This diff is collapsed.
This diff is collapsed.
/* $XFree86: xc/programs/Xserver/GL/glx/glxcontext.h,v 1.4 2002/02/22 21:45:07 dawes Exp $ */
#ifndef _GLX_context_h_
#define _GLX_context_h_
/*
** License Applicability. Except to the extent portions of this file are
** made subject to an alternative license as permitted in the SGI Free
** Software License B, Version 1.1 (the "License"), the contents of this
** file are subject only to the provisions of the License. You may not use
** this file except in compliance with the License. You may obtain a copy
** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
**
** http://oss.sgi.com/projects/FreeB
**
** Note that, as provided in the License, the Software is distributed on an
** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
**
** Original Code. The Original Code is: OpenGL Sample Implementation,
** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
** Copyright in any portions created by third parties is as indicated
** elsewhere herein. All Rights Reserved.
**
** Additional Notice Provisions: The application programming interfaces
** established by SGI in conjunction with the Original Code are The
** OpenGL(R) Graphics System: A Specification (Version 1.2.1), released
** April 1, 1999; The OpenGL(R) Graphics System Utility Library (Version
** 1.3), released November 4, 1998; and OpenGL(R) Graphics with the X
** Window System(R) (Version 1.3), released October 19, 1998. This software
** was created using the OpenGL(R) version 1.2.1 Sample Implementation
** published by SGI, but has not been independently verified as being
** compliant with the OpenGL(R) version 1.2.1 Specification.
**
*/
typedef struct __GLXcontextRec __GLXcontext;
/* XXX: should be defined somewhere globally */
#define CAPI
#include "GL/internal/glcore.h"
struct __GLXcontextRec {
/*
** list of context structs
*/
struct __GLXcontextRec *last;
struct __GLXcontextRec *next;
/*
** list of contexts bound to the same drawable
*/
struct __GLXcontextRec *nextPriv;
/*
** Opaque pointer the context object created by the GL that the
** server is bound with. Never dereferenced by this code, but used
** as a handle to feed to the routines in the screen info struct.
*/
__GLinterface *gc;
/*
** mode struct for this context
*/
__GLcontextModes *modes;