29#define GLX_RGBA_BIT 0x00000001
30#define GLX_WINDOW_BIT 0x00000001
31#define GLX_DRAWABLE_TYPE 0x8010
32#define GLX_RENDER_TYPE 0x8011
33#define GLX_RGBA_TYPE 0x8014
34#define GLX_DOUBLEBUFFER 5
36#define GLX_AUX_BUFFERS 7
38#define GLX_GREEN_SIZE 9
39#define GLX_BLUE_SIZE 10
40#define GLX_ALPHA_SIZE 11
41#define GLX_DEPTH_SIZE 12
42#define GLX_STENCIL_SIZE 13
43#define GLX_ACCUM_RED_SIZE 14
44#define GLX_ACCUM_GREEN_SIZE 15
45#define GLX_ACCUM_BLUE_SIZE 16
46#define GLX_ACCUM_ALPHA_SIZE 17
47#define GLX_SAMPLES 0x186a1
48#define GLX_VISUAL_ID 0x800b
50#define GLX_FRAMEBUFFER_SRGB_CAPABLE_ARB 0x20b2
51#define GLX_CONTEXT_DEBUG_BIT_ARB 0x00000001
52#define GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB 0x00000002
53#define GLX_CONTEXT_CORE_PROFILE_BIT_ARB 0x00000001
54#define GLX_CONTEXT_PROFILE_MASK_ARB 0x9126
55#define GLX_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x00000002
56#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091
57#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092
58#define GLX_CONTEXT_FLAGS_ARB 0x2094
59#define GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004
60#define GLX_CONTEXT_ROBUST_ACCESS_BIT_ARB 0x00000004
61#define GLX_LOSE_CONTEXT_ON_RESET_ARB 0x8252
62#define GLX_CONTEXT_RESET_NOTIFICATION_STRATEGY_ARB 0x8256
63#define GLX_NO_RESET_NOTIFICATION_ARB 0x8261
64#define GLX_CONTEXT_RELEASE_BEHAVIOR_ARB 0x2097
65#define GLX_CONTEXT_RELEASE_BEHAVIOR_NONE_ARB 0
66#define GLX_CONTEXT_RELEASE_BEHAVIOR_FLUSH_ARB 0x2098
67#define GLX_CONTEXT_OPENGL_NO_ERROR_ARB 0x31b3
76typedef const char* (*PFNGLXGETCLIENTSTRINGPROC)(Display*,int);
82typedef const char* (*PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display*,int);
83typedef GLXFBConfig* (*PFNGLXGETFBCONFIGSPROC)(Display*,int,
int*);
87typedef XVisualInfo* (*PFNGLXGETVISUALFROMFBCONFIGPROC)(Display*,
GLXFBConfig);
96#define glXGetFBConfigs _glfw.glx.GetFBConfigs
97#define glXGetFBConfigAttrib _glfw.glx.GetFBConfigAttrib
98#define glXGetClientString _glfw.glx.GetClientString
99#define glXQueryExtension _glfw.glx.QueryExtension
100#define glXQueryVersion _glfw.glx.QueryVersion
101#define glXDestroyContext _glfw.glx.DestroyContext
102#define glXMakeCurrent _glfw.glx.MakeCurrent
103#define glXSwapBuffers _glfw.glx.SwapBuffers
104#define glXQueryExtensionsString _glfw.glx.QueryExtensionsString
105#define glXCreateNewContext _glfw.glx.CreateNewContext
106#define glXGetVisualFromFBConfig _glfw.glx.GetVisualFromFBConfig
107#define glXCreateWindow _glfw.glx.CreateWindow
108#define glXDestroyWindow _glfw.glx.DestroyWindow
110#define _GLFW_PLATFORM_CONTEXT_STATE _GLFWcontextGLX glx
111#define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE _GLFWlibraryGLX glx
180 Visual** visual,
int* depth);
int(* PFNGLXGETFBCONFIGATTRIBPROC)(Display *, GLXFBConfig, int, int *)
XVisualInfo *(* PFNGLXGETVISUALFROMFBCONFIGPROC)(Display *, GLXFBConfig)
GLXContext(* PFNGLXCREATECONTEXTATTRIBSARBPROC)(Display *, GLXFBConfig, GLXContext, Bool, const int *)
GLFWbool _glfwCreateContextGLX(_GLFWwindow *window, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig)
void _glfwTerminateGLX(void)
void(* PFNGLXDESTROYCONTEXTPROC)(Display *, GLXContext)
__GLXextproc(* PFNGLXGETPROCADDRESSPROC)(const GLubyte *procName)
void(* PFNGLXSWAPBUFFERSPROC)(Display *, GLXDrawable)
struct __GLXcontext * GLXContext
void(* __GLXextproc)(void)
GLFWbool _glfwChooseVisualGLX(const _GLFWwndconfig *wndconfig, const _GLFWctxconfig *ctxconfig, const _GLFWfbconfig *fbconfig, Visual **visual, int *depth)
GLXWindow(* PFNGLXCREATEWINDOWPROC)(Display *, GLXFBConfig, Window, const int *)
Bool(* PFNGLXQUERYVERSIONPROC)(Display *, int *, int *)
GLXContext(* PFNGLXCREATENEWCONTEXTPROC)(Display *, GLXFBConfig, int, GLXContext, Bool)
const char *(* PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *, int)
Bool(* PFNGLXQUERYEXTENSIONPROC)(Display *, int *, int *)
GLXFBConfig *(* PFNGLXGETFBCONFIGSPROC)(Display *, int, int *)
struct __GLXFBConfig * GLXFBConfig
GLFWbool _glfwInitGLX(void)
int(* PFNGLXSWAPINTERVALMESAPROC)(int)
int(* PFNGLXSWAPINTERVALSGIPROC)(int)
void(* PFNGLXSWAPINTERVALEXTPROC)(Display *, GLXDrawable, int)
const char *(* PFNGLXGETCLIENTSTRINGPROC)(Display *, int)
void _glfwDestroyContextGLX(_GLFWwindow *window)
void(* PFNGLXDESTROYWINDOWPROC)(Display *, GLXWindow)
Bool(* PFNGLXMAKECURRENTPROC)(Display *, GLXDrawable, GLXContext)
PFNGLXGETFBCONFIGSPROC GetFBConfigs
PFNGLXCREATECONTEXTATTRIBSARBPROC CreateContextAttribsARB
PFNGLXQUERYEXTENSIONSSTRINGPROC QueryExtensionsString
GLFWbool ARB_context_flush_control
GLFWbool ARB_create_context_robustness
PFNGLXGETVISUALFROMFBCONFIGPROC GetVisualFromFBConfig
GLFWbool ARB_framebuffer_sRGB
GLFWbool ARB_create_context_no_error
GLFWbool ARB_create_context
PFNGLXGETFBCONFIGATTRIBPROC GetFBConfigAttrib
GLFWbool EXT_create_context_es2_profile
PFNGLXSWAPINTERVALMESAPROC SwapIntervalMESA
GLFWbool EXT_framebuffer_sRGB
PFNGLXQUERYVERSIONPROC QueryVersion
PFNGLXSWAPINTERVALSGIPROC SwapIntervalSGI
PFNGLXDESTROYCONTEXTPROC DestroyContext
PFNGLXQUERYEXTENSIONPROC QueryExtension
GLFWbool MESA_swap_control
GLFWbool EXT_swap_control
PFNGLXMAKECURRENTPROC MakeCurrent
GLFWbool SGI_swap_control
PFNGLXDESTROYWINDOWPROC DestroyWindow
PFNGLXSWAPINTERVALEXTPROC SwapIntervalEXT
PFNGLXGETPROCADDRESSPROC GetProcAddress
PFNGLXGETPROCADDRESSPROC GetProcAddressARB
PFNGLXCREATENEWCONTEXTPROC CreateNewContext
PFNGLXGETCLIENTSTRINGPROC GetClientString
GLFWbool ARB_create_context_profile
PFNGLXCREATEWINDOWPROC CreateWindow
PFNGLXSWAPBUFFERSPROC SwapBuffers