regal/include/GL/RegalGLX.h
2014-02-08 10:33:34 -06:00

3065 lines
135 KiB
C

/* NOTE: Do not edit this file, it is generated by a script:
Export.py --api gl 4.4 --api wgl 4.4 --api glx 4.4 --api cgl 1.4 --api egl 1.0 --outdir .
*/
/*
Copyright (c) 2011-2013 NVIDIA Corporation
Copyright (c) 2011-2013 Cass Everitt
Copyright (c) 2012-2013 Scott Nations
Copyright (c) 2012 Mathias Schott
Copyright (c) 2012-2013 Nigel Stewart
Copyright (c) 2012-2013 Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
Intended formatting conventions:
$ astyle --style=allman --indent=spaces=2 --indent-switches
*/
#include <GL/Regal.h>
#ifndef __REGAL_GLX_H__
#define __REGAL_GLX_H__
#include <stddef.h>
#include <stdint.h>
#if REGAL_SYS_GLX
typedef unsigned long XID;
typedef struct _XDisplay Display;
typedef XID Font;
typedef struct __GLXcontextRec * GLXContext;
typedef XID GLXContextID;
typedef XID GLXDrawable;
typedef struct __GLXFBConfigRec * GLXFBConfig;
typedef XID GLXFBConfigID;
typedef XID GLXFBConfigIDSGIX;
typedef struct __GLXFBConfigRec * GLXFBConfigSGIX;
typedef XID GLXPbuffer;
typedef XID GLXPbufferSGIX;
typedef XID GLXPixmap;
typedef XID GLXVideoCaptureDeviceNV;
typedef unsigned int GLXVideoDeviceNV;
typedef XID GLXWindow;
typedef XID Pixmap;
#endif // REGAL_SYS_GLX
#ifdef __cplusplus
extern "C" {
#endif
#if REGAL_SYS_GLX
/**
** GLX_3DFX_multisample
**/
#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE)
#define REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE
#endif
#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE)
#define REGAL_NO_TYPEDEF_GLX_3DFX_MULTISAMPLE
#endif
#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE)
#define REGAL_NO_NAMESPACE_GLX_3DFX_MULTISAMPLE
#endif
#if (defined(GLX_3DFX_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE)
#define REGAL_NO_PLUGIN_GLX_3DFX_MULTISAMPLE
#endif
#if (defined(GLX_3DFX_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_3DFX_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE)
#define REGAL_NO_DECLARATION_GLX_3DFX_MULTISAMPLE
#endif
#ifndef GLX_3DFX_multisample
#define GLX_3DFX_multisample 1
#endif
#ifndef REGAL_NO_ENUM_GLX_3DFX_MULTISAMPLE
#define GLX_SAMPLE_BUFFERS_3DFX 0x8050 /* 32848 */
#define GLX_SAMPLES_3DFX 0x8051 /* 32849 */
#endif
/**
** GLX_AMD_gpu_association
**/
#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION)
#define REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION
#endif
#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION)
#define REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION
#endif
#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION)
#define REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION
#endif
#if (defined(GLX_AMD_GPU_ASSOCIATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION)
#define REGAL_NO_PLUGIN_GLX_AMD_GPU_ASSOCIATION
#endif
#if (defined(GLX_AMD_GPU_ASSOCIATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_AMD_GPU_ASSOCIATION)) && !defined(REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION)
#define REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION
#endif
#ifndef GLX_AMD_gpu_association
#define GLX_AMD_gpu_association 1
#endif
#ifndef REGAL_NO_ENUM_GLX_AMD_GPU_ASSOCIATION
#define GLX_GPU_VENDOR_AMD 0x1f00 /* 7936 */
#define GLX_GPU_RENDERER_STRING_AMD 0x1f01 /* 7937 */
#define GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1f02 /* 7938 */
#define GLX_GPU_FASTEST_TARGET_GPUS_AMD 0x21a2 /* 8610 */
#define GLX_GPU_RAM_AMD 0x21a3 /* 8611 */
#define GLX_GPU_CLOCK_AMD 0x21a4 /* 8612 */
#define GLX_GPU_NUM_PIPES_AMD 0x21a5 /* 8613 */
#define GLX_GPU_NUM_SIMD_AMD 0x21a6 /* 8614 */
#define GLX_GPU_NUM_RB_AMD 0x21a7 /* 8615 */
#define GLX_GPU_NUM_SPI_AMD 0x21a8 /* 8616 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_AMD_GPU_ASSOCIATION
typedef Bool (REGAL_CALL *PFNGLXDELETEASSOCIATEDCONTEXTAMDPROC)(GLXContext ctx);
typedef Bool (REGAL_CALL *PFNGLXMAKEASSOCIATEDCONTEXTCURRENTAMDPROC)(GLXContext ctx);
typedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTAMDPROC)(unsigned int id, GLXContext share_list);
typedef GLXContext (REGAL_CALL *PFNGLXCREATEASSOCIATEDCONTEXTATTRIBSAMDPROC)(unsigned int id, GLXContext share_context, const int *attribList);
typedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTASSOCIATEDCONTEXTAMDPROC)(void);
typedef int (REGAL_CALL *PFNGLXGETGPUINFOAMDPROC)(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);
typedef unsigned int (REGAL_CALL *PFNGLXGETCONTEXTGPUIDAMDPROC)(GLXContext ctx);
typedef unsigned int (REGAL_CALL *PFNGLXGETGPUIDSAMDPROC)(unsigned int maxCount, unsigned int *ids);
typedef void (REGAL_CALL *PFNGLXBLITCONTEXTFRAMEBUFFERAMDPROC)(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_AMD_GPU_ASSOCIATION
#define glXBlitContextFramebufferAMD rglXBlitContextFramebufferAMD
#define glXCreateAssociatedContextAMD rglXCreateAssociatedContextAMD
#define glXCreateAssociatedContextAttribsAMD rglXCreateAssociatedContextAttribsAMD
#define glXDeleteAssociatedContextAMD rglXDeleteAssociatedContextAMD
#define glXGetContextGPUIDAMD rglXGetContextGPUIDAMD
#define glXGetCurrentAssociatedContextAMD rglXGetCurrentAssociatedContextAMD
#define glXGetGPUIDsAMD rglXGetGPUIDsAMD
#define glXGetGPUInfoAMD rglXGetGPUInfoAMD
#define glXMakeAssociatedContextCurrentAMD rglXMakeAssociatedContextCurrentAMD
#endif
#ifndef REGAL_NO_DECLARATION_GLX_AMD_GPU_ASSOCIATION
REGAL_DECL Bool REGAL_CALL glXDeleteAssociatedContextAMD(GLXContext ctx);
REGAL_DECL Bool REGAL_CALL glXMakeAssociatedContextCurrentAMD(GLXContext ctx);
REGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAMD(unsigned int id, GLXContext share_list);
REGAL_DECL GLXContext REGAL_CALL glXCreateAssociatedContextAttribsAMD(unsigned int id, GLXContext share_context, const int *attribList);
REGAL_DECL GLXContext REGAL_CALL glXGetCurrentAssociatedContextAMD(void);
REGAL_DECL int REGAL_CALL glXGetGPUInfoAMD(unsigned int id, int property, GLenum dataType, unsigned int size, GLvoid *data);
REGAL_DECL unsigned int REGAL_CALL glXGetContextGPUIDAMD(GLXContext ctx);
REGAL_DECL unsigned int REGAL_CALL glXGetGPUIDsAMD(unsigned int maxCount, unsigned int *ids);
REGAL_DECL void REGAL_CALL glXBlitContextFramebufferAMD(GLXContext dstCtx, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
#endif
/**
** GLX_ARB_create_context
**/
#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT)
#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT)
#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT)
#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT)
#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT)
#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT
#endif
#ifndef GLX_ARB_create_context
#define GLX_ARB_create_context 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT
#define GLX_CONTEXT_DEBUG_BIT_ARB 0x1
#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x2
#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 /* 8337 */
#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 /* 8338 */
#define GLX_CONTEXT_FLAGS_ARB 0x2094 /* 8340 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT
typedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT
#define glXCreateContextAttribsARB rglXCreateContextAttribsARB
#endif
#ifndef REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT
REGAL_DECL GLXContext REGAL_CALL glXCreateContextAttribsARB(Display *dpy, GLXFBConfig config, GLXContext share_context, Bool direct, const int *attrib_list);
#endif
/**
** GLX_ARB_create_context_profile
**/
#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE)
#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE)
#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_PROFILE
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE)
#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_PROFILE
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE)
#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_PROFILE
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE)
#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_PROFILE
#endif
#ifndef GLX_ARB_create_context_profile
#define GLX_ARB_create_context_profile 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_PROFILE
#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x1
#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x2
#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126 /* 37158 */
#endif
/**
** GLX_ARB_create_context_robustness
**/
#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)
#define REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)
#define REGAL_NO_TYPEDEF_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)
#define REGAL_NO_NAMESPACE_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)
#define REGAL_NO_PLUGIN_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#endif
#if (defined(GLX_ARB_CREATE_CONTEXT_ROBUSTNESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS)
#define REGAL_NO_DECLARATION_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#endif
#ifndef GLX_ARB_create_context_robustness
#define GLX_ARB_create_context_robustness 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_CREATE_CONTEXT_ROBUSTNESS
#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x4
#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252 /* 33362 */
#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256 /* 33366 */
#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261 /* 33377 */
#endif
/**
** GLX_ARB_fbconfig_float
**/
#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT)
#define REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT
#endif
#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT)
#define REGAL_NO_TYPEDEF_GLX_ARB_FBCONFIG_FLOAT
#endif
#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT)
#define REGAL_NO_NAMESPACE_GLX_ARB_FBCONFIG_FLOAT
#endif
#if (defined(GLX_ARB_FBCONFIG_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT)
#define REGAL_NO_PLUGIN_GLX_ARB_FBCONFIG_FLOAT
#endif
#if (defined(GLX_ARB_FBCONFIG_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FBCONFIG_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT)
#define REGAL_NO_DECLARATION_GLX_ARB_FBCONFIG_FLOAT
#endif
#ifndef GLX_ARB_fbconfig_float
#define GLX_ARB_fbconfig_float 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_FBCONFIG_FLOAT
#define GLX_RGBA_FLOAT_TYPE 0x20b9 /* 8377 */
#define GLX_RGBA_FLOAT_BIT 0x4
#endif
/**
** GLX_ARB_framebuffer_sRGB
**/
#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB)
#define REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB)
#define REGAL_NO_TYPEDEF_GLX_ARB_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB)
#define REGAL_NO_NAMESPACE_GLX_ARB_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB)
#define REGAL_NO_PLUGIN_GLX_ARB_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_ARB_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB)
#define REGAL_NO_DECLARATION_GLX_ARB_FRAMEBUFFER_SRGB
#endif
#ifndef GLX_ARB_framebuffer_sRGB
#define GLX_ARB_framebuffer_sRGB 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_FRAMEBUFFER_SRGB
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20b2 /* 8370 */
#endif
/**
** GLX_ARB_get_proc_address
**/
#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS)
#define REGAL_NO_ENUM_GLX_ARB_GET_PROC_ADDRESS
#endif
#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS)
#define REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS
#endif
#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS)
#define REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS
#endif
#if (defined(GLX_ARB_GET_PROC_ADDRESS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS)
#define REGAL_NO_PLUGIN_GLX_ARB_GET_PROC_ADDRESS
#endif
#if (defined(GLX_ARB_GET_PROC_ADDRESS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_GET_PROC_ADDRESS)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS)
#define REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS
#endif
#ifndef GLX_ARB_get_proc_address
#define GLX_ARB_get_proc_address 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_ARB_GET_PROC_ADDRESS
typedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSARBPROC)(const GLubyte *procName);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_ARB_GET_PROC_ADDRESS
#define glXGetProcAddressARB rglXGetProcAddressARB
#endif
#ifndef REGAL_NO_DECLARATION_GLX_ARB_GET_PROC_ADDRESS
REGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddressARB(const GLubyte *procName);
#endif
/**
** GLX_ARB_multisample
**/
#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE)
#define REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE
#endif
#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE)
#define REGAL_NO_TYPEDEF_GLX_ARB_MULTISAMPLE
#endif
#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE)
#define REGAL_NO_NAMESPACE_GLX_ARB_MULTISAMPLE
#endif
#if (defined(GLX_ARB_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE)
#define REGAL_NO_PLUGIN_GLX_ARB_MULTISAMPLE
#endif
#if (defined(GLX_ARB_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE)
#define REGAL_NO_DECLARATION_GLX_ARB_MULTISAMPLE
#endif
#ifndef GLX_ARB_multisample
#define GLX_ARB_multisample 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_MULTISAMPLE
#define GLX_SAMPLE_BUFFERS_ARB 0x186a0 /* 100000 */
#define GLX_SAMPLES_ARB 0x186a1 /* 100001 */
#endif
/**
** GLX_ARB_robustness_share_group_isolation
**/
#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)
#define REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#endif
#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)
#define REGAL_NO_TYPEDEF_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#endif
#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)
#define REGAL_NO_NAMESPACE_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#endif
#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)
#define REGAL_NO_PLUGIN_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#endif
#if (defined(GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION)
#define REGAL_NO_DECLARATION_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#endif
#ifndef GLX_ARB_robustness_share_group_isolation
#define GLX_ARB_robustness_share_group_isolation 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_ROBUSTNESS_SHARE_GROUP_ISOLATION
#define GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 0x8
#endif
/**
** GLX_ARB_vertex_buffer_object
**/
#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT)
#define REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT
#endif
#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT)
#define REGAL_NO_TYPEDEF_GLX_ARB_VERTEX_BUFFER_OBJECT
#endif
#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT)
#define REGAL_NO_NAMESPACE_GLX_ARB_VERTEX_BUFFER_OBJECT
#endif
#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT)
#define REGAL_NO_PLUGIN_GLX_ARB_VERTEX_BUFFER_OBJECT
#endif
#if (defined(GLX_ARB_VERTEX_BUFFER_OBJECT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ARB_VERTEX_BUFFER_OBJECT)) && !defined(REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT)
#define REGAL_NO_DECLARATION_GLX_ARB_VERTEX_BUFFER_OBJECT
#endif
#ifndef GLX_ARB_vertex_buffer_object
#define GLX_ARB_vertex_buffer_object 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ARB_VERTEX_BUFFER_OBJECT
#define GLX_CONTEXT_ALLOW_BUFFER_BYTE_ORDER_MISMATCH_ARB 0x2095 /* 8341 */
#endif
/**
** GLX_ATI_pixel_format_float
**/
#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT)
#define REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT
#endif
#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT)
#define REGAL_NO_TYPEDEF_GLX_ATI_PIXEL_FORMAT_FLOAT
#endif
#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT)
#define REGAL_NO_NAMESPACE_GLX_ATI_PIXEL_FORMAT_FLOAT
#endif
#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT)
#define REGAL_NO_PLUGIN_GLX_ATI_PIXEL_FORMAT_FLOAT
#endif
#if (defined(GLX_ATI_PIXEL_FORMAT_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_PIXEL_FORMAT_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT)
#define REGAL_NO_DECLARATION_GLX_ATI_PIXEL_FORMAT_FLOAT
#endif
#ifndef GLX_ATI_pixel_format_float
#define GLX_ATI_pixel_format_float 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ATI_PIXEL_FORMAT_FLOAT
#define GLX_RGBA_FLOAT_ATI_BIT 0x100 /* 256 */
#endif
/**
** GLX_ATI_render_texture
**/
#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE)
#define REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE
#endif
#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE)
#define REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE
#endif
#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE)
#define REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE
#endif
#if (defined(GLX_ATI_RENDER_TEXTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE)
#define REGAL_NO_PLUGIN_GLX_ATI_RENDER_TEXTURE
#endif
#if (defined(GLX_ATI_RENDER_TEXTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_ATI_RENDER_TEXTURE)) && !defined(REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE)
#define REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE
#endif
#ifndef GLX_ATI_render_texture
#define GLX_ATI_render_texture 1
#endif
#ifndef REGAL_NO_ENUM_GLX_ATI_RENDER_TEXTURE
#define GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 /* 38912 */
#define GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 /* 38913 */
#define GLX_TEXTURE_FORMAT_ATI 0x9802 /* 38914 */
#define GLX_TEXTURE_TARGET_ATI 0x9803 /* 38915 */
#define GLX_MIPMAP_TEXTURE_ATI 0x9804 /* 38916 */
#define GLX_TEXTURE_RGB_ATI 0x9805 /* 38917 */
#define GLX_TEXTURE_RGBA_ATI 0x9806 /* 38918 */
#define GLX_NO_TEXTURE_ATI 0x9807 /* 38919 */
#define GLX_TEXTURE_CUBE_MAP_ATI 0x9808 /* 38920 */
#define GLX_TEXTURE_1D_ATI 0x9809 /* 38921 */
#define GLX_TEXTURE_2D_ATI 0x980a /* 38922 */
#define GLX_MIPMAP_LEVEL_ATI 0x980b /* 38923 */
#define GLX_CUBE_MAP_FACE_ATI 0x980c /* 38924 */
#define GLX_TEXTURE_CUBE_MAP_POSITIVE_X_ATI 0x980d /* 38925 */
#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_X_ATI 0x980e /* 38926 */
#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Y_ATI 0x980f /* 38927 */
#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Y_ATI 0x9810 /* 38928 */
#define GLX_TEXTURE_CUBE_MAP_POSITIVE_Z_ATI 0x9811 /* 38929 */
#define GLX_TEXTURE_CUBE_MAP_NEGATIVE_Z_ATI 0x9812 /* 38930 */
#define GLX_FRONT_LEFT_ATI 0x9813 /* 38931 */
#define GLX_FRONT_RIGHT_ATI 0x9814 /* 38932 */
#define GLX_BACK_LEFT_ATI 0x9815 /* 38933 */
#define GLX_BACK_RIGHT_ATI 0x9816 /* 38934 */
#define GLX_AUX0_ATI 0x9817 /* 38935 */
#define GLX_AUX1_ATI 0x9818 /* 38936 */
#define GLX_AUX2_ATI 0x9819 /* 38937 */
#define GLX_AUX3_ATI 0x981a /* 38938 */
#define GLX_AUX4_ATI 0x981b /* 38939 */
#define GLX_AUX5_ATI 0x981c /* 38940 */
#define GLX_AUX6_ATI 0x981d /* 38941 */
#define GLX_AUX7_ATI 0x981e /* 38942 */
#define GLX_AUX8_ATI 0x981f /* 38943 */
#define GLX_AUX9_ATI 0x9820 /* 38944 */
#define GLX_BIND_TO_TEXTURE_LUMINANCE_ATI 0x9821 /* 38945 */
#define GLX_BIND_TO_TEXTURE_INTENSITY_ATI 0x9822 /* 38946 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_ATI_RENDER_TEXTURE
typedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);
typedef void (REGAL_CALL *PFNGLXDRAWABLEATTRIBATIPROC)(Display *dpy, GLXDrawable draw, const int *attrib_list);
typedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEATIPROC)(Display *dpy, GLXPbuffer pbuf, int buffer);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_ATI_RENDER_TEXTURE
#define glXBindTexImageATI rglXBindTexImageATI
#define glXDrawableAttribATI rglXDrawableAttribATI
#define glXReleaseTexImageATI rglXReleaseTexImageATI
#endif
#ifndef REGAL_NO_DECLARATION_GLX_ATI_RENDER_TEXTURE
REGAL_DECL void REGAL_CALL glXBindTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);
REGAL_DECL void REGAL_CALL glXDrawableAttribATI(Display *dpy, GLXDrawable draw, const int *attrib_list);
REGAL_DECL void REGAL_CALL glXReleaseTexImageATI(Display *dpy, GLXPbuffer pbuf, int buffer);
#endif
/**
** GLX_EXT_create_context_es2_profile
**/
#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)
#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)
#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)
#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)
#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES2_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE)
#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#endif
#ifndef GLX_EXT_create_context_es2_profile
#define GLX_EXT_create_context_es2_profile 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES2_PROFILE
#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x4
#endif
/**
** GLX_EXT_create_context_es_profile
**/
#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)
#define REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)
#define REGAL_NO_TYPEDEF_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)
#define REGAL_NO_NAMESPACE_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)
#define REGAL_NO_PLUGIN_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#endif
#if (defined(GLX_EXT_CREATE_CONTEXT_ES_PROFILE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE)
#define REGAL_NO_DECLARATION_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#endif
#ifndef GLX_EXT_create_context_es_profile
#define GLX_EXT_create_context_es_profile 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_CREATE_CONTEXT_ES_PROFILE
#define GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x4
#endif
/**
** GLX_EXT_fbconfig_packed_float
**/
#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT)
#define REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT
#endif
#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT)
#define REGAL_NO_TYPEDEF_GLX_EXT_FBCONFIG_PACKED_FLOAT
#endif
#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT)
#define REGAL_NO_NAMESPACE_GLX_EXT_FBCONFIG_PACKED_FLOAT
#endif
#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT)
#define REGAL_NO_PLUGIN_GLX_EXT_FBCONFIG_PACKED_FLOAT
#endif
#if (defined(GLX_EXT_FBCONFIG_PACKED_FLOAT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FBCONFIG_PACKED_FLOAT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT)
#define REGAL_NO_DECLARATION_GLX_EXT_FBCONFIG_PACKED_FLOAT
#endif
#ifndef GLX_EXT_fbconfig_packed_float
#define GLX_EXT_fbconfig_packed_float 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_FBCONFIG_PACKED_FLOAT
#define GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20b1 /* 8369 */
#define GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x8
#endif
/**
** GLX_EXT_framebuffer_sRGB
**/
#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB)
#define REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB)
#define REGAL_NO_TYPEDEF_GLX_EXT_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB)
#define REGAL_NO_NAMESPACE_GLX_EXT_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB)
#define REGAL_NO_PLUGIN_GLX_EXT_FRAMEBUFFER_SRGB
#endif
#if (defined(GLX_EXT_FRAMEBUFFER_SRGB) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_FRAMEBUFFER_SRGB)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB)
#define REGAL_NO_DECLARATION_GLX_EXT_FRAMEBUFFER_SRGB
#endif
#ifndef GLX_EXT_framebuffer_sRGB
#define GLX_EXT_framebuffer_sRGB 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_FRAMEBUFFER_SRGB
#define GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20b2 /* 8370 */
#endif
/**
** GLX_EXT_import_context
**/
#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT)
#define REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT
#endif
#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT)
#define REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT
#endif
#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT)
#define REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT
#endif
#if (defined(GLX_EXT_IMPORT_CONTEXT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT)
#define REGAL_NO_PLUGIN_GLX_EXT_IMPORT_CONTEXT
#endif
#if (defined(GLX_EXT_IMPORT_CONTEXT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_IMPORT_CONTEXT)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT)
#define REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT
#endif
#ifndef GLX_EXT_import_context
#define GLX_EXT_import_context 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_IMPORT_CONTEXT
#define GLX_SHARE_CONTEXT_EXT 0x800a /* 32778 */
#define GLX_VISUAL_ID_EXT 0x800b /* 32779 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_EXT_IMPORT_CONTEXT
typedef GLXContext (REGAL_CALL *PFNGLXIMPORTCONTEXTEXTPROC)(Display *dpy, GLXContextID contextID);
typedef GLXContextID (REGAL_CALL *PFNGLXGETCONTEXTIDEXTPROC)(const GLXContext context);
typedef int (REGAL_CALL *PFNGLXQUERYCONTEXTINFOEXTPROC)(Display *dpy, GLXContext context, int attribute, int *value);
typedef void (REGAL_CALL *PFNGLXFREECONTEXTEXTPROC)(Display *dpy, GLXContext context);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_EXT_IMPORT_CONTEXT
#define glXFreeContextEXT rglXFreeContextEXT
#define glXGetContextIDEXT rglXGetContextIDEXT
#define glXImportContextEXT rglXImportContextEXT
#define glXQueryContextInfoEXT rglXQueryContextInfoEXT
#endif
#ifndef REGAL_NO_DECLARATION_GLX_EXT_IMPORT_CONTEXT
REGAL_DECL GLXContext REGAL_CALL glXImportContextEXT(Display *dpy, GLXContextID contextID);
REGAL_DECL GLXContextID REGAL_CALL glXGetContextIDEXT(const GLXContext context);
REGAL_DECL int REGAL_CALL glXQueryContextInfoEXT(Display *dpy, GLXContext context, int attribute, int *value);
REGAL_DECL void REGAL_CALL glXFreeContextEXT(Display *dpy, GLXContext context);
#endif
/**
** GLX_EXT_swap_control
**/
#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL)
#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL
#endif
#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL)
#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL
#endif
#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL)
#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL
#endif
#if (defined(GLX_EXT_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL)
#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL
#endif
#if (defined(GLX_EXT_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL)
#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL
#endif
#ifndef GLX_EXT_swap_control
#define GLX_EXT_swap_control 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL
#define GLX_SWAP_INTERVAL_EXT 0x20f1 /* 8433 */
#define GLX_MAX_SWAP_INTERVAL_EXT 0x20f2 /* 8434 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL
typedef void (REGAL_CALL *PFNGLXSWAPINTERVALEXTPROC)(Display *dpy, GLXDrawable drawable, int interval);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL
#define glXSwapIntervalEXT rglXSwapIntervalEXT
#endif
#ifndef REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL
REGAL_DECL void REGAL_CALL glXSwapIntervalEXT(Display *dpy, GLXDrawable drawable, int interval);
#endif
/**
** GLX_EXT_swap_control_tear
**/
#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR)
#define REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR
#endif
#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR)
#define REGAL_NO_TYPEDEF_GLX_EXT_SWAP_CONTROL_TEAR
#endif
#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR)
#define REGAL_NO_NAMESPACE_GLX_EXT_SWAP_CONTROL_TEAR
#endif
#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR)
#define REGAL_NO_PLUGIN_GLX_EXT_SWAP_CONTROL_TEAR
#endif
#if (defined(GLX_EXT_SWAP_CONTROL_TEAR) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_SWAP_CONTROL_TEAR)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR)
#define REGAL_NO_DECLARATION_GLX_EXT_SWAP_CONTROL_TEAR
#endif
#ifndef GLX_EXT_swap_control_tear
#define GLX_EXT_swap_control_tear 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_SWAP_CONTROL_TEAR
#define GLX_LATE_SWAPS_TEAR_EXT 0x20f3 /* 8435 */
#endif
/**
** GLX_EXT_texture_from_pixmap
**/
#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP)
#define REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP
#endif
#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP)
#define REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP
#endif
#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP)
#define REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP
#endif
#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP)
#define REGAL_NO_PLUGIN_GLX_EXT_TEXTURE_FROM_PIXMAP
#endif
#if (defined(GLX_EXT_TEXTURE_FROM_PIXMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_TEXTURE_FROM_PIXMAP)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP)
#define REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP
#endif
#ifndef GLX_EXT_texture_from_pixmap
#define GLX_EXT_texture_from_pixmap 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_TEXTURE_FROM_PIXMAP
#define GLX_TEXTURE_1D_BIT_EXT 0x1
#define GLX_TEXTURE_2D_BIT_EXT 0x2
#define GLX_BIND_TO_TEXTURE_RGB_EXT 0x20d0 /* 8400 */
#define GLX_BIND_TO_TEXTURE_RGBA_EXT 0x20d1 /* 8401 */
#define GLX_BIND_TO_MIPMAP_TEXTURE_EXT 0x20d2 /* 8402 */
#define GLX_BIND_TO_TEXTURE_TARGETS_EXT 0x20d3 /* 8403 */
#define GLX_Y_INVERTED_EXT 0x20d4 /* 8404 */
#define GLX_TEXTURE_FORMAT_EXT 0x20d5 /* 8405 */
#define GLX_TEXTURE_TARGET_EXT 0x20d6 /* 8406 */
#define GLX_MIPMAP_TEXTURE_EXT 0x20d7 /* 8407 */
#define GLX_TEXTURE_FORMAT_NONE_EXT 0x20d8 /* 8408 */
#define GLX_TEXTURE_FORMAT_RGB_EXT 0x20d9 /* 8409 */
#define GLX_TEXTURE_FORMAT_RGBA_EXT 0x20da /* 8410 */
#define GLX_TEXTURE_1D_EXT 0x20db /* 8411 */
#define GLX_TEXTURE_2D_EXT 0x20dc /* 8412 */
#define GLX_TEXTURE_RECTANGLE_EXT 0x20dd /* 8413 */
#define GLX_FRONT_LEFT_EXT 0x20de /* 8414 */
#define GLX_FRONT_RIGHT_EXT 0x20df /* 8415 */
#define GLX_BACK_LEFT_EXT 0x20e0 /* 8416 */
#define GLX_BACK_RIGHT_EXT 0x20e1 /* 8417 */
#define GLX_AUX0_EXT 0x20e2 /* 8418 */
#define GLX_AUX1_EXT 0x20e3 /* 8419 */
#define GLX_AUX2_EXT 0x20e4 /* 8420 */
#define GLX_AUX3_EXT 0x20e5 /* 8421 */
#define GLX_AUX4_EXT 0x20e6 /* 8422 */
#define GLX_AUX5_EXT 0x20e7 /* 8423 */
#define GLX_AUX6_EXT 0x20e8 /* 8424 */
#define GLX_AUX7_EXT 0x20e9 /* 8425 */
#define GLX_AUX8_EXT 0x20ea /* 8426 */
#define GLX_AUX9_EXT 0x20eb /* 8427 */
#define GLX_TEXTURE_RECTANGLE_BIT_EXT 0x4
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_EXT_TEXTURE_FROM_PIXMAP
typedef void (REGAL_CALL *PFNGLXBINDTEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);
typedef void (REGAL_CALL *PFNGLXRELEASETEXIMAGEEXTPROC)(Display *display, GLXDrawable drawable, int buffer);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_EXT_TEXTURE_FROM_PIXMAP
#define glXBindTexImageEXT rglXBindTexImageEXT
#define glXReleaseTexImageEXT rglXReleaseTexImageEXT
#endif
#ifndef REGAL_NO_DECLARATION_GLX_EXT_TEXTURE_FROM_PIXMAP
REGAL_DECL void REGAL_CALL glXBindTexImageEXT(Display *display, GLXDrawable drawable, int buffer, const int *attrib_list);
REGAL_DECL void REGAL_CALL glXReleaseTexImageEXT(Display *display, GLXDrawable drawable, int buffer);
#endif
/**
** GLX_EXT_visual_info
**/
#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO)
#define REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO
#endif
#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO)
#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_INFO
#endif
#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO)
#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_INFO
#endif
#if (defined(GLX_EXT_VISUAL_INFO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO)
#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_INFO
#endif
#if (defined(GLX_EXT_VISUAL_INFO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_INFO)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO)
#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_INFO
#endif
#ifndef GLX_EXT_visual_info
#define GLX_EXT_visual_info 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_INFO
#define GLX_X_VISUAL_TYPE_EXT 0x22 /* 34 */
#define GLX_TRANSPARENT_TYPE_EXT 0x23 /* 35 */
#define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 /* 36 */
#define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 /* 37 */
#define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 /* 38 */
#define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 /* 39 */
#define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 /* 40 */
#define GLX_NONE_EXT 0x8000 /* 32768 */
#define GLX_TRUE_COLOR_EXT 0x8002 /* 32770 */
#define GLX_DIRECT_COLOR_EXT 0x8003 /* 32771 */
#define GLX_PSEUDO_COLOR_EXT 0x8004 /* 32772 */
#define GLX_STATIC_COLOR_EXT 0x8005 /* 32773 */
#define GLX_GRAY_SCALE_EXT 0x8006 /* 32774 */
#define GLX_STATIC_GRAY_EXT 0x8007 /* 32775 */
#define GLX_TRANSPARENT_RGB_EXT 0x8008 /* 32776 */
#define GLX_TRANSPARENT_INDEX_EXT 0x8009 /* 32777 */
#endif
/**
** GLX_EXT_visual_rating
**/
#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING)
#define REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING
#endif
#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING)
#define REGAL_NO_TYPEDEF_GLX_EXT_VISUAL_RATING
#endif
#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING)
#define REGAL_NO_NAMESPACE_GLX_EXT_VISUAL_RATING
#endif
#if (defined(GLX_EXT_VISUAL_RATING) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING)
#define REGAL_NO_PLUGIN_GLX_EXT_VISUAL_RATING
#endif
#if (defined(GLX_EXT_VISUAL_RATING) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_EXT_VISUAL_RATING)) && !defined(REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING)
#define REGAL_NO_DECLARATION_GLX_EXT_VISUAL_RATING
#endif
#ifndef GLX_EXT_visual_rating
#define GLX_EXT_visual_rating 1
#endif
#ifndef REGAL_NO_ENUM_GLX_EXT_VISUAL_RATING
#define GLX_VISUAL_CAVEAT_EXT 0x20 /* 32 */
#define GLX_SLOW_VISUAL_EXT 0x8001 /* 32769 */
#define GLX_NON_CONFORMANT_VISUAL_EXT 0x800d /* 32781 */
#endif
/**
** GLX_INTEL_swap_event
**/
#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT)
#define REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT
#endif
#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT)
#define REGAL_NO_TYPEDEF_GLX_INTEL_SWAP_EVENT
#endif
#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT)
#define REGAL_NO_NAMESPACE_GLX_INTEL_SWAP_EVENT
#endif
#if (defined(GLX_INTEL_SWAP_EVENT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT)
#define REGAL_NO_PLUGIN_GLX_INTEL_SWAP_EVENT
#endif
#if (defined(GLX_INTEL_SWAP_EVENT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_INTEL_SWAP_EVENT)) && !defined(REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT)
#define REGAL_NO_DECLARATION_GLX_INTEL_SWAP_EVENT
#endif
#ifndef GLX_INTEL_swap_event
#define GLX_INTEL_swap_event 1
#endif
#ifndef REGAL_NO_ENUM_GLX_INTEL_SWAP_EVENT
#define GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK 0x4000000 /* 67108864 */
#define GLX_EXCHANGE_COMPLETE_INTEL 0x8180 /* 33152 */
#define GLX_COPY_COMPLETE_INTEL 0x8181 /* 33153 */
#define GLX_FLIP_COMPLETE_INTEL 0x8182 /* 33154 */
#endif
/**
** GLX_MESA_agp_offset
**/
#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET)
#define REGAL_NO_ENUM_GLX_MESA_AGP_OFFSET
#endif
#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET)
#define REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET
#endif
#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET)
#define REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET
#endif
#if (defined(GLX_MESA_AGP_OFFSET) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET)
#define REGAL_NO_PLUGIN_GLX_MESA_AGP_OFFSET
#endif
#if (defined(GLX_MESA_AGP_OFFSET) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_AGP_OFFSET)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET)
#define REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET
#endif
#ifndef GLX_MESA_agp_offset
#define GLX_MESA_agp_offset 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_AGP_OFFSET
typedef unsigned int (REGAL_CALL *PFNGLXGETAGPOFFSETMESAPROC)(const void *pointer);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_AGP_OFFSET
#define glXGetAGPOffsetMESA rglXGetAGPOffsetMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_AGP_OFFSET
REGAL_DECL unsigned int REGAL_CALL glXGetAGPOffsetMESA(const void *pointer);
#endif
/**
** GLX_MESA_copy_sub_buffer
**/
#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER)
#define REGAL_NO_ENUM_GLX_MESA_COPY_SUB_BUFFER
#endif
#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER)
#define REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER
#endif
#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER)
#define REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER
#endif
#if (defined(GLX_MESA_COPY_SUB_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER)
#define REGAL_NO_PLUGIN_GLX_MESA_COPY_SUB_BUFFER
#endif
#if (defined(GLX_MESA_COPY_SUB_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_COPY_SUB_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER)
#define REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER
#endif
#ifndef GLX_MESA_copy_sub_buffer
#define GLX_MESA_copy_sub_buffer 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_COPY_SUB_BUFFER
typedef void (REGAL_CALL *PFNGLXCOPYSUBBUFFERMESAPROC)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_COPY_SUB_BUFFER
#define glXCopySubBufferMESA rglXCopySubBufferMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_COPY_SUB_BUFFER
REGAL_DECL void REGAL_CALL glXCopySubBufferMESA(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);
#endif
/**
** GLX_MESA_pixmap_colormap
**/
#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP)
#define REGAL_NO_ENUM_GLX_MESA_PIXMAP_COLORMAP
#endif
#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP)
#define REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP
#endif
#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP)
#define REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP
#endif
#if (defined(GLX_MESA_PIXMAP_COLORMAP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP)
#define REGAL_NO_PLUGIN_GLX_MESA_PIXMAP_COLORMAP
#endif
#if (defined(GLX_MESA_PIXMAP_COLORMAP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_PIXMAP_COLORMAP)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP)
#define REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP
#endif
#ifndef GLX_MESA_pixmap_colormap
#define GLX_MESA_pixmap_colormap 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_PIXMAP_COLORMAP
typedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPMESAPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_PIXMAP_COLORMAP
#define glXCreateGLXPixmapMESA rglXCreateGLXPixmapMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_PIXMAP_COLORMAP
REGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapMESA(Display *dpy, XVisualInfo *visual, Pixmap pixmap, Colormap cmap);
#endif
/**
** GLX_MESA_release_buffers
**/
#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS)
#define REGAL_NO_ENUM_GLX_MESA_RELEASE_BUFFERS
#endif
#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS)
#define REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS
#endif
#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS)
#define REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS
#endif
#if (defined(GLX_MESA_RELEASE_BUFFERS) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS)
#define REGAL_NO_PLUGIN_GLX_MESA_RELEASE_BUFFERS
#endif
#if (defined(GLX_MESA_RELEASE_BUFFERS) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_RELEASE_BUFFERS)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS)
#define REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS
#endif
#ifndef GLX_MESA_release_buffers
#define GLX_MESA_release_buffers 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_RELEASE_BUFFERS
typedef Bool (REGAL_CALL *PFNGLXRELEASEBUFFERSMESAPROC)(Display *dpy, GLXDrawable d);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_RELEASE_BUFFERS
#define glXReleaseBuffersMESA rglXReleaseBuffersMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_RELEASE_BUFFERS
REGAL_DECL Bool REGAL_CALL glXReleaseBuffersMESA(Display *dpy, GLXDrawable d);
#endif
/**
** GLX_MESA_set_3dfx_mode
**/
#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE)
#define REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE
#endif
#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE)
#define REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE
#endif
#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE)
#define REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE
#endif
#if (defined(GLX_MESA_SET_3DFX_MODE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE)
#define REGAL_NO_PLUGIN_GLX_MESA_SET_3DFX_MODE
#endif
#if (defined(GLX_MESA_SET_3DFX_MODE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SET_3DFX_MODE)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE)
#define REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE
#endif
#ifndef GLX_MESA_set_3dfx_mode
#define GLX_MESA_set_3dfx_mode 1
#endif
#ifndef REGAL_NO_ENUM_GLX_MESA_SET_3DFX_MODE
#define GLX_3DFX_WINDOW_MODE_MESA 0x1
#define GLX_3DFX_FULLSCREEN_MODE_MESA 0x2
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SET_3DFX_MODE
typedef GLboolean (REGAL_CALL *PFNGLXSET3DFXMODEMESAPROC)(GLint mode);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SET_3DFX_MODE
#define glXSet3DfxModeMESA rglXSet3DfxModeMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_SET_3DFX_MODE
REGAL_DECL GLboolean REGAL_CALL glXSet3DfxModeMESA(GLint mode);
#endif
/**
** GLX_MESA_swap_control
**/
#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL)
#define REGAL_NO_ENUM_GLX_MESA_SWAP_CONTROL
#endif
#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL)
#define REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL
#endif
#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL)
#define REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL
#endif
#if (defined(GLX_MESA_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL)
#define REGAL_NO_PLUGIN_GLX_MESA_SWAP_CONTROL
#endif
#if (defined(GLX_MESA_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_MESA_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL)
#define REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL
#endif
#ifndef GLX_MESA_swap_control
#define GLX_MESA_swap_control 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_MESA_SWAP_CONTROL
typedef int (REGAL_CALL *PFNGLXGETSWAPINTERVALMESAPROC)(void);
typedef int (REGAL_CALL *PFNGLXSWAPINTERVALMESAPROC)(unsigned int interval);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_MESA_SWAP_CONTROL
#define glXGetSwapIntervalMESA rglXGetSwapIntervalMESA
#define glXSwapIntervalMESA rglXSwapIntervalMESA
#endif
#ifndef REGAL_NO_DECLARATION_GLX_MESA_SWAP_CONTROL
REGAL_DECL int REGAL_CALL glXGetSwapIntervalMESA(void);
REGAL_DECL int REGAL_CALL glXSwapIntervalMESA(unsigned int interval);
#endif
/**
** GLX_NV_copy_image
**/
#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_COPY_IMAGE)
#define REGAL_NO_ENUM_GLX_NV_COPY_IMAGE
#endif
#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE)
#define REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE
#endif
#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE)
#define REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE
#endif
#if (defined(GLX_NV_COPY_IMAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE)
#define REGAL_NO_PLUGIN_GLX_NV_COPY_IMAGE
#endif
#if (defined(GLX_NV_COPY_IMAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_COPY_IMAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE)
#define REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE
#endif
#ifndef GLX_NV_copy_image
#define GLX_NV_copy_image 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_COPY_IMAGE
typedef void (REGAL_CALL *PFNGLXCOPYIMAGESUBDATANVPROC)(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_COPY_IMAGE
#define glXCopyImageSubDataNV rglXCopyImageSubDataNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_COPY_IMAGE
REGAL_DECL void REGAL_CALL glXCopyImageSubDataNV(Display *dpy, GLXContext srcCtx, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLXContext dstCtx, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth);
#endif
/**
** GLX_NV_float_buffer
**/
#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER)
#define REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER
#endif
#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER)
#define REGAL_NO_TYPEDEF_GLX_NV_FLOAT_BUFFER
#endif
#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER)
#define REGAL_NO_NAMESPACE_GLX_NV_FLOAT_BUFFER
#endif
#if (defined(GLX_NV_FLOAT_BUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER)
#define REGAL_NO_PLUGIN_GLX_NV_FLOAT_BUFFER
#endif
#if (defined(GLX_NV_FLOAT_BUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_FLOAT_BUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER)
#define REGAL_NO_DECLARATION_GLX_NV_FLOAT_BUFFER
#endif
#ifndef GLX_NV_float_buffer
#define GLX_NV_float_buffer 1
#endif
#ifndef REGAL_NO_ENUM_GLX_NV_FLOAT_BUFFER
#define GLX_FLOAT_COMPONENTS_NV 0x20b0 /* 8368 */
#endif
/**
** GLX_NV_multisample_coverage
**/
#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE)
#define REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE
#endif
#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE)
#define REGAL_NO_TYPEDEF_GLX_NV_MULTISAMPLE_COVERAGE
#endif
#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE)
#define REGAL_NO_NAMESPACE_GLX_NV_MULTISAMPLE_COVERAGE
#endif
#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE)
#define REGAL_NO_PLUGIN_GLX_NV_MULTISAMPLE_COVERAGE
#endif
#if (defined(GLX_NV_MULTISAMPLE_COVERAGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_MULTISAMPLE_COVERAGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE)
#define REGAL_NO_DECLARATION_GLX_NV_MULTISAMPLE_COVERAGE
#endif
#ifndef GLX_NV_multisample_coverage
#define GLX_NV_multisample_coverage 1
#endif
#ifndef REGAL_NO_ENUM_GLX_NV_MULTISAMPLE_COVERAGE
#define GLX_COVERAGE_SAMPLES_NV 0x186a1 /* 100001 */
#define GLX_COLOR_SAMPLES_NV 0x20b3 /* 8371 */
#endif
/**
** GLX_NV_present_video
**/
#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO)
#define REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO
#endif
#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO)
#define REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO
#endif
#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO)
#define REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO
#endif
#if (defined(GLX_NV_PRESENT_VIDEO) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO)
#define REGAL_NO_PLUGIN_GLX_NV_PRESENT_VIDEO
#endif
#if (defined(GLX_NV_PRESENT_VIDEO) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_PRESENT_VIDEO)) && !defined(REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO)
#define REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO
#endif
#ifndef GLX_NV_present_video
#define GLX_NV_present_video 1
#endif
#ifndef REGAL_NO_ENUM_GLX_NV_PRESENT_VIDEO
#define GLX_NUM_VIDEO_SLOTS_NV 0x20f0 /* 8432 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_PRESENT_VIDEO
typedef int (REGAL_CALL *PFNGLXBINDVIDEODEVICENVPROC)(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
typedef unsigned int *(REGAL_CALL *PFNGLXENUMERATEVIDEODEVICESNVPROC)(Display *dpy, int screen, int *nelements);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_PRESENT_VIDEO
#define glXBindVideoDeviceNV rglXBindVideoDeviceNV
#define glXEnumerateVideoDevicesNV rglXEnumerateVideoDevicesNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_PRESENT_VIDEO
REGAL_DECL int REGAL_CALL glXBindVideoDeviceNV(Display *dpy, unsigned int video_slot, unsigned int video_device, const int *attrib_list);
REGAL_DECL unsigned int *REGAL_CALL glXEnumerateVideoDevicesNV(Display *dpy, int screen, int *nelements);
#endif
/**
** GLX_NV_swap_group
**/
#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_NV_SWAP_GROUP)
#define REGAL_NO_ENUM_GLX_NV_SWAP_GROUP
#endif
#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP)
#define REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP
#endif
#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP)
#define REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP
#endif
#if (defined(GLX_NV_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP)
#define REGAL_NO_PLUGIN_GLX_NV_SWAP_GROUP
#endif
#if (defined(GLX_NV_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP)
#define REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP
#endif
#ifndef GLX_NV_swap_group
#define GLX_NV_swap_group 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_SWAP_GROUP
typedef Bool (REGAL_CALL *PFNGLXBINDSWAPBARRIERNVPROC)(Display *dpy, GLuint group, GLuint barrier);
typedef Bool (REGAL_CALL *PFNGLXJOINSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint group);
typedef Bool (REGAL_CALL *PFNGLXQUERYFRAMECOUNTNVPROC)(Display *dpy, int screen, GLuint *count);
typedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPGROUPSNVPROC)(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
typedef Bool (REGAL_CALL *PFNGLXQUERYSWAPGROUPNVPROC)(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
typedef Bool (REGAL_CALL *PFNGLXRESETFRAMECOUNTNVPROC)(Display *dpy, int screen);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_SWAP_GROUP
#define glXBindSwapBarrierNV rglXBindSwapBarrierNV
#define glXJoinSwapGroupNV rglXJoinSwapGroupNV
#define glXQueryFrameCountNV rglXQueryFrameCountNV
#define glXQueryMaxSwapGroupsNV rglXQueryMaxSwapGroupsNV
#define glXQuerySwapGroupNV rglXQuerySwapGroupNV
#define glXResetFrameCountNV rglXResetFrameCountNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_SWAP_GROUP
REGAL_DECL Bool REGAL_CALL glXBindSwapBarrierNV(Display *dpy, GLuint group, GLuint barrier);
REGAL_DECL Bool REGAL_CALL glXJoinSwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint group);
REGAL_DECL Bool REGAL_CALL glXQueryFrameCountNV(Display *dpy, int screen, GLuint *count);
REGAL_DECL Bool REGAL_CALL glXQueryMaxSwapGroupsNV(Display *dpy, int screen, GLuint *maxGroups, GLuint *maxBarriers);
REGAL_DECL Bool REGAL_CALL glXQuerySwapGroupNV(Display *dpy, GLXDrawable drawable, GLuint *group, GLuint *barrier);
REGAL_DECL Bool REGAL_CALL glXResetFrameCountNV(Display *dpy, int screen);
#endif
/**
** GLX_NV_vertex_array_range
**/
#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE)
#define REGAL_NO_ENUM_GLX_NV_VERTEX_ARRAY_RANGE
#endif
#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE)
#define REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE
#endif
#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE)
#define REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE
#endif
#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE)
#define REGAL_NO_PLUGIN_GLX_NV_VERTEX_ARRAY_RANGE
#endif
#if (defined(GLX_NV_VERTEX_ARRAY_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VERTEX_ARRAY_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE)
#define REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE
#endif
#ifndef GLX_NV_vertex_array_range
#define GLX_NV_vertex_array_range 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_VERTEX_ARRAY_RANGE
typedef void (REGAL_CALL *PFNGLXFREEMEMORYNVPROC)(void *pointer);
typedef void *(REGAL_CALL *PFNGLXALLOCATEMEMORYNVPROC)(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_VERTEX_ARRAY_RANGE
#define glXAllocateMemoryNV rglXAllocateMemoryNV
#define glXFreeMemoryNV rglXFreeMemoryNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_VERTEX_ARRAY_RANGE
REGAL_DECL void *REGAL_CALL glXAllocateMemoryNV(GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
REGAL_DECL void REGAL_CALL glXFreeMemoryNV(void *pointer);
#endif
/**
** GLX_NV_video_capture
**/
#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE)
#define REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE
#endif
#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE)
#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE
#endif
#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE)
#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE
#endif
#if (defined(GLX_NV_VIDEO_CAPTURE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE)
#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_CAPTURE
#endif
#if (defined(GLX_NV_VIDEO_CAPTURE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_CAPTURE)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE)
#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE
#endif
#ifndef GLX_NV_video_capture
#define GLX_NV_video_capture 1
#endif
#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_CAPTURE
#define GLX_DEVICE_ID_NV 0x20cd /* 8397 */
#define GLX_UNIQUE_ID_NV 0x20ce /* 8398 */
#define GLX_NUM_VIDEO_CAPTURE_SLOTS_NV 0x20cf /* 8399 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_CAPTURE
typedef GLXVideoCaptureDeviceNV *(REGAL_CALL *PFNGLXENUMERATEVIDEOCAPTUREDEVICESNVPROC)(Display *dpy, int screen, int *nelements);
typedef int (REGAL_CALL *PFNGLXBINDVIDEOCAPTUREDEVICENVPROC)(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
typedef int (REGAL_CALL *PFNGLXQUERYVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
typedef void (REGAL_CALL *PFNGLXLOCKVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);
typedef void (REGAL_CALL *PFNGLXRELEASEVIDEOCAPTUREDEVICENVPROC)(Display *dpy, GLXVideoCaptureDeviceNV device);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_CAPTURE
#define glXBindVideoCaptureDeviceNV rglXBindVideoCaptureDeviceNV
#define glXEnumerateVideoCaptureDevicesNV rglXEnumerateVideoCaptureDevicesNV
#define glXLockVideoCaptureDeviceNV rglXLockVideoCaptureDeviceNV
#define glXQueryVideoCaptureDeviceNV rglXQueryVideoCaptureDeviceNV
#define glXReleaseVideoCaptureDeviceNV rglXReleaseVideoCaptureDeviceNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_CAPTURE
REGAL_DECL GLXVideoCaptureDeviceNV *REGAL_CALL glXEnumerateVideoCaptureDevicesNV(Display *dpy, int screen, int *nelements);
REGAL_DECL int REGAL_CALL glXBindVideoCaptureDeviceNV(Display *dpy, unsigned int video_capture_slot, GLXVideoCaptureDeviceNV device);
REGAL_DECL int REGAL_CALL glXQueryVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device, int attribute, int *value);
REGAL_DECL void REGAL_CALL glXLockVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);
REGAL_DECL void REGAL_CALL glXReleaseVideoCaptureDeviceNV(Display *dpy, GLXVideoCaptureDeviceNV device);
#endif
/**
** GLX_NV_video_output
**/
#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT)
#define REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT
#endif
#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT)
#define REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT
#endif
#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT)
#define REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT
#endif
#if (defined(GLX_NV_VIDEO_OUTPUT) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT)
#define REGAL_NO_PLUGIN_GLX_NV_VIDEO_OUTPUT
#endif
#if (defined(GLX_NV_VIDEO_OUTPUT) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_NV_VIDEO_OUTPUT)) && !defined(REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT)
#define REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT
#endif
#ifndef GLX_NV_video_output
#define GLX_NV_video_output 1
#endif
#ifndef REGAL_NO_ENUM_GLX_NV_VIDEO_OUTPUT
#define GLX_VIDEO_OUT_COLOR_NV 0x20c3 /* 8387 */
#define GLX_VIDEO_OUT_ALPHA_NV 0x20c4 /* 8388 */
#define GLX_VIDEO_OUT_DEPTH_NV 0x20c5 /* 8389 */
#define GLX_VIDEO_OUT_COLOR_AND_ALPHA_NV 0x20c6 /* 8390 */
#define GLX_VIDEO_OUT_COLOR_AND_DEPTH_NV 0x20c7 /* 8391 */
#define GLX_VIDEO_OUT_FRAME_NV 0x20c8 /* 8392 */
#define GLX_VIDEO_OUT_FIELD_1_NV 0x20c9 /* 8393 */
#define GLX_VIDEO_OUT_FIELD_2_NV 0x20ca /* 8394 */
#define GLX_VIDEO_OUT_STACKED_FIELDS_1_2_NV 0x20cb /* 8395 */
#define GLX_VIDEO_OUT_STACKED_FIELDS_2_1_NV 0x20cc /* 8396 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_NV_VIDEO_OUTPUT
typedef int (REGAL_CALL *PFNGLXBINDVIDEOIMAGENVPROC)(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
typedef int (REGAL_CALL *PFNGLXGETVIDEODEVICENVPROC)(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
typedef int (REGAL_CALL *PFNGLXGETVIDEOINFONVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
typedef int (REGAL_CALL *PFNGLXRELEASEVIDEODEVICENVPROC)(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
typedef int (REGAL_CALL *PFNGLXRELEASEVIDEOIMAGENVPROC)(Display *dpy, GLXPbuffer pbuf);
typedef int (REGAL_CALL *PFNGLXSENDPBUFFERTOVIDEONVPROC)(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_NV_VIDEO_OUTPUT
#define glXBindVideoImageNV rglXBindVideoImageNV
#define glXGetVideoDeviceNV rglXGetVideoDeviceNV
#define glXGetVideoInfoNV rglXGetVideoInfoNV
#define glXReleaseVideoDeviceNV rglXReleaseVideoDeviceNV
#define glXReleaseVideoImageNV rglXReleaseVideoImageNV
#define glXSendPbufferToVideoNV rglXSendPbufferToVideoNV
#endif
#ifndef REGAL_NO_DECLARATION_GLX_NV_VIDEO_OUTPUT
REGAL_DECL int REGAL_CALL glXBindVideoImageNV(Display *dpy, GLXVideoDeviceNV VideoDevice, GLXPbuffer pbuf, int iVideoBuffer);
REGAL_DECL int REGAL_CALL glXGetVideoDeviceNV(Display *dpy, int screen, int numVideoDevices, GLXVideoDeviceNV *pVideoDevice);
REGAL_DECL int REGAL_CALL glXGetVideoInfoNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice, unsigned long *pulCounterOutputPbuffer, unsigned long *pulCounterOutputVideo);
REGAL_DECL int REGAL_CALL glXReleaseVideoDeviceNV(Display *dpy, int screen, GLXVideoDeviceNV VideoDevice);
REGAL_DECL int REGAL_CALL glXReleaseVideoImageNV(Display *dpy, GLXPbuffer pbuf);
REGAL_DECL int REGAL_CALL glXSendPbufferToVideoNV(Display *dpy, GLXPbuffer pbuf, int iBufferType, unsigned long *pulCounterPbuffer, GLboolean bBlock);
#endif
/**
** GLX_OML_swap_method
**/
#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_ENUM_GLX_OML_SWAP_METHOD)
#define REGAL_NO_ENUM_GLX_OML_SWAP_METHOD
#endif
#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD)
#define REGAL_NO_TYPEDEF_GLX_OML_SWAP_METHOD
#endif
#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD)
#define REGAL_NO_NAMESPACE_GLX_OML_SWAP_METHOD
#endif
#if (defined(GLX_OML_SWAP_METHOD) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD)
#define REGAL_NO_PLUGIN_GLX_OML_SWAP_METHOD
#endif
#if (defined(GLX_OML_SWAP_METHOD) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SWAP_METHOD)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD)
#define REGAL_NO_DECLARATION_GLX_OML_SWAP_METHOD
#endif
#ifndef GLX_OML_swap_method
#define GLX_OML_swap_method 1
#endif
#ifndef REGAL_NO_ENUM_GLX_OML_SWAP_METHOD
#define GLX_SWAP_METHOD_OML 0x8060 /* 32864 */
#define GLX_SWAP_EXCHANGE_OML 0x8061 /* 32865 */
#define GLX_SWAP_COPY_OML 0x8062 /* 32866 */
#define GLX_SWAP_UNDEFINED_OML 0x8063 /* 32867 */
#endif
/**
** GLX_OML_sync_control
**/
#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL)
#define REGAL_NO_ENUM_GLX_OML_SYNC_CONTROL
#endif
#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL)
#define REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL
#endif
#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL)
#define REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL
#endif
#if (defined(GLX_OML_SYNC_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL)
#define REGAL_NO_PLUGIN_GLX_OML_SYNC_CONTROL
#endif
#if (defined(GLX_OML_SYNC_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_OML_SYNC_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL)
#define REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL
#endif
#ifndef GLX_OML_sync_control
#define GLX_OML_sync_control 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_OML_SYNC_CONTROL
typedef Bool (REGAL_CALL *PFNGLXGETMSCRATEOMLPROC)(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
typedef Bool (REGAL_CALL *PFNGLXGETSYNCVALUESOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
typedef Bool (REGAL_CALL *PFNGLXWAITFORMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
typedef Bool (REGAL_CALL *PFNGLXWAITFORSBCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
typedef int64_t (REGAL_CALL *PFNGLXSWAPBUFFERSMSCOMLPROC)(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_OML_SYNC_CONTROL
#define glXGetMscRateOML rglXGetMscRateOML
#define glXGetSyncValuesOML rglXGetSyncValuesOML
#define glXSwapBuffersMscOML rglXSwapBuffersMscOML
#define glXWaitForMscOML rglXWaitForMscOML
#define glXWaitForSbcOML rglXWaitForSbcOML
#endif
#ifndef REGAL_NO_DECLARATION_GLX_OML_SYNC_CONTROL
REGAL_DECL Bool REGAL_CALL glXGetMscRateOML(Display *dpy, GLXDrawable drawable, int32_t *numerator, int32_t *denominator);
REGAL_DECL Bool REGAL_CALL glXGetSyncValuesOML(Display *dpy, GLXDrawable drawable, int64_t *ust, int64_t *msc, int64_t *sbc);
REGAL_DECL Bool REGAL_CALL glXWaitForMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc);
REGAL_DECL Bool REGAL_CALL glXWaitForSbcOML(Display *dpy, GLXDrawable drawable, int64_t target_sbc, int64_t *ust, int64_t *msc, int64_t *sbc);
REGAL_DECL int64_t REGAL_CALL glXSwapBuffersMscOML(Display *dpy, GLXDrawable drawable, int64_t target_msc, int64_t divisor, int64_t remainder);
#endif
/**
** GLX_SGIS_blended_overlay
**/
#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY)
#define REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY
#endif
#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY)
#define REGAL_NO_TYPEDEF_GLX_SGIS_BLENDED_OVERLAY
#endif
#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY)
#define REGAL_NO_NAMESPACE_GLX_SGIS_BLENDED_OVERLAY
#endif
#if (defined(GLX_SGIS_BLENDED_OVERLAY) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY)
#define REGAL_NO_PLUGIN_GLX_SGIS_BLENDED_OVERLAY
#endif
#if (defined(GLX_SGIS_BLENDED_OVERLAY) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_BLENDED_OVERLAY)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY)
#define REGAL_NO_DECLARATION_GLX_SGIS_BLENDED_OVERLAY
#endif
#ifndef GLX_SGIS_blended_overlay
#define GLX_SGIS_blended_overlay 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIS_BLENDED_OVERLAY
#define GLX_BLENDED_RGBA_SGIS 0x8025 /* 32805 */
#endif
/**
** GLX_SGIS_color_range
**/
#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE)
#define REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE
#endif
#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE)
#define REGAL_NO_TYPEDEF_GLX_SGIS_COLOR_RANGE
#endif
#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE)
#define REGAL_NO_NAMESPACE_GLX_SGIS_COLOR_RANGE
#endif
#if (defined(GLX_SGIS_COLOR_RANGE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE)
#define REGAL_NO_PLUGIN_GLX_SGIS_COLOR_RANGE
#endif
#if (defined(GLX_SGIS_COLOR_RANGE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_COLOR_RANGE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE)
#define REGAL_NO_DECLARATION_GLX_SGIS_COLOR_RANGE
#endif
#ifndef GLX_SGIS_color_range
#define GLX_SGIS_color_range 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIS_COLOR_RANGE
#define GLX_EXTENDED_RANGE_SGIS 0x0
#define GLX_MAX_ALPHA_SGIS 0x0
#define GLX_MAX_BLUE_SGIS 0x0
#define GLX_MAX_GREEN_SGIS 0x0
#define GLX_MAX_RED_SGIS 0x0
#define GLX_MIN_ALPHA_SGIS 0x0
#define GLX_MIN_BLUE_SGIS 0x0
#define GLX_MIN_GREEN_SGIS 0x0
#define GLX_MIN_RED_SGIS 0x0
#endif
/**
** GLX_SGIS_multisample
**/
#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE)
#define REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE)
#define REGAL_NO_TYPEDEF_GLX_SGIS_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE)
#define REGAL_NO_NAMESPACE_GLX_SGIS_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE)
#define REGAL_NO_PLUGIN_GLX_SGIS_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE)
#define REGAL_NO_DECLARATION_GLX_SGIS_MULTISAMPLE
#endif
#ifndef GLX_SGIS_multisample
#define GLX_SGIS_multisample 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIS_MULTISAMPLE
#define GLX_SAMPLE_BUFFERS_SGIS 0x186a0 /* 100000 */
#define GLX_SAMPLES_SGIS 0x186a1 /* 100001 */
#endif
/**
** GLX_SGIS_shared_multisample
**/
#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE)
#define REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE)
#define REGAL_NO_TYPEDEF_GLX_SGIS_SHARED_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE)
#define REGAL_NO_NAMESPACE_GLX_SGIS_SHARED_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE)
#define REGAL_NO_PLUGIN_GLX_SGIS_SHARED_MULTISAMPLE
#endif
#if (defined(GLX_SGIS_SHARED_MULTISAMPLE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIS_SHARED_MULTISAMPLE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE)
#define REGAL_NO_DECLARATION_GLX_SGIS_SHARED_MULTISAMPLE
#endif
#ifndef GLX_SGIS_shared_multisample
#define GLX_SGIS_shared_multisample 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIS_SHARED_MULTISAMPLE
#define GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 /* 32806 */
#define GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 /* 32807 */
#endif
/**
** GLX_SGIX_fbconfig
**/
#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_ENUM_GLX_SGIX_FBCONFIG)
#define REGAL_NO_ENUM_GLX_SGIX_FBCONFIG
#endif
#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG)
#define REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG
#endif
#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG)
#define REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG
#endif
#if (defined(GLX_SGIX_FBCONFIG) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG)
#define REGAL_NO_PLUGIN_GLX_SGIX_FBCONFIG
#endif
#if (defined(GLX_SGIX_FBCONFIG) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_FBCONFIG)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG)
#define REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG
#endif
#ifndef GLX_SGIX_fbconfig
#define GLX_SGIX_fbconfig 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIX_FBCONFIG
#define GLX_RGBA_BIT_SGIX 0x1
#define GLX_WINDOW_BIT_SGIX 0x1
#define GLX_COLOR_INDEX_BIT_SGIX 0x2
#define GLX_PIXMAP_BIT_SGIX 0x2
#define GLX_SCREEN_EXT 0x800c /* 32780 */
#define GLX_DRAWABLE_TYPE_SGIX 0x8010 /* 32784 */
#define GLX_RENDER_TYPE_SGIX 0x8011 /* 32785 */
#define GLX_X_RENDERABLE_SGIX 0x8012 /* 32786 */
#define GLX_FBCONFIG_ID_SGIX 0x8013 /* 32787 */
#define GLX_RGBA_TYPE_SGIX 0x8014 /* 32788 */
#define GLX_COLOR_INDEX_TYPE_SGIX 0x8015 /* 32789 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_FBCONFIG
typedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
typedef GLXFBConfigSGIX (REGAL_CALL *PFNGLXGETFBCONFIGFROMVISUALSGIXPROC)(Display *dpy, XVisualInfo *vis);
typedef GLXFBConfigSGIX *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGSGIXPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);
typedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPWITHCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap);
typedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGSGIXPROC)(Display *dpy, GLXFBConfig config);
typedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBSGIXPROC)(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_FBCONFIG
#define glXChooseFBConfigSGIX rglXChooseFBConfigSGIX
#define glXCreateContextWithConfigSGIX rglXCreateContextWithConfigSGIX
#define glXCreateGLXPixmapWithConfigSGIX rglXCreateGLXPixmapWithConfigSGIX
#define glXGetFBConfigAttribSGIX rglXGetFBConfigAttribSGIX
#define glXGetFBConfigFromVisualSGIX rglXGetFBConfigFromVisualSGIX
#define glXGetVisualFromFBConfigSGIX rglXGetVisualFromFBConfigSGIX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGIX_FBCONFIG
REGAL_DECL GLXContext REGAL_CALL glXCreateContextWithConfigSGIX(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
REGAL_DECL GLXFBConfigSGIX *REGAL_CALL glXChooseFBConfigSGIX(Display *dpy, int screen, const int *attrib_list, int *nelements);
REGAL_DECL GLXFBConfigSGIX REGAL_CALL glXGetFBConfigFromVisualSGIX(Display *dpy, XVisualInfo *vis);
REGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmapWithConfigSGIX(Display *dpy, GLXFBConfig config, Pixmap pixmap);
REGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfigSGIX(Display *dpy, GLXFBConfig config);
REGAL_DECL int REGAL_CALL glXGetFBConfigAttribSGIX(Display *dpy, GLXFBConfigSGIX config, int attribute, int *value);
#endif
/**
** GLX_SGIX_hyperpipe
**/
#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE)
#define REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE
#endif
#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE)
#define REGAL_NO_TYPEDEF_GLX_SGIX_HYPERPIPE
#endif
#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE)
#define REGAL_NO_NAMESPACE_GLX_SGIX_HYPERPIPE
#endif
#if (defined(GLX_SGIX_HYPERPIPE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE)
#define REGAL_NO_PLUGIN_GLX_SGIX_HYPERPIPE
#endif
#if (defined(GLX_SGIX_HYPERPIPE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_HYPERPIPE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE)
#define REGAL_NO_DECLARATION_GLX_SGIX_HYPERPIPE
#endif
#ifndef GLX_SGIX_hyperpipe
#define GLX_SGIX_hyperpipe 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIX_HYPERPIPE
#define GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x1
#define GLX_PIPE_RECT_SGIX 0x1
#define GLX_HYPERPIPE_RENDER_PIPE_SGIX 0x2
#define GLX_PIPE_RECT_LIMITS_SGIX 0x2
#define GLX_HYPERPIPE_STEREO_SGIX 0x3
#define GLX_HYPERPIPE_PIXEL_AVERAGE_SGIX 0x4
#define GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 0x50 /* 80 */
#define GLX_BAD_HYPERPIPE_CONFIG_SGIX 0x5b /* 91 */
#define GLX_BAD_HYPERPIPE_SGIX 0x5c /* 92 */
#define GLX_HYPERPIPE_ID_SGIX 0x8030 /* 32816 */
#endif
/**
** GLX_SGIX_pbuffer
**/
#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_PBUFFER)
#define REGAL_NO_ENUM_GLX_SGIX_PBUFFER
#endif
#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER)
#define REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER
#endif
#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER)
#define REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER
#endif
#if (defined(GLX_SGIX_PBUFFER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER)
#define REGAL_NO_PLUGIN_GLX_SGIX_PBUFFER
#endif
#if (defined(GLX_SGIX_PBUFFER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_PBUFFER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER)
#define REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER
#endif
#ifndef GLX_SGIX_pbuffer
#define GLX_SGIX_pbuffer 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIX_PBUFFER
#define GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x1
#define GLX_AUX_BUFFERS_BIT_SGIX 0x10 /* 16 */
#define GLX_SAMPLE_BUFFERS_BIT_SGIX 0x100 /* 256 */
#define GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x2
#define GLX_DEPTH_BUFFER_BIT_SGIX 0x20 /* 32 */
#define GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x4
#define GLX_PBUFFER_BIT_SGIX 0x4
#define GLX_STENCIL_BUFFER_BIT_SGIX 0x40 /* 64 */
#define GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x8
#define GLX_ACCUM_BUFFER_BIT_SGIX 0x80 /* 128 */
#define GLX_BUFFER_CLOBBER_MASK_SGIX 0x8000000 /* 134217728 */
#define GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016 /* 32790 */
#define GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017 /* 32791 */
#define GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018 /* 32792 */
#define GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019 /* 32793 */
#define GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801a /* 32794 */
#define GLX_PRESERVED_CONTENTS_SGIX 0x801b /* 32795 */
#define GLX_LARGEST_PBUFFER_SGIX 0x801c /* 32796 */
#define GLX_WIDTH_SGIX 0x801d /* 32797 */
#define GLX_HEIGHT_SGIX 0x801e /* 32798 */
#define GLX_EVENT_MASK_SGIX 0x801f /* 32799 */
#define GLX_DAMAGED_SGIX 0x8020 /* 32800 */
#define GLX_SAVED_SGIX 0x8021 /* 32801 */
#define GLX_WINDOW_SGIX 0x8022 /* 32802 */
#define GLX_PBUFFER_SGIX 0x8023 /* 32803 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_PBUFFER
typedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEGLXPBUFFERSGIXPROC)(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
typedef void (REGAL_CALL *PFNGLXDESTROYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf);
typedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long *mask);
typedef void (REGAL_CALL *PFNGLXQUERYGLXPBUFFERSGIXPROC)(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
typedef void (REGAL_CALL *PFNGLXSELECTEVENTSGIXPROC)(Display *dpy, GLXDrawable drawable, unsigned long mask);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_PBUFFER
#define glXCreateGLXPbufferSGIX rglXCreateGLXPbufferSGIX
#define glXDestroyGLXPbufferSGIX rglXDestroyGLXPbufferSGIX
#define glXGetSelectedEventSGIX rglXGetSelectedEventSGIX
#define glXQueryGLXPbufferSGIX rglXQueryGLXPbufferSGIX
#define glXSelectEventSGIX rglXSelectEventSGIX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGIX_PBUFFER
REGAL_DECL GLXPbuffer REGAL_CALL glXCreateGLXPbufferSGIX(Display *dpy, GLXFBConfig config, unsigned int width, unsigned int height, int *attrib_list);
REGAL_DECL void REGAL_CALL glXDestroyGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf);
REGAL_DECL void REGAL_CALL glXGetSelectedEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long *mask);
REGAL_DECL void REGAL_CALL glXQueryGLXPbufferSGIX(Display *dpy, GLXPbuffer pbuf, int attribute, unsigned int *value);
REGAL_DECL void REGAL_CALL glXSelectEventSGIX(Display *dpy, GLXDrawable drawable, unsigned long mask);
#endif
/**
** GLX_SGIX_swap_barrier
**/
#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER)
#define REGAL_NO_ENUM_GLX_SGIX_SWAP_BARRIER
#endif
#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER)
#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER
#endif
#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER)
#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER
#endif
#if (defined(GLX_SGIX_SWAP_BARRIER) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER)
#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_BARRIER
#endif
#if (defined(GLX_SGIX_SWAP_BARRIER) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_BARRIER)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER)
#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER
#endif
#ifndef GLX_SGIX_swap_barrier
#define GLX_SGIX_swap_barrier 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_BARRIER
typedef Bool (REGAL_CALL *PFNGLXQUERYMAXSWAPBARRIERSSGIXPROC)(Display *dpy, int screen, int *max);
typedef void (REGAL_CALL *PFNGLXBINDSWAPBARRIERSGIXPROC)(Display *dpy, GLXDrawable drawable, int barrier);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_BARRIER
#define glXBindSwapBarrierSGIX rglXBindSwapBarrierSGIX
#define glXQueryMaxSwapBarriersSGIX rglXQueryMaxSwapBarriersSGIX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_BARRIER
REGAL_DECL Bool REGAL_CALL glXQueryMaxSwapBarriersSGIX(Display *dpy, int screen, int *max);
REGAL_DECL void REGAL_CALL glXBindSwapBarrierSGIX(Display *dpy, GLXDrawable drawable, int barrier);
#endif
/**
** GLX_SGIX_swap_group
**/
#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP)
#define REGAL_NO_ENUM_GLX_SGIX_SWAP_GROUP
#endif
#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP)
#define REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP
#endif
#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP)
#define REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP
#endif
#if (defined(GLX_SGIX_SWAP_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP)
#define REGAL_NO_PLUGIN_GLX_SGIX_SWAP_GROUP
#endif
#if (defined(GLX_SGIX_SWAP_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_SWAP_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP)
#define REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP
#endif
#ifndef GLX_SGIX_swap_group
#define GLX_SGIX_swap_group 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_SWAP_GROUP
typedef void (REGAL_CALL *PFNGLXJOINSWAPGROUPSGIXPROC)(Display *dpy, GLXDrawable drawable, GLXDrawable member);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_SWAP_GROUP
#define glXJoinSwapGroupSGIX rglXJoinSwapGroupSGIX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGIX_SWAP_GROUP
REGAL_DECL void REGAL_CALL glXJoinSwapGroupSGIX(Display *dpy, GLXDrawable drawable, GLXDrawable member);
#endif
/**
** GLX_SGIX_video_resize
**/
#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE)
#define REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE
#endif
#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE)
#define REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE
#endif
#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE)
#define REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE
#endif
#if (defined(GLX_SGIX_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE)
#define REGAL_NO_PLUGIN_GLX_SGIX_VIDEO_RESIZE
#endif
#if (defined(GLX_SGIX_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE)
#define REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE
#endif
#ifndef GLX_SGIX_video_resize
#define GLX_SGIX_video_resize 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIX_VIDEO_RESIZE
#define GLX_SYNC_FRAME_SGIX 0x0
#define GLX_SYNC_SWAP_SGIX 0x1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGIX_VIDEO_RESIZE
typedef int (REGAL_CALL *PFNGLXBINDCHANNELTOWINDOWSGIXPROC)(Display *display, int screen, int channel, Window window);
typedef int (REGAL_CALL *PFNGLXCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int x, int y, int w, int h);
typedef int (REGAL_CALL *PFNGLXCHANNELRECTSYNCSGIXPROC)(Display *display, int screen, int channel, GLenum synctype);
typedef int (REGAL_CALL *PFNGLXQUERYCHANNELDELTASSGIXPROC)(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
typedef int (REGAL_CALL *PFNGLXQUERYCHANNELRECTSGIXPROC)(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGIX_VIDEO_RESIZE
#define glXBindChannelToWindowSGIX rglXBindChannelToWindowSGIX
#define glXChannelRectSGIX rglXChannelRectSGIX
#define glXChannelRectSyncSGIX rglXChannelRectSyncSGIX
#define glXQueryChannelDeltasSGIX rglXQueryChannelDeltasSGIX
#define glXQueryChannelRectSGIX rglXQueryChannelRectSGIX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGIX_VIDEO_RESIZE
REGAL_DECL int REGAL_CALL glXBindChannelToWindowSGIX(Display *display, int screen, int channel, Window window);
REGAL_DECL int REGAL_CALL glXChannelRectSGIX(Display *display, int screen, int channel, int x, int y, int w, int h);
REGAL_DECL int REGAL_CALL glXChannelRectSyncSGIX(Display *display, int screen, int channel, GLenum synctype);
REGAL_DECL int REGAL_CALL glXQueryChannelDeltasSGIX(Display *display, int screen, int channel, int *x, int *y, int *w, int *h);
REGAL_DECL int REGAL_CALL glXQueryChannelRectSGIX(Display *display, int screen, int channel, int *dx, int *dy, int *dw, int *dh);
#endif
/**
** GLX_SGIX_visual_select_group
**/
#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP)
#define REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP
#endif
#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP)
#define REGAL_NO_TYPEDEF_GLX_SGIX_VISUAL_SELECT_GROUP
#endif
#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP)
#define REGAL_NO_NAMESPACE_GLX_SGIX_VISUAL_SELECT_GROUP
#endif
#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP)
#define REGAL_NO_PLUGIN_GLX_SGIX_VISUAL_SELECT_GROUP
#endif
#if (defined(GLX_SGIX_VISUAL_SELECT_GROUP) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGIX_VISUAL_SELECT_GROUP)) && !defined(REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP)
#define REGAL_NO_DECLARATION_GLX_SGIX_VISUAL_SELECT_GROUP
#endif
#ifndef GLX_SGIX_visual_select_group
#define GLX_SGIX_visual_select_group 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SGIX_VISUAL_SELECT_GROUP
#define GLX_VISUAL_SELECT_GROUP_SGIX 0x8028 /* 32808 */
#endif
/**
** GLX_SGI_cushion
**/
#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_ENUM_GLX_SGI_CUSHION)
#define REGAL_NO_ENUM_GLX_SGI_CUSHION
#endif
#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_CUSHION)
#define REGAL_NO_TYPEDEF_GLX_SGI_CUSHION
#endif
#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_CUSHION)
#define REGAL_NO_NAMESPACE_GLX_SGI_CUSHION
#endif
#if (defined(GLX_SGI_CUSHION) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_CUSHION)
#define REGAL_NO_PLUGIN_GLX_SGI_CUSHION
#endif
#if (defined(GLX_SGI_CUSHION) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_CUSHION)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_CUSHION)
#define REGAL_NO_DECLARATION_GLX_SGI_CUSHION
#endif
#ifndef GLX_SGI_cushion
#define GLX_SGI_cushion 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGI_CUSHION
typedef void (REGAL_CALL *PFNGLXCUSHIONSGIPROC)(Display *dpy, Window window, float cushion);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGI_CUSHION
#define glXCushionSGI rglXCushionSGI
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGI_CUSHION
REGAL_DECL void REGAL_CALL glXCushionSGI(Display *dpy, Window window, float cushion);
#endif
/**
** GLX_SGI_make_current_read
**/
#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ)
#define REGAL_NO_ENUM_GLX_SGI_MAKE_CURRENT_READ
#endif
#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ)
#define REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ
#endif
#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ)
#define REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ
#endif
#if (defined(GLX_SGI_MAKE_CURRENT_READ) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ)
#define REGAL_NO_PLUGIN_GLX_SGI_MAKE_CURRENT_READ
#endif
#if (defined(GLX_SGI_MAKE_CURRENT_READ) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_MAKE_CURRENT_READ)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ)
#define REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ
#endif
#ifndef GLX_SGI_make_current_read
#define GLX_SGI_make_current_read 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGI_MAKE_CURRENT_READ
typedef Bool (REGAL_CALL *PFNGLXMAKECURRENTREADSGIPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
typedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLESGIPROC)(void);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGI_MAKE_CURRENT_READ
#define glXGetCurrentReadDrawableSGI rglXGetCurrentReadDrawableSGI
#define glXMakeCurrentReadSGI rglXMakeCurrentReadSGI
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGI_MAKE_CURRENT_READ
REGAL_DECL Bool REGAL_CALL glXMakeCurrentReadSGI(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
REGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawableSGI(void);
#endif
/**
** GLX_SGI_swap_control
**/
#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL)
#define REGAL_NO_ENUM_GLX_SGI_SWAP_CONTROL
#endif
#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL)
#define REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL
#endif
#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL)
#define REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL
#endif
#if (defined(GLX_SGI_SWAP_CONTROL) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL)
#define REGAL_NO_PLUGIN_GLX_SGI_SWAP_CONTROL
#endif
#if (defined(GLX_SGI_SWAP_CONTROL) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_SWAP_CONTROL)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL)
#define REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL
#endif
#ifndef GLX_SGI_swap_control
#define GLX_SGI_swap_control 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGI_SWAP_CONTROL
typedef int (REGAL_CALL *PFNGLXSWAPINTERVALSGIPROC)(int interval);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGI_SWAP_CONTROL
#define glXSwapIntervalSGI rglXSwapIntervalSGI
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGI_SWAP_CONTROL
REGAL_DECL int REGAL_CALL glXSwapIntervalSGI(int interval);
#endif
/**
** GLX_SGI_video_sync
**/
#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC)
#define REGAL_NO_ENUM_GLX_SGI_VIDEO_SYNC
#endif
#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC)
#define REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC
#endif
#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC)
#define REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC
#endif
#if (defined(GLX_SGI_VIDEO_SYNC) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC)
#define REGAL_NO_PLUGIN_GLX_SGI_VIDEO_SYNC
#endif
#if (defined(GLX_SGI_VIDEO_SYNC) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SGI_VIDEO_SYNC)) && !defined(REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC)
#define REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC
#endif
#ifndef GLX_SGI_video_sync
#define GLX_SGI_video_sync 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SGI_VIDEO_SYNC
typedef int (REGAL_CALL *PFNGLXGETVIDEOSYNCSGIPROC)(unsigned int *count);
typedef int (REGAL_CALL *PFNGLXWAITVIDEOSYNCSGIPROC)(int divisor, int remainder, unsigned int *count);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SGI_VIDEO_SYNC
#define glXGetVideoSyncSGI rglXGetVideoSyncSGI
#define glXWaitVideoSyncSGI rglXWaitVideoSyncSGI
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SGI_VIDEO_SYNC
REGAL_DECL int REGAL_CALL glXGetVideoSyncSGI(unsigned int *count);
REGAL_DECL int REGAL_CALL glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count);
#endif
/**
** GLX_SUN_get_transparent_index
**/
#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX)
#define REGAL_NO_ENUM_GLX_SUN_GET_TRANSPARENT_INDEX
#endif
#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX)
#define REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX
#endif
#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX)
#define REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX
#endif
#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX)
#define REGAL_NO_PLUGIN_GLX_SUN_GET_TRANSPARENT_INDEX
#endif
#if (defined(GLX_SUN_GET_TRANSPARENT_INDEX) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_GET_TRANSPARENT_INDEX)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX)
#define REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX
#endif
#ifndef GLX_SUN_get_transparent_index
#define GLX_SUN_get_transparent_index 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SUN_GET_TRANSPARENT_INDEX
typedef Status (REGAL_CALL *PFNGLXGETTRANSPARENTINDEXSUNPROC)(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SUN_GET_TRANSPARENT_INDEX
#define glXGetTransparentIndexSUN rglXGetTransparentIndexSUN
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SUN_GET_TRANSPARENT_INDEX
REGAL_DECL Status REGAL_CALL glXGetTransparentIndexSUN(Display *dpy, Window overlay, Window underlay, unsigned long *pTransparentIndex);
#endif
/**
** GLX_SUN_video_resize
**/
#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE)
#define REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE
#endif
#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE)
#define REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE
#endif
#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE)
#define REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE
#endif
#if (defined(GLX_SUN_VIDEO_RESIZE) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE)
#define REGAL_NO_PLUGIN_GLX_SUN_VIDEO_RESIZE
#endif
#if (defined(GLX_SUN_VIDEO_RESIZE) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_SUN_VIDEO_RESIZE)) && !defined(REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE)
#define REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE
#endif
#ifndef GLX_SUN_video_resize
#define GLX_SUN_video_resize 1
#endif
#ifndef REGAL_NO_ENUM_GLX_SUN_VIDEO_RESIZE
#define GLX_VIDEO_RESIZE_SUN 0x8171 /* 33137 */
#define GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85cd /* 34253 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_SUN_VIDEO_RESIZE
typedef int (REGAL_CALL *PFNGLXGETVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float *factor);
typedef int (REGAL_CALL *PFNGLXVIDEORESIZESUNPROC)(Display *display, GLXDrawable window, float factor);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_SUN_VIDEO_RESIZE
#define glXGetVideoResizeSUN rglXGetVideoResizeSUN
#define glXVideoResizeSUN rglXVideoResizeSUN
#endif
#ifndef REGAL_NO_DECLARATION_GLX_SUN_VIDEO_RESIZE
REGAL_DECL int REGAL_CALL glXGetVideoResizeSUN(Display *display, GLXDrawable window, float *factor);
REGAL_DECL int REGAL_CALL glXVideoResizeSUN(Display *display, GLXDrawable window, float factor);
#endif
/**
** GLX_VERSION_1_0
**/
#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_0)
#define REGAL_NO_ENUM_GLX_VERSION_1_0
#endif
#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_0)
#define REGAL_NO_TYPEDEF_GLX_VERSION_1_0
#endif
#if (defined(GLX_VERSION_1_0) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_0)
#define REGAL_NO_NAMESPACE_GLX_VERSION_1_0
#endif
#if (defined(GLX_VERSION_1_0) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_0)
#define REGAL_NO_PLUGIN_GLX_VERSION_1_0
#endif
#if (defined(GLX_VERSION_1_0) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_0)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_0)
#define REGAL_NO_DECLARATION_GLX_VERSION_1_0
#endif
#ifndef GLX_VERSION_1_0
#define GLX_VERSION_1_0 1
#endif
#ifndef REGAL_NO_ENUM_GLX_VERSION_1_0
#define GLX_BAD_SCREEN 0x1
#define GLX_USE_GL 0x1
#define GLX_ACCUM_BLUE_SIZE 0x10 /* 16 */
#define GLX_ACCUM_ALPHA_SIZE 0x11 /* 17 */
#define GLX_BAD_ATTRIBUTE 0x2
#define GLX_BUFFER_SIZE 0x2
#define GLX_LEVEL 0x3
#define GLX_NO_EXTENSION 0x3
#define GLX_BAD_VISUAL 0x4
#define GLX_RGBA 0x4
#define GLX_BAD_CONTEXT 0x5
#define GLX_DOUBLEBUFFER 0x5
#define GLX_BAD_VALUE 0x6
#define GLX_STEREO 0x6
#define GLX_AUX_BUFFERS 0x7
#define GLX_BAD_ENUM 0x7
#define GLX_RED_SIZE 0x8
#define GLX_GREEN_SIZE 0x9
#define GLX_BLUE_SIZE 0xa /* 10 */
#define GLX_ALPHA_SIZE 0xb /* 11 */
#define GLX_DEPTH_SIZE 0xc /* 12 */
#define GLX_STENCIL_SIZE 0xd /* 13 */
#define GLX_ACCUM_RED_SIZE 0xe /* 14 */
#define GLX_ACCUM_GREEN_SIZE 0xf /* 15 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_0
typedef Bool (REGAL_CALL *PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx);
typedef Bool (REGAL_CALL *PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx);
typedef Bool (REGAL_CALL *PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorBase, int *eventBase);
typedef Bool (REGAL_CALL *PFNGLXQUERYVERSIONPROC)(Display *dpy, int *major, int *minor);
typedef GLXContext (REGAL_CALL *PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
typedef GLXContext (REGAL_CALL *PFNGLXGETCURRENTCONTEXTPROC)(void);
typedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTDRAWABLEPROC)(void);
typedef GLXPixmap (REGAL_CALL *PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *vis, Pixmap pixmap);
typedef XVisualInfo *(REGAL_CALL *PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList);
typedef int (REGAL_CALL *PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *vis, int attrib, int *value);
typedef void (REGAL_CALL *PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);
typedef void (REGAL_CALL *PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx);
typedef void (REGAL_CALL *PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pix);
typedef void (REGAL_CALL *PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable);
typedef void (REGAL_CALL *PFNGLXUSEXFONTPROC)(Font font, int first, int count, int listBase);
typedef void (REGAL_CALL *PFNGLXWAITGLPROC)(void);
typedef void (REGAL_CALL *PFNGLXWAITXPROC)(void);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_0
#define glXChooseVisual rglXChooseVisual
#define glXCopyContext rglXCopyContext
#define glXCreateContext rglXCreateContext
#define glXCreateGLXPixmap rglXCreateGLXPixmap
#define glXDestroyContext rglXDestroyContext
#define glXDestroyGLXPixmap rglXDestroyGLXPixmap
#define glXGetConfig rglXGetConfig
#define glXGetCurrentContext rglXGetCurrentContext
#define glXGetCurrentDrawable rglXGetCurrentDrawable
#define glXIsDirect rglXIsDirect
#define glXMakeCurrent rglXMakeCurrent
#define glXQueryExtension rglXQueryExtension
#define glXQueryVersion rglXQueryVersion
#define glXSwapBuffers rglXSwapBuffers
#define glXUseXFont rglXUseXFont
#define glXWaitGL rglXWaitGL
#define glXWaitX rglXWaitX
#endif
#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_0
REGAL_DECL Bool REGAL_CALL glXIsDirect(Display *dpy, GLXContext ctx);
REGAL_DECL Bool REGAL_CALL glXMakeCurrent(Display *dpy, GLXDrawable drawable, GLXContext ctx);
REGAL_DECL Bool REGAL_CALL glXQueryExtension(Display *dpy, int *errorBase, int *eventBase);
REGAL_DECL Bool REGAL_CALL glXQueryVersion(Display *dpy, int *major, int *minor);
REGAL_DECL GLXContext REGAL_CALL glXCreateContext(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
REGAL_DECL GLXContext REGAL_CALL glXGetCurrentContext(void);
REGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentDrawable(void);
REGAL_DECL GLXPixmap REGAL_CALL glXCreateGLXPixmap(Display *dpy, XVisualInfo *vis, Pixmap pixmap);
REGAL_DECL XVisualInfo *REGAL_CALL glXChooseVisual(Display *dpy, int screen, int *attribList);
REGAL_DECL int REGAL_CALL glXGetConfig(Display *dpy, XVisualInfo *vis, int attrib, int *value);
REGAL_DECL void REGAL_CALL glXCopyContext(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask);
REGAL_DECL void REGAL_CALL glXDestroyContext(Display *dpy, GLXContext ctx);
REGAL_DECL void REGAL_CALL glXDestroyGLXPixmap(Display *dpy, GLXPixmap pix);
REGAL_DECL void REGAL_CALL glXSwapBuffers(Display *dpy, GLXDrawable drawable);
REGAL_DECL void REGAL_CALL glXUseXFont(Font font, int first, int count, int listBase);
REGAL_DECL void REGAL_CALL glXWaitGL(void);
REGAL_DECL void REGAL_CALL glXWaitX(void);
#endif
/**
** GLX_VERSION_1_1
**/
#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_1)
#define REGAL_NO_ENUM_GLX_VERSION_1_1
#endif
#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_1)
#define REGAL_NO_TYPEDEF_GLX_VERSION_1_1
#endif
#if (defined(GLX_VERSION_1_1) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_1)
#define REGAL_NO_NAMESPACE_GLX_VERSION_1_1
#endif
#if (defined(GLX_VERSION_1_1) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_1)
#define REGAL_NO_PLUGIN_GLX_VERSION_1_1
#endif
#if (defined(GLX_VERSION_1_1) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_1)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_1)
#define REGAL_NO_DECLARATION_GLX_VERSION_1_1
#endif
#ifndef GLX_VERSION_1_1
#define GLX_VERSION_1_1 1
#endif
#ifndef REGAL_NO_ENUM_GLX_VERSION_1_1
#define GLX_VENDOR 0x1
#define GLX_VERSION 0x2
#define GLX_EXTENSIONS 0x3
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_1
typedef const char *(REGAL_CALL *PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name);
typedef const char *(REGAL_CALL *PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen);
typedef const char *(REGAL_CALL *PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_1
#define glXGetClientString rglXGetClientString
#define glXQueryExtensionsString rglXQueryExtensionsString
#define glXQueryServerString rglXQueryServerString
#endif
#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_1
REGAL_DECL const char *REGAL_CALL glXGetClientString(Display *dpy, int name);
REGAL_DECL const char *REGAL_CALL glXQueryExtensionsString(Display *dpy, int screen);
REGAL_DECL const char *REGAL_CALL glXQueryServerString(Display *dpy, int screen, int name);
#endif
/**
** GLX_VERSION_1_2
**/
#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_2)
#define REGAL_NO_ENUM_GLX_VERSION_1_2
#endif
#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_2)
#define REGAL_NO_TYPEDEF_GLX_VERSION_1_2
#endif
#if (defined(GLX_VERSION_1_2) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_2)
#define REGAL_NO_NAMESPACE_GLX_VERSION_1_2
#endif
#if (defined(GLX_VERSION_1_2) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_2)
#define REGAL_NO_PLUGIN_GLX_VERSION_1_2
#endif
#if (defined(GLX_VERSION_1_2) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_2)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_2)
#define REGAL_NO_DECLARATION_GLX_VERSION_1_2
#endif
#ifndef GLX_VERSION_1_2
#define GLX_VERSION_1_2 1
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_2
typedef Display *(REGAL_CALL *PFNGLXGETCURRENTDISPLAYPROC)(void);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_2
#define glXGetCurrentDisplay rglXGetCurrentDisplay
#endif
#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_2
REGAL_DECL Display *REGAL_CALL glXGetCurrentDisplay(void);
#endif
/**
** GLX_VERSION_1_3
**/
#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_3)
#define REGAL_NO_ENUM_GLX_VERSION_1_3
#endif
#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_3)
#define REGAL_NO_TYPEDEF_GLX_VERSION_1_3
#endif
#if (defined(GLX_VERSION_1_3) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_3)
#define REGAL_NO_NAMESPACE_GLX_VERSION_1_3
#endif
#if (defined(GLX_VERSION_1_3) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_3)
#define REGAL_NO_PLUGIN_GLX_VERSION_1_3
#endif
#if (defined(GLX_VERSION_1_3) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_3)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_3)
#define REGAL_NO_DECLARATION_GLX_VERSION_1_3
#endif
#ifndef GLX_VERSION_1_3
#define GLX_VERSION_1_3 1
#endif
#ifndef REGAL_NO_ENUM_GLX_VERSION_1_3
#define GLX_FRONT_LEFT_BUFFER_BIT 0x1
#define GLX_RGBA_BIT 0x1
#define GLX_WINDOW_BIT 0x1
#define GLX_AUX_BUFFERS_BIT 0x10 /* 16 */
#define GLX_COLOR_INDEX_BIT 0x2
#define GLX_FRONT_RIGHT_BUFFER_BIT 0x2
#define GLX_PIXMAP_BIT 0x2
#define GLX_CONFIG_CAVEAT 0x20 /* 32 */
#define GLX_DEPTH_BUFFER_BIT 0x20 /* 32 */
#define GLX_X_VISUAL_TYPE 0x22 /* 34 */
#define GLX_TRANSPARENT_TYPE 0x23 /* 35 */
#define GLX_TRANSPARENT_INDEX_VALUE 0x24 /* 36 */
#define GLX_TRANSPARENT_RED_VALUE 0x25 /* 37 */
#define GLX_TRANSPARENT_GREEN_VALUE 0x26 /* 38 */
#define GLX_TRANSPARENT_BLUE_VALUE 0x27 /* 39 */
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28 /* 40 */
#define GLX_BACK_LEFT_BUFFER_BIT 0x4
#define GLX_PBUFFER_BIT 0x4
#define GLX_STENCIL_BUFFER_BIT 0x40 /* 64 */
#define GLX_BACK_RIGHT_BUFFER_BIT 0x8
#define GLX_ACCUM_BUFFER_BIT 0x80 /* 128 */
#define GLX_NONE 0x8000 /* 32768 */
#define GLX_PBUFFER_CLOBBER_MASK 0x8000000 /* 134217728 */
#define GLX_SLOW_CONFIG 0x8001 /* 32769 */
#define GLX_TRUE_COLOR 0x8002 /* 32770 */
#define GLX_DIRECT_COLOR 0x8003 /* 32771 */
#define GLX_PSEUDO_COLOR 0x8004 /* 32772 */
#define GLX_STATIC_COLOR 0x8005 /* 32773 */
#define GLX_GRAY_SCALE 0x8006 /* 32774 */
#define GLX_STATIC_GRAY 0x8007 /* 32775 */
#define GLX_TRANSPARENT_RGB 0x8008 /* 32776 */
#define GLX_TRANSPARENT_INDEX 0x8009 /* 32777 */
#define GLX_VISUAL_ID 0x800b /* 32779 */
#define GLX_SCREEN 0x800c /* 32780 */
#define GLX_NON_CONFORMANT_CONFIG 0x800d /* 32781 */
#define GLX_DRAWABLE_TYPE 0x8010 /* 32784 */
#define GLX_RENDER_TYPE 0x8011 /* 32785 */
#define GLX_X_RENDERABLE 0x8012 /* 32786 */
#define GLX_FBCONFIG_ID 0x8013 /* 32787 */
#define GLX_RGBA_TYPE 0x8014 /* 32788 */
#define GLX_COLOR_INDEX_TYPE 0x8015 /* 32789 */
#define GLX_MAX_PBUFFER_WIDTH 0x8016 /* 32790 */
#define GLX_MAX_PBUFFER_HEIGHT 0x8017 /* 32791 */
#define GLX_MAX_PBUFFER_PIXELS 0x8018 /* 32792 */
#define GLX_PRESERVED_CONTENTS 0x801b /* 32795 */
#define GLX_LARGEST_PBUFFER 0x801c /* 32796 */
#define GLX_WIDTH 0x801d /* 32797 */
#define GLX_HEIGHT 0x801e /* 32798 */
#define GLX_EVENT_MASK 0x801f /* 32799 */
#define GLX_DAMAGED 0x8020 /* 32800 */
#define GLX_SAVED 0x8021 /* 32801 */
#define GLX_WINDOW 0x8022 /* 32802 */
#define GLX_PBUFFER 0x8023 /* 32803 */
#define GLX_PBUFFER_HEIGHT 0x8040 /* 32832 */
#define GLX_PBUFFER_WIDTH 0x8041 /* 32833 */
#define GLX_DONT_CARE 0xffffffff /* 4294967295 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_3
typedef Bool (REGAL_CALL *PFNGLXMAKECONTEXTCURRENTPROC)(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
typedef GLXContext (REGAL_CALL *PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
typedef GLXDrawable (REGAL_CALL *PFNGLXGETCURRENTREADDRAWABLEPROC)(void);
typedef GLXFBConfig *(REGAL_CALL *PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements);
typedef GLXFBConfig *(REGAL_CALL *PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements);
typedef GLXPbuffer (REGAL_CALL *PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list);
typedef GLXPixmap (REGAL_CALL *PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
typedef GLXWindow (REGAL_CALL *PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
typedef XVisualInfo *(REGAL_CALL *PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config);
typedef int (REGAL_CALL *PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value);
typedef int (REGAL_CALL *PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value);
typedef void (REGAL_CALL *PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf);
typedef void (REGAL_CALL *PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap);
typedef void (REGAL_CALL *PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win);
typedef void (REGAL_CALL *PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask);
typedef void (REGAL_CALL *PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
typedef void (REGAL_CALL *PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_3
#define glXChooseFBConfig rglXChooseFBConfig
#define glXCreateNewContext rglXCreateNewContext
#define glXCreatePbuffer rglXCreatePbuffer
#define glXCreatePixmap rglXCreatePixmap
#define glXCreateWindow rglXCreateWindow
#define glXDestroyPbuffer rglXDestroyPbuffer
#define glXDestroyPixmap rglXDestroyPixmap
#define glXDestroyWindow rglXDestroyWindow
#define glXGetCurrentReadDrawable rglXGetCurrentReadDrawable
#define glXGetFBConfigAttrib rglXGetFBConfigAttrib
#define glXGetFBConfigs rglXGetFBConfigs
#define glXGetSelectedEvent rglXGetSelectedEvent
#define glXGetVisualFromFBConfig rglXGetVisualFromFBConfig
#define glXMakeContextCurrent rglXMakeContextCurrent
#define glXQueryContext rglXQueryContext
#define glXQueryDrawable rglXQueryDrawable
#define glXSelectEvent rglXSelectEvent
#endif
#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_3
REGAL_DECL Bool REGAL_CALL glXMakeContextCurrent(Display *display, GLXDrawable draw, GLXDrawable read, GLXContext ctx);
REGAL_DECL GLXContext REGAL_CALL glXCreateNewContext(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct);
REGAL_DECL GLXDrawable REGAL_CALL glXGetCurrentReadDrawable(void);
REGAL_DECL GLXFBConfig *REGAL_CALL glXChooseFBConfig(Display *dpy, int screen, const int *attrib_list, int *nelements);
REGAL_DECL GLXFBConfig *REGAL_CALL glXGetFBConfigs(Display *dpy, int screen, int *nelements);
REGAL_DECL GLXPbuffer REGAL_CALL glXCreatePbuffer(Display *dpy, GLXFBConfig config, const int *attrib_list);
REGAL_DECL GLXPixmap REGAL_CALL glXCreatePixmap(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list);
REGAL_DECL GLXWindow REGAL_CALL glXCreateWindow(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list);
REGAL_DECL XVisualInfo *REGAL_CALL glXGetVisualFromFBConfig(Display *dpy, GLXFBConfig config);
REGAL_DECL int REGAL_CALL glXGetFBConfigAttrib(Display *dpy, GLXFBConfig config, int attribute, int *value);
REGAL_DECL int REGAL_CALL glXQueryContext(Display *dpy, GLXContext ctx, int attribute, int *value);
REGAL_DECL void REGAL_CALL glXDestroyPbuffer(Display *dpy, GLXPbuffer pbuf);
REGAL_DECL void REGAL_CALL glXDestroyPixmap(Display *dpy, GLXPixmap pixmap);
REGAL_DECL void REGAL_CALL glXDestroyWindow(Display *dpy, GLXWindow win);
REGAL_DECL void REGAL_CALL glXGetSelectedEvent(Display *dpy, GLXDrawable draw, unsigned long *event_mask);
REGAL_DECL void REGAL_CALL glXQueryDrawable(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value);
REGAL_DECL void REGAL_CALL glXSelectEvent(Display *dpy, GLXDrawable draw, unsigned long event_mask);
#endif
/**
** GLX_VERSION_1_4
**/
#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_ENUM) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_ENUM_GLX_VERSION_1_4)
#define REGAL_NO_ENUM_GLX_VERSION_1_4
#endif
#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_TYPEDEF) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_TYPEDEF_GLX_VERSION_1_4)
#define REGAL_NO_TYPEDEF_GLX_VERSION_1_4
#endif
#if (defined(GLX_VERSION_1_4) || !defined(REGAL_NAMESPACE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_NAMESPACE_GLX_VERSION_1_4)
#define REGAL_NO_NAMESPACE_GLX_VERSION_1_4
#endif
#if (defined(GLX_VERSION_1_4) || !defined(REGAL_PLUGIN_MODE) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_PLUGIN_GLX_VERSION_1_4)
#define REGAL_NO_PLUGIN_GLX_VERSION_1_4
#endif
#if (defined(GLX_VERSION_1_4) || defined(REGAL_NO_DECLARATION) || defined(REGAL_NO_GLX_VERSION_1_4)) && !defined(REGAL_NO_DECLARATION_GLX_VERSION_1_4)
#define REGAL_NO_DECLARATION_GLX_VERSION_1_4
#endif
#ifndef GLX_VERSION_1_4
#define GLX_VERSION_1_4 1
#endif
#ifndef REGAL_NO_ENUM_GLX_VERSION_1_4
#define GLX_SAMPLE_BUFFERS 0x186a0 /* 100000 */
#define GLX_SAMPLES 0x186a1 /* 100001 */
#endif
#ifndef REGAL_NO_TYPEDEF_GLX_VERSION_1_4
typedef __GLXextFuncPtr (REGAL_CALL *PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName);
#endif
#ifndef REGAL_NO_NAMESPACE_GLX_VERSION_1_4
#define glXGetProcAddress rglXGetProcAddress
#endif
#ifndef REGAL_NO_DECLARATION_GLX_VERSION_1_4
REGAL_DECL __GLXextFuncPtr REGAL_CALL glXGetProcAddress(const GLubyte *procName);
#endif
#endif /* REGAL_SYS_GLX */
#ifdef __cplusplus
}
#endif
#endif /* __REGAL_GLX_H__ */