33 #error GLX header already included (API: glx), remove previous include!
45#define GLAD_OPTION_GLX_LOADER
51#ifndef GLAD_PLATFORM_H_
52#define GLAD_PLATFORM_H_
54#ifndef GLAD_PLATFORM_WIN32
55 #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
56 #define GLAD_PLATFORM_WIN32 1
58 #define GLAD_PLATFORM_WIN32 0
62#ifndef GLAD_PLATFORM_APPLE
64 #define GLAD_PLATFORM_APPLE 1
66 #define GLAD_PLATFORM_APPLE 0
70#ifndef GLAD_PLATFORM_EMSCRIPTEN
72 #define GLAD_PLATFORM_EMSCRIPTEN 1
74 #define GLAD_PLATFORM_EMSCRIPTEN 0
78#ifndef GLAD_PLATFORM_UWP
79 #if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
81 #if __has_include(<winapifamily.h>)
82 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
84 #elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
85 #define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
89 #ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
90 #include <winapifamily.h>
91 #if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
92 #define GLAD_PLATFORM_UWP 1
96 #ifndef GLAD_PLATFORM_UWP
97 #define GLAD_PLATFORM_UWP 0
102 #define GLAD_GNUC_EXTENSION __extension__
104 #define GLAD_GNUC_EXTENSION
107#define GLAD_UNUSED(x) (void)(x)
110 #if defined(GLAD_API_CALL_EXPORT)
111 #if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
112 #if defined(GLAD_API_CALL_EXPORT_BUILD)
113 #if defined(__GNUC__)
114 #define GLAD_API_CALL __attribute__ ((dllexport)) extern
116 #define GLAD_API_CALL __declspec(dllexport) extern
119 #if defined(__GNUC__)
120 #define GLAD_API_CALL __attribute__ ((dllimport)) extern
122 #define GLAD_API_CALL __declspec(dllimport) extern
125 #elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
126 #define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
128 #define GLAD_API_CALL extern
131 #define GLAD_API_CALL extern
136 #define GLAD_API_PTR APIENTRY
137#elif GLAD_PLATFORM_WIN32
138 #define GLAD_API_PTR __stdcall
144#define GLAPI GLAD_API_CALL
148#define GLAPIENTRY GLAD_API_PTR
151#define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
152#define GLAD_VERSION_MAJOR(version) (version / 10000)
153#define GLAD_VERSION_MINOR(version) (version % 10000)
155#define GLAD_GENERATOR_VERSION "2.0.8"
167#define GLX_ACCUM_ALPHA_SIZE 17
168#define GLX_ACCUM_BLUE_SIZE 16
169#define GLX_ACCUM_BUFFER_BIT 0x00000080
170#define GLX_ACCUM_GREEN_SIZE 15
171#define GLX_ACCUM_RED_SIZE 14
172#define GLX_ALPHA_SIZE 11
173#define GLX_AUX_BUFFERS 7
174#define GLX_AUX_BUFFERS_BIT 0x00000010
175#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
176#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
177#define GLX_BAD_ATTRIBUTE 2
178#define GLX_BAD_CONTEXT 5
179#define GLX_BAD_ENUM 7
180#define GLX_BAD_SCREEN 1
181#define GLX_BAD_VALUE 6
182#define GLX_BAD_VISUAL 4
183#define GLX_BLUE_SIZE 10
184#define GLX_BUFFER_SIZE 2
185#define GLX_BufferSwapComplete 1
186#define GLX_COLOR_INDEX_BIT 0x00000002
187#define GLX_COLOR_INDEX_TYPE 0x8015
188#define GLX_CONFIG_CAVEAT 0x20
189#define GLX_DAMAGED 0x8020
190#define GLX_DEPTH_BUFFER_BIT 0x00000020
191#define GLX_DEPTH_SIZE 12
192#define GLX_DIRECT_COLOR 0x8003
193#define GLX_DONT_CARE 0xFFFFFFFF
194#define GLX_DOUBLEBUFFER 5
195#define GLX_DRAWABLE_TYPE 0x8010
196#define GLX_EVENT_MASK 0x801F
197#define GLX_EXTENSIONS 0x3
198#define GLX_EXTENSION_NAME "GLX"
199#define GLX_FBCONFIG_ID 0x8013
200#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
201#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
202#define GLX_GRAY_SCALE 0x8006
203#define GLX_GREEN_SIZE 9
204#define GLX_HEIGHT 0x801E
205#define GLX_LARGEST_PBUFFER 0x801C
207#define GLX_MAX_PBUFFER_HEIGHT 0x8017
208#define GLX_MAX_PBUFFER_PIXELS 0x8018
209#define GLX_MAX_PBUFFER_WIDTH 0x8016
210#define GLX_NONE 0x8000
211#define GLX_NON_CONFORMANT_CONFIG 0x800D
212#define GLX_NO_EXTENSION 3
213#define GLX_PBUFFER 0x8023
214#define GLX_PBUFFER_BIT 0x00000004
215#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
216#define GLX_PBUFFER_HEIGHT 0x8040
217#define GLX_PBUFFER_WIDTH 0x8041
218#define GLX_PIXMAP_BIT 0x00000002
219#define GLX_PRESERVED_CONTENTS 0x801B
220#define GLX_PSEUDO_COLOR 0x8004
221#define GLX_PbufferClobber 0
222#define GLX_RED_SIZE 8
223#define GLX_RENDER_TYPE 0x8011
225#define GLX_RGBA_BIT 0x00000001
226#define GLX_RGBA_TYPE 0x8014
227#define GLX_SAMPLES 100001
228#define GLX_SAMPLES_ARB 100001
229#define GLX_SAMPLE_BUFFERS 100000
230#define GLX_SAMPLE_BUFFERS_ARB 100000
231#define GLX_SAVED 0x8021
232#define GLX_SCREEN 0x800C
233#define GLX_SLOW_CONFIG 0x8001
234#define GLX_STATIC_COLOR 0x8005
235#define GLX_STATIC_GRAY 0x8007
236#define GLX_STENCIL_BUFFER_BIT 0x00000040
237#define GLX_STENCIL_SIZE 13
239#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
240#define GLX_TRANSPARENT_BLUE_VALUE 0x27
241#define GLX_TRANSPARENT_GREEN_VALUE 0x26
242#define GLX_TRANSPARENT_INDEX 0x8009
243#define GLX_TRANSPARENT_INDEX_VALUE 0x24
244#define GLX_TRANSPARENT_RED_VALUE 0x25
245#define GLX_TRANSPARENT_RGB 0x8008
246#define GLX_TRANSPARENT_TYPE 0x23
247#define GLX_TRUE_COLOR 0x8002
249#define GLX_VENDOR 0x1
250#define GLX_VERSION 0x2
251#define GLX_VISUAL_ID 0x800B
252#define GLX_WIDTH 0x801D
253#define GLX_WINDOW 0x8022
254#define GLX_WINDOW_BIT 0x00000001
255#define GLX_X_RENDERABLE 0x8012
256#define GLX_X_VISUAL_TYPE 0x22
257#define __GLX_NUMBER_EVENTS 17
260#ifndef GLEXT_64_TYPES_DEFINED
262#define GLEXT_64_TYPES_DEFINED
265#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
267#elif defined(__sun__) || defined(__digital__)
270#if defined(__arch64__) || defined(_LP64)
271typedef long int int64_t;
272typedef unsigned long int uint64_t;
274typedef long long int int64_t;
275typedef unsigned long long int uint64_t;
278#elif defined( __VMS ) || defined(__sgi)
280#elif defined(__SCO__) || defined(__USLC__)
282#elif defined(__UNIXOS2__) || defined(__SOL64__)
283typedef long int int32_t;
284typedef long long int int64_t;
285typedef unsigned long long int uint64_t;
286#elif defined(_WIN32) && defined(__GNUC__)
289typedef __int32 int32_t;
290typedef __int64 int64_t;
291typedef unsigned __int64 uint64_t;
314#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
320#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
420#define GLX_VERSION_1_0 1
422#define GLX_VERSION_1_1 1
424#define GLX_VERSION_1_2 1
426#define GLX_VERSION_1_3 1
428#define GLX_VERSION_1_4 1
430#define GLX_ARB_multisample 1
475#define glXChooseFBConfig glad_glXChooseFBConfig
477#define glXChooseVisual glad_glXChooseVisual
479#define glXCopyContext glad_glXCopyContext
481#define glXCreateContext glad_glXCreateContext
483#define glXCreateGLXPixmap glad_glXCreateGLXPixmap
485#define glXCreateNewContext glad_glXCreateNewContext
487#define glXCreatePbuffer glad_glXCreatePbuffer
489#define glXCreatePixmap glad_glXCreatePixmap
491#define glXCreateWindow glad_glXCreateWindow
493#define glXDestroyContext glad_glXDestroyContext
495#define glXDestroyGLXPixmap glad_glXDestroyGLXPixmap
497#define glXDestroyPbuffer glad_glXDestroyPbuffer
499#define glXDestroyPixmap glad_glXDestroyPixmap
501#define glXDestroyWindow glad_glXDestroyWindow
503#define glXGetClientString glad_glXGetClientString
505#define glXGetConfig glad_glXGetConfig
507#define glXGetCurrentContext glad_glXGetCurrentContext
509#define glXGetCurrentDisplay glad_glXGetCurrentDisplay
511#define glXGetCurrentDrawable glad_glXGetCurrentDrawable
513#define glXGetCurrentReadDrawable glad_glXGetCurrentReadDrawable
515#define glXGetFBConfigAttrib glad_glXGetFBConfigAttrib
517#define glXGetFBConfigs glad_glXGetFBConfigs
519#define glXGetProcAddress glad_glXGetProcAddress
521#define glXGetSelectedEvent glad_glXGetSelectedEvent
523#define glXGetVisualFromFBConfig glad_glXGetVisualFromFBConfig
525#define glXIsDirect glad_glXIsDirect
527#define glXMakeContextCurrent glad_glXMakeContextCurrent
529#define glXMakeCurrent glad_glXMakeCurrent
531#define glXQueryContext glad_glXQueryContext
533#define glXQueryDrawable glad_glXQueryDrawable
535#define glXQueryExtension glad_glXQueryExtension
537#define glXQueryExtensionsString glad_glXQueryExtensionsString
539#define glXQueryServerString glad_glXQueryServerString
541#define glXQueryVersion glad_glXQueryVersion
543#define glXSelectEvent glad_glXSelectEvent
545#define glXSwapBuffers glad_glXSwapBuffers
547#define glXUseXFont glad_glXUseXFont
549#define glXWaitGL glad_glXWaitGL
551#define glXWaitX glad_glXWaitX
GLADapiproc(* GLADuserptrloadfunc)(void *userptr, const char *name)
void(* GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args,...)
void(* GLADapiproc)(void)
void(* GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args,...)
GLADapiproc(* GLADloadfunc)(const char *name)
PFNGLXQUERYVERSIONPROC glad_glXQueryVersion
int gladLoaderLoadGLX(Display *display, int screen)
GLXContext(* PFNGLXCREATENEWCONTEXTPROC)(Display *dpy, GLXFBConfig config, int render_type, GLXContext share_list, Bool direct)
struct __GLXFBConfigRec * GLXFBConfig
PFNGLXDESTROYWINDOWPROC glad_glXDestroyWindow
Bool(* PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx)
PFNGLXDESTROYPIXMAPPROC glad_glXDestroyPixmap
PFNGLXUSEXFONTPROC glad_glXUseXFont
Bool(* PFNGLXMAKECONTEXTCURRENTPROC)(Display *dpy, GLXDrawable draw, GLXDrawable read, GLXContext ctx)
PFNGLXGETVISUALFROMFBCONFIGPROC glad_glXGetVisualFromFBConfig
PFNGLXGETCURRENTDRAWABLEPROC glad_glXGetCurrentDrawable
PFNGLXGETFBCONFIGATTRIBPROC glad_glXGetFBConfigAttrib
PFNGLXCREATENEWCONTEXTPROC glad_glXCreateNewContext
PFNGLXCREATEPIXMAPPROC glad_glXCreatePixmap
PFNGLXQUERYSERVERSTRINGPROC glad_glXQueryServerString
const char *(* PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name)
XID GLXVideoCaptureDeviceNV
void(* PFNGLXWAITGLPROC)(void)
PFNGLXQUERYCONTEXTPROC glad_glXQueryContext
void(* GLADapiproc)(void)
PFNGLXCREATECONTEXTPROC glad_glXCreateContext
void(* PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pixmap)
GLXPbuffer(* PFNGLXCREATEPBUFFERPROC)(Display *dpy, GLXFBConfig config, const int *attrib_list)
Bool(* PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx)
PFNGLXDESTROYPBUFFERPROC glad_glXDestroyPbuffer
void(* __GLXextFuncPtr)(void)
int(* PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value)
__GLXextFuncPtr(* PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName)
GLXFBConfig *(* PFNGLXCHOOSEFBCONFIGPROC)(Display *dpy, int screen, const int *attrib_list, int *nelements)
int(* PFNGLXQUERYCONTEXTPROC)(Display *dpy, GLXContext ctx, int attribute, int *value)
void(* PFNGLXDESTROYPBUFFERPROC)(Display *dpy, GLXPbuffer pbuf)
Bool(* PFNGLXQUERYVERSIONPROC)(Display *dpy, int *maj, int *min)
Display *(* PFNGLXGETCURRENTDISPLAYPROC)(void)
PFNGLXCOPYCONTEXTPROC glad_glXCopyContext
PFNGLXCHOOSEVISUALPROC glad_glXChooseVisual
GLXContext(* PFNGLXCREATECONTEXTPROC)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct)
PFNGLXSWAPBUFFERSPROC glad_glXSwapBuffers
PFNGLXGETCONFIGPROC glad_glXGetConfig
PFNGLXWAITGLPROC glad_glXWaitGL
void gladLoaderUnloadGLX(void)
int gladLoadGLX(Display *display, int screen, GLADloadfunc load)
int GLAD_GLX_ARB_multisample
XVisualInfo *(* PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *dpy, GLXFBConfig config)
void(* PFNGLXCOPYCONTEXTPROC)(Display *dpy, GLXContext src, GLXContext dst, unsigned long mask)
PFNGLXQUERYDRAWABLEPROC glad_glXQueryDrawable
void(* PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable)
PFNGLXGETPROCADDRESSPROC glad_glXGetProcAddress
GLXPixmap(* PFNGLXCREATEPIXMAPPROC)(Display *dpy, GLXFBConfig config, Pixmap pixmap, const int *attrib_list)
PFNGLXQUERYEXTENSIONPROC glad_glXQueryExtension
int(* PFNGLXGETFBCONFIGATTRIBPROC)(Display *dpy, GLXFBConfig config, int attribute, int *value)
PFNGLXGETCLIENTSTRINGPROC glad_glXGetClientString
const char *(* PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name)
PFNGLXSELECTEVENTPROC glad_glXSelectEvent
PFNGLXQUERYEXTENSIONSSTRINGPROC glad_glXQueryExtensionsString
union __GLXEvent GLXEvent
PFNGLXDESTROYCONTEXTPROC glad_glXDestroyContext
void(* PFNGLXDESTROYWINDOWPROC)(Display *dpy, GLXWindow win)
PFNGLXCHOOSEFBCONFIGPROC glad_glXChooseFBConfig
const char *(* PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen)
void(* PFNGLXSELECTEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long event_mask)
struct __GLXcontextRec * GLXContext
PFNGLXMAKECURRENTPROC glad_glXMakeCurrent
GLXFBConfig *(* PFNGLXGETFBCONFIGSPROC)(Display *dpy, int screen, int *nelements)
GLXWindow(* PFNGLXCREATEWINDOWPROC)(Display *dpy, GLXFBConfig config, Window win, const int *attrib_list)
PFNGLXGETSELECTEDEVENTPROC glad_glXGetSelectedEvent
GLXDrawable(* PFNGLXGETCURRENTDRAWABLEPROC)(void)
PFNGLXISDIRECTPROC glad_glXIsDirect
void(* PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx)
GLXPixmap(* PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap)
void(* PFNGLXUSEXFONTPROC)(Font font, int first, int count, int list)
GLXDrawable(* PFNGLXGETCURRENTREADDRAWABLEPROC)(void)
void(* PFNGLXDESTROYPIXMAPPROC)(Display *dpy, GLXPixmap pixmap)
PFNGLXGETCURRENTREADDRAWABLEPROC glad_glXGetCurrentReadDrawable
PFNGLXGETCURRENTDISPLAYPROC glad_glXGetCurrentDisplay
PFNGLXMAKECONTEXTCURRENTPROC glad_glXMakeContextCurrent
GLXContext(* PFNGLXGETCURRENTCONTEXTPROC)(void)
PFNGLXCREATEWINDOWPROC glad_glXCreateWindow
PFNGLXDESTROYGLXPIXMAPPROC glad_glXDestroyGLXPixmap
PFNGLXCREATEPBUFFERPROC glad_glXCreatePbuffer
Bool(* PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorb, int *event)
void(* PFNGLXQUERYDRAWABLEPROC)(Display *dpy, GLXDrawable draw, int attribute, unsigned int *value)
int gladLoadGLXUserPtr(Display *display, int screen, GLADuserptrloadfunc load, void *userptr)
PFNGLXGETCURRENTCONTEXTPROC glad_glXGetCurrentContext
void(* PFNGLXWAITXPROC)(void)
PFNGLXGETFBCONFIGSPROC glad_glXGetFBConfigs
XVisualInfo *(* PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList)
PFNGLXCREATEGLXPIXMAPPROC glad_glXCreateGLXPixmap
struct __GLXFBConfigRec * GLXFBConfigSGIX
PFNGLXWAITXPROC glad_glXWaitX
unsigned int GLXVideoDeviceNV
void(* PFNGLXGETSELECTEDEVENTPROC)(Display *dpy, GLXDrawable draw, unsigned long *event_mask)
unsigned int participationType
GLXBufferSwapComplete glxbufferswapcomplete
GLXPbufferClobberEvent glxpbufferclobber