eglGetProcAddress — return a GL or an EGL extension function

C Specification

void (* eglGetProcAddress( char const * procname))(void);



Specifies the name of the function to return.


eglGetProcAddress returns the address of the client API or EGL function named by procname. procname must be a null-terminated string. The pointer returned should be cast to a function pointer matching the function's definition in the corresponding API or extension specification. A return value of NULL indicates that the specific function does not exist for the implementation.

A non-NULL return value does not guarantee that an extension function is actually supported at runtime. The client must also make a corresponding query, such as glGetString(GL_EXTENSIONS) for OpenGL and OpenGL ES extensions; vgGetString(VG_EXTENSIONS) for OpenVG extensions; eglQueryString(display, EGL_EXTENSIONS); or query the EGL or client API version for non-extension functions, to determine if a function is supported by EGL or a specific client API context.

Client API function pointers returned by eglGetProcAddress are independent of the display and the currently bound client API context, and may be used by any client API context which supports the function.

eglGetProcAddress may be queried for all EGL and client API functions supported by the implementation (whether those functions are extensions or not, and whether they are supported by the current client API context or not).

For functions that are queryable with eglGetProcAddress, implementations may choose to also export those functions statically from the object libraries implementing those functions. However, portable clients cannot rely on this behavior.


If the EGL version is not 1.5 or greater, only queries of EGL and client API extension functions will succeed.

See Also

glGetString eglQueryString