/* WARNING: This is auto-generated file. Do not modify, since changes will
 * be lost! Modify the generating script instead.
 *
 * Generated from Khronos EGL API description (egl.xml) revision 28861.
 */
dst->clientWaitSyncKHR				= (eglClientWaitSyncKHRFunc)				loader->get("eglClientWaitSyncKHR");
dst->createImageKHR					= (eglCreateImageKHRFunc)					loader->get("eglCreateImageKHR");
dst->createPlatformPixmapSurfaceEXT	= (eglCreatePlatformPixmapSurfaceEXTFunc)	loader->get("eglCreatePlatformPixmapSurfaceEXT");
dst->createPlatformWindowSurfaceEXT	= (eglCreatePlatformWindowSurfaceEXTFunc)	loader->get("eglCreatePlatformWindowSurfaceEXT");
dst->createSyncKHR					= (eglCreateSyncKHRFunc)					loader->get("eglCreateSyncKHR");
dst->destroyImageKHR				= (eglDestroyImageKHRFunc)					loader->get("eglDestroyImageKHR");
dst->destroySyncKHR					= (eglDestroySyncKHRFunc)					loader->get("eglDestroySyncKHR");
dst->getPlatformDisplayEXT			= (eglGetPlatformDisplayEXTFunc)			loader->get("eglGetPlatformDisplayEXT");
dst->getSyncAttribKHR				= (eglGetSyncAttribKHRFunc)					loader->get("eglGetSyncAttribKHR");
dst->lockSurfaceKHR					= (eglLockSurfaceKHRFunc)					loader->get("eglLockSurfaceKHR");
dst->signalSyncKHR					= (eglSignalSyncKHRFunc)					loader->get("eglSignalSyncKHR");
dst->unlockSurfaceKHR				= (eglUnlockSurfaceKHRFunc)					loader->get("eglUnlockSurfaceKHR");
dst->waitSyncKHR					= (eglWaitSyncKHRFunc)						loader->get("eglWaitSyncKHR");
