2003-2018 The Khronos Group Inc.
eglGetProcAddress 3G
eglGetProcAddress return a GL or an EGL extension function

## C Specification

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

## Parameters

procname

  Specifies the name of the function to return.

## Description

`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.

## Notes

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

`vgGetString`