Lines Matching +full:gl +full:- +full:intel +full:- +full:glx
2 * Copyright © 2013-2014 Intel Corporation
34 * knowledge needed on their part. They get to read GL specs and write
43 * - Automatically initializes as new GL functions are used.
44 * - GL 4.6 core and compatibility context support.
45 * - GLES 1/2/3 context support.
46 * - Knows about function aliases so (e.g.) `glBufferData()` can be
48 * with GL 1.5+ implementations.
49 * - EGL, GLX, and WGL support.
50 * - Can be mixed with non-epoxy GL usage.
57 * #include <GL/gl.h>
58 * #include <GL/glx.h>
59 * #include <GL/glext.h>
65 * #include <epoxy/gl.h>
66 * #include <epoxy/glx.h>
73 * - `epoxy/gl.h` - For GL API
74 * - `epoxy/egl.h` - For EGL API
75 * - `epoxy/glx.h` - For GLX API
76 * - `epoxy/wgl.h` - For WGL API
89 * - [Khronos](https://www.khronos.org/)
90 * - [OpenGL page on Khronos.org](https://www.khronos.org/opengl/)
91 * - [OpenGL ES page on Khronos.org](https://www.khronos.org/opengles/)
92 * - [docs.GL](http://docs.gl/)
98 * @brief Implements common code shared by the generated GL/EGL/GLX dispatch code.
100 * A collection of some important specs on getting GL function pointers.
102 * From the linux GL ABI (http://www.opengl.org/registry/ABI/):
104 * "3.4. The libraries must export all OpenGL 1.2, GLU 1.3, GLX 1.3, and
107 * 3.5. Because non-ARB extensions vary so widely and are constantly
120 * takes the string name of a GL or GLX entry point and returns a pointer
139 * eglGetProcAddress may not be queried for core (non-extension) functions
144 * from the object libraries im- plementing those functions. However,
147 * From the GLX 1.4 spec:
151 * • All GL and GLX extension functions supported by the implementation
155 * • All core (non-extension) functions in GL and GLX from version 1.0 up
157 * the implementation, as determined by glGetString(GL VERSION) and
223 * Locking for making sure we don't double-dlopen().
229 * dlopen() return value for the GLX API. This is libGLX.so.1 if the
230 * runtime is glvnd-enabled, else libGL.so.1
235 * dlopen() return value for the desktop GL library.
238 * this is either libOpenGL (if the runtime is glvnd-enabled) or
386 * Assume the second, which only exists for desktop GL. in epoxy_is_desktop_gl()
450 * @brief Returns the version of the GL Shading Language we are using
462 * @return The encoded version of the GL Shading Language we are using
478 * @param ext The name of the GL extension
481 * @note If you are looking to check whether a normal GL, EGL or GLX extension
572 * Tests whether the currently bound context is EGL or GLX, trying to
606 * @brief Returns true if the given GL extension is supported in the current context.
608 * @param ext The name of the GL extension
674 // Using the inverse ordering OPENGL_LIB -> GLX_LIB, causes issues such as: in epoxy_load_gl()
755 * Performs either the dlsym or glXGetProcAddress()-equivalent for
756 * core functions in desktop GL.
797 * Performs the dlsym() for the core GL 1.0 functions that we use for
801 * This needs to succeed on implementations without GLX (since
817 /* If epoxy hasn't loaded any API-specific library yet, try to in epoxy_get_bootstrap_proc_address()
820 * non-X11 ES2 context from loading a bunch of X11 junk). in epoxy_get_bootstrap_proc_address()
843 /* Fall back to GLX */ in epoxy_get_bootstrap_proc_address()
872 assert(0 && "Couldn't find current GLX or EGL context.\n"); in epoxy_get_proc_address()
901 api.begin_count--; in WRAPPER()