diff options
Diffstat (limited to 'xorg-server/glx/glxcontext.h')
-rw-r--r-- | xorg-server/glx/glxcontext.h | 264 |
1 files changed, 131 insertions, 133 deletions
diff --git a/xorg-server/glx/glxcontext.h b/xorg-server/glx/glxcontext.h index da0fc18fb..052db81c5 100644 --- a/xorg-server/glx/glxcontext.h +++ b/xorg-server/glx/glxcontext.h @@ -1,133 +1,131 @@ -#ifdef HAVE_DIX_CONFIG_H -#include <dix-config.h> -#endif - -#ifndef _GLX_context_h_ -#define _GLX_context_h_ - -/* - * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) - * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice including the dates of first publication and - * either this permission notice or a reference to - * http://oss.sgi.com/projects/FreeB/ - * shall be included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF - * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * Except as contained in this notice, the name of Silicon Graphics, Inc. - * shall not be used in advertising or otherwise to promote the sale, use or - * other dealings in this Software without prior written authorization from - * Silicon Graphics, Inc. - */ - -typedef struct __GLXtextureFromPixmap __GLXtextureFromPixmap; -struct __GLXtextureFromPixmap { - int (*bindTexImage) (struct glx_context *baseContext, - int buffer, - __GLXdrawable *pixmap); - int (*releaseTexImage) (struct glx_context *baseContext, - int buffer, - __GLXdrawable *pixmap); -}; - - -struct glx_context { - void (*destroy) (struct glx_context *context); - int (*makeCurrent) (struct glx_context *context); - int (*loseCurrent) (struct glx_context *context); - int (*copy) (struct glx_context *dst, - struct glx_context *src, - unsigned long mask); - int (*forceCurrent) (struct glx_context *context); - - Bool (*wait) (struct glx_context *context, - __GLXclientState *cl, - int *error); - - __GLXtextureFromPixmap *textureFromPixmap; - - /* - ** list of context structs - */ - struct glx_context *last; - struct glx_context *next; - - /* - ** config struct for this context - */ - __GLXconfig *config; - - /* - ** Pointer to screen info data for this context. This is set - ** when the context is created. - */ - __GLXscreen *pGlxScreen; - - /* - ** The XID of this context. - */ - XID id; - - /* - ** The XID of the shareList context. - */ - XID share_id; - - /* - ** Whether this context's ID still exists. - */ - GLboolean idExists; - - /* - ** Whether this context is current for some client. - */ - GLboolean isCurrent; - - /* - ** Whether this context is a direct rendering context. - */ - GLboolean isDirect; - - /* - ** This flag keeps track of whether there are unflushed GL commands. - */ - GLboolean hasUnflushedCommands; - - /* - ** Current rendering mode for this context. - */ - GLenum renderMode; - - /* - ** Buffers for feedback and selection. - */ - GLfloat *feedbackBuf; - GLint feedbackBufSize; /* number of elements allocated */ - GLuint *selectBuf; - GLint selectBufSize; /* number of elements allocated */ - - /* - ** The drawable private this context is bound to - */ - __GLXdrawable *drawPriv; - __GLXdrawable *readPriv; -}; - -void __glXContextDestroy(struct glx_context *context); - -#endif /* !__GLX_context_h__ */ +#ifdef HAVE_DIX_CONFIG_H
+#include <dix-config.h>
+#endif
+
+#ifndef _GLX_context_h_
+#define _GLX_context_h_
+
+/*
+ * SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008)
+ * Copyright (C) 1991-2000 Silicon Graphics, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice including the dates of first publication and
+ * either this permission notice or a reference to
+ * http://oss.sgi.com/projects/FreeB/
+ * shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * Except as contained in this notice, the name of Silicon Graphics, Inc.
+ * shall not be used in advertising or otherwise to promote the sale, use or
+ * other dealings in this Software without prior written authorization from
+ * Silicon Graphics, Inc.
+ */
+
+typedef struct __GLXtextureFromPixmap __GLXtextureFromPixmap;
+struct __GLXtextureFromPixmap {
+ int (*bindTexImage) (__GLXcontext *baseContext,
+ int buffer,
+ __GLXdrawable *pixmap);
+ int (*releaseTexImage) (__GLXcontext *baseContext,
+ int buffer,
+ __GLXdrawable *pixmap);
+};
+
+
+struct __GLXcontext {
+ void (*destroy) (__GLXcontext *context);
+ int (*makeCurrent) (__GLXcontext *context);
+ int (*loseCurrent) (__GLXcontext *context);
+ int (*copy) (__GLXcontext *dst,
+ __GLXcontext *src,
+ unsigned long mask);
+ Bool (*wait) (__GLXcontext *context,
+ __GLXclientState *cl,
+ int *error);
+
+ __GLXtextureFromPixmap *textureFromPixmap;
+
+ /*
+ ** list of context structs
+ */
+ __GLXcontext *last;
+ __GLXcontext *next;
+
+ /*
+ ** config struct for this context
+ */
+ __GLXconfig *config;
+
+ /*
+ ** Pointer to screen info data for this context. This is set
+ ** when the context is created.
+ */
+ __GLXscreen *pGlxScreen;
+
+ /*
+ ** The XID of this context.
+ */
+ XID id;
+
+ /*
+ ** The XID of the shareList context.
+ */
+ XID share_id;
+
+ /*
+ ** Whether this context's ID still exists.
+ */
+ GLboolean idExists;
+
+ /*
+ ** Whether this context is current for some client.
+ */
+ GLboolean isCurrent;
+
+ /*
+ ** Whether this context is a direct rendering context.
+ */
+ GLboolean isDirect;
+
+ /*
+ ** This flag keeps track of whether there are unflushed GL commands.
+ */
+ GLboolean hasUnflushedCommands;
+
+ /*
+ ** Current rendering mode for this context.
+ */
+ GLenum renderMode;
+
+ /*
+ ** Buffers for feedback and selection.
+ */
+ GLfloat *feedbackBuf;
+ GLint feedbackBufSize; /* number of elements allocated */
+ GLuint *selectBuf;
+ GLint selectBufSize; /* number of elements allocated */
+
+ /*
+ ** The drawable private this context is bound to
+ */
+ __GLXdrawable *drawPriv;
+ __GLXdrawable *readPriv;
+};
+
+void __glXContextDestroy(__GLXcontext *context);
+
+#endif /* !__GLX_context_h__ */
|