1 // 2 // Copyright 2015 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 7 // functionsglx_typedefs.h: Typedefs of GLX functions. 8 9 #ifndef LIBANGLE_RENDERER_GL_GLX_FUNCTIONSGLXTYPEDEFS_H_ 10 #define LIBANGLE_RENDERER_GL_GLX_FUNCTIONSGLXTYPEDEFS_H_ 11 12 #include "libANGLE/renderer/gl/glx/platform_glx.h" 13 14 namespace rx 15 { 16 17 // Only the functions of GLX 1.2 and earlier need to be typdefed; the other 18 // functions are already typedefed in glx.h 19 20 // GLX 1.0 21 typedef XVisualInfo *(*PFNGLXCHOOSEVISUALPROC)(Display *dpy, int screen, int *attribList); 22 typedef GLXContext (*PFNGLXCREATECONTEXTPROC)(Display *dpy, 23 XVisualInfo *vis, 24 GLXContext shareList, 25 Bool direct); 26 typedef void (*PFNGLXDESTROYCONTEXTPROC)(Display *dpy, GLXContext ctx); 27 typedef Bool (*PFNGLXMAKECURRENTPROC)(Display *dpy, GLXDrawable drawable, GLXContext ctx); 28 typedef void (*PFNGLXCOPYCONTEXTPROC)(Display *dpy, 29 GLXContext src, 30 GLXContext dst, 31 unsigned long mask); 32 typedef void (*PFNGLXSWAPBUFFERSPROC)(Display *dpy, GLXDrawable drawable); 33 typedef GLXPixmap (*PFNGLXCREATEGLXPIXMAPPROC)(Display *dpy, XVisualInfo *visual, Pixmap pixmap); 34 typedef void (*PFNGLXDESTROYGLXPIXMAPPROC)(Display *dpy, GLXPixmap pixmap); 35 typedef Bool (*PFNGLXQUERYEXTENSIONPROC)(Display *dpy, int *errorb, int *event); 36 typedef Bool (*PFNGLXQUERYVERSIONPROC)(Display *dpy, int *maj, int *min); 37 typedef Bool (*PFNGLXISDIRECTPROC)(Display *dpy, GLXContext ctx); 38 typedef int (*PFNGLXGETCONFIGPROC)(Display *dpy, XVisualInfo *visual, int attrib, int *value); 39 typedef GLXContext (*PFNGLXGETCURRENTCONTEXTPROC)(); 40 typedef GLXDrawable (*PFNGLXGETCURRENTDRAWABLEPROC)(); 41 typedef GLXContext (*PFNGLXGETCURRENTCONTEXTPROC)(); 42 typedef GLXDrawable (*PFNGLXGETCURRENTDRAWABLEPROC)(); 43 typedef void (*PFNGLXWAITGLPROC)(); 44 typedef void (*PFNGLXWAITXPROC)(); 45 typedef void (*PFNGLXUSEXFONT)(Font font, int first, int count, int list); 46 47 // GLX 1.1 48 typedef const char *(*PFNGLXQUERYEXTENSIONSSTRINGPROC)(Display *dpy, int screen); 49 typedef const char *(*PFNGLXQUERYSERVERSTRINGPROC)(Display *dpy, int screen, int name); 50 typedef const char *(*PFNGLXGETCLIENTSTRINGPROC)(Display *dpy, int name); 51 52 // GLX 1.2 53 typedef Display *(*PFNGLXGETCURRENTDISPLAYPROC)(); 54 55 } // namespace rx 56 57 #endif // LIBANGLE_RENDERER_GL_GLX_FUNCTIONSGLXTYPEDEFS_H_ 58