GLX_SGIX_pbuffer
https://www.khronos.org/registry/egl/specs/eglspec.1.5.pdf
GLX_SGIX_pbuffer

	GLX_FRONT_LEFT_BUFFER_BIT_SGIX 0x00000001
	GLX_FRONT_RIGHT_BUFFER_BIT_SGIX 0x00000002
	GLX_PBUFFER_BIT_SGIX 0x00000004
	GLX_BACK_LEFT_BUFFER_BIT_SGIX 0x00000004
	GLX_BACK_RIGHT_BUFFER_BIT_SGIX 0x00000008
	GLX_AUX_BUFFERS_BIT_SGIX 0x00000010
	GLX_DEPTH_BUFFER_BIT_SGIX 0x00000020
	GLX_STENCIL_BUFFER_BIT_SGIX 0x00000040
	GLX_ACCUM_BUFFER_BIT_SGIX 0x00000080
	GLX_SAMPLE_BUFFERS_BIT_SGIX 0x00000100
	GLX_BUFFER_CLOBBER_MASK_SGIX 0x08000000
	GLX_MAX_PBUFFER_WIDTH_SGIX 0x8016
	GLX_MAX_PBUFFER_HEIGHT_SGIX 0x8017
	GLX_MAX_PBUFFER_PIXELS_SGIX 0x8018
	GLX_OPTIMAL_PBUFFER_WIDTH_SGIX 0x8019
	GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX 0x801A
	GLX_PRESERVED_CONTENTS_SGIX 0x801B
	GLX_LARGEST_PBUFFER_SGIX 0x801C
	GLX_WIDTH_SGIX 0x801D
	GLX_HEIGHT_SGIX 0x801E
	GLX_EVENT_MASK_SGIX 0x801F
	GLX_DAMAGED_SGIX 0x8020
	GLX_SAVED_SGIX 0x8021
	GLX_WINDOW_SGIX 0x8022
	GLX_PBUFFER_SGIX 0x8023
	GLXPbufferSGIX glXCreateGLXPbufferSGIX (Display* dpy, GLXFBConfigSGIX config, unsigned int width, unsigned int height, int* attrib_list)
	void glXDestroyGLXPbufferSGIX (Display* dpy, GLXPbufferSGIX pbuf)
	void glXGetSelectedEventSGIX (Display* dpy, GLXDrawable drawable, unsigned long* mask)
	void glXQueryGLXPbufferSGIX (Display* dpy, GLXPbufferSGIX pbuf, int attribute, unsigned int* value)
	void glXSelectEventSGIX (Display* dpy, GLXDrawable drawable, unsigned long mask)
    typedef XID GLXPbufferSGIX
	typedef struct { int type; unsigned long serial; Bool send_event; Display *display; GLXDrawable drawable; int event_type; int draw_type; unsigned int mask; int x, y; int width, height; int count; } GLXBufferClobberEventSGIX
