eglGetProcAddress — return a GL or an EGL extension function
void (* eglGetProcAddress(
|
char const * procname))(void) ; |
procname
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.
Copyright © 2003-2014 The Khronos Group Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and/or associated documentation files (the "Materials"), to deal in the Materials without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Materials, and to permit persons to whom the Materials are furnished to do so, subject to the condition that this copyright notice and permission notice shall be included in all copies or substantial portions of the Materials.