// GENERATED FILE - DO NOT EDIT.
// Generated by generate_loader.py using data from egl.xml and egl_angle_ext.xml.
//
// Copyright 2020 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// egl_loader_autogen.h:
//   Simple EGL function loader.

#ifndef LIBEGL_EGL_LOADER_AUTOGEN_H_
#define LIBEGL_EGL_LOADER_AUTOGEN_H_

#include <EGL/egl.h>
#include <EGL/eglext.h>
#include <export.h>

#define EGL_ChooseConfig ANGLE_EGL_ChooseConfig
#define EGL_CopyBuffers ANGLE_EGL_CopyBuffers
#define EGL_CreateContext ANGLE_EGL_CreateContext
#define EGL_CreatePbufferSurface ANGLE_EGL_CreatePbufferSurface
#define EGL_CreatePixmapSurface ANGLE_EGL_CreatePixmapSurface
#define EGL_CreateWindowSurface ANGLE_EGL_CreateWindowSurface
#define EGL_DestroyContext ANGLE_EGL_DestroyContext
#define EGL_DestroySurface ANGLE_EGL_DestroySurface
#define EGL_GetConfigAttrib ANGLE_EGL_GetConfigAttrib
#define EGL_GetConfigs ANGLE_EGL_GetConfigs
#define EGL_GetCurrentDisplay ANGLE_EGL_GetCurrentDisplay
#define EGL_GetCurrentSurface ANGLE_EGL_GetCurrentSurface
#define EGL_GetDisplay ANGLE_EGL_GetDisplay
#define EGL_GetError ANGLE_EGL_GetError
#define EGL_GetProcAddress ANGLE_EGL_GetProcAddress
#define EGL_Initialize ANGLE_EGL_Initialize
#define EGL_MakeCurrent ANGLE_EGL_MakeCurrent
#define EGL_QueryContext ANGLE_EGL_QueryContext
#define EGL_QueryString ANGLE_EGL_QueryString
#define EGL_QuerySurface ANGLE_EGL_QuerySurface
#define EGL_SwapBuffers ANGLE_EGL_SwapBuffers
#define EGL_Terminate ANGLE_EGL_Terminate
#define EGL_WaitGL ANGLE_EGL_WaitGL
#define EGL_WaitNative ANGLE_EGL_WaitNative
#define EGL_BindTexImage ANGLE_EGL_BindTexImage
#define EGL_ReleaseTexImage ANGLE_EGL_ReleaseTexImage
#define EGL_SurfaceAttrib ANGLE_EGL_SurfaceAttrib
#define EGL_SwapInterval ANGLE_EGL_SwapInterval
#define EGL_BindAPI ANGLE_EGL_BindAPI
#define EGL_QueryAPI ANGLE_EGL_QueryAPI
#define EGL_CreatePbufferFromClientBuffer ANGLE_EGL_CreatePbufferFromClientBuffer
#define EGL_ReleaseThread ANGLE_EGL_ReleaseThread
#define EGL_WaitClient ANGLE_EGL_WaitClient
#define EGL_GetCurrentContext ANGLE_EGL_GetCurrentContext
#define EGL_CreateSync ANGLE_EGL_CreateSync
#define EGL_DestroySync ANGLE_EGL_DestroySync
#define EGL_ClientWaitSync ANGLE_EGL_ClientWaitSync
#define EGL_GetSyncAttrib ANGLE_EGL_GetSyncAttrib
#define EGL_CreateImage ANGLE_EGL_CreateImage
#define EGL_DestroyImage ANGLE_EGL_DestroyImage
#define EGL_GetPlatformDisplay ANGLE_EGL_GetPlatformDisplay
#define EGL_CreatePlatformWindowSurface ANGLE_EGL_CreatePlatformWindowSurface
#define EGL_CreatePlatformPixmapSurface ANGLE_EGL_CreatePlatformPixmapSurface
#define EGL_WaitSync ANGLE_EGL_WaitSync
#define EGL_SetBlobCacheFuncsANDROID ANGLE_EGL_SetBlobCacheFuncsANDROID
#define EGL_GetCompositorTimingANDROID ANGLE_EGL_GetCompositorTimingANDROID
#define EGL_GetCompositorTimingSupportedANDROID ANGLE_EGL_GetCompositorTimingSupportedANDROID
#define EGL_GetFrameTimestampSupportedANDROID ANGLE_EGL_GetFrameTimestampSupportedANDROID
#define EGL_GetFrameTimestampsANDROID ANGLE_EGL_GetFrameTimestampsANDROID
#define EGL_GetNextFrameIdANDROID ANGLE_EGL_GetNextFrameIdANDROID
#define EGL_GetNativeClientBufferANDROID ANGLE_EGL_GetNativeClientBufferANDROID
#define EGL_DupNativeFenceFDANDROID ANGLE_EGL_DupNativeFenceFDANDROID
#define EGL_PresentationTimeANDROID ANGLE_EGL_PresentationTimeANDROID
#define EGL_CreateDeviceANGLE ANGLE_EGL_CreateDeviceANGLE
#define EGL_ReleaseDeviceANGLE ANGLE_EGL_ReleaseDeviceANGLE
#define EGL_QueryDisplayAttribANGLE ANGLE_EGL_QueryDisplayAttribANGLE
#define EGL_QueryStringiANGLE ANGLE_EGL_QueryStringiANGLE
#define EGL_ProgramCacheGetAttribANGLE ANGLE_EGL_ProgramCacheGetAttribANGLE
#define EGL_ProgramCachePopulateANGLE ANGLE_EGL_ProgramCachePopulateANGLE
#define EGL_ProgramCacheQueryANGLE ANGLE_EGL_ProgramCacheQueryANGLE
#define EGL_ProgramCacheResizeANGLE ANGLE_EGL_ProgramCacheResizeANGLE
#define EGL_QuerySurfacePointerANGLE ANGLE_EGL_QuerySurfacePointerANGLE
#define EGL_CreateStreamProducerD3DTextureANGLE ANGLE_EGL_CreateStreamProducerD3DTextureANGLE
#define EGL_StreamPostD3DTextureANGLE ANGLE_EGL_StreamPostD3DTextureANGLE
#define EGL_SwapBuffersWithFrameTokenANGLE ANGLE_EGL_SwapBuffersWithFrameTokenANGLE
#define EGL_GetMscRateANGLE ANGLE_EGL_GetMscRateANGLE
#define EGL_GetSyncValuesCHROMIUM ANGLE_EGL_GetSyncValuesCHROMIUM
#define EGL_QueryDeviceAttribEXT ANGLE_EGL_QueryDeviceAttribEXT
#define EGL_QueryDeviceStringEXT ANGLE_EGL_QueryDeviceStringEXT
#define EGL_QueryDisplayAttribEXT ANGLE_EGL_QueryDisplayAttribEXT
#define EGL_CreatePlatformPixmapSurfaceEXT ANGLE_EGL_CreatePlatformPixmapSurfaceEXT
#define EGL_CreatePlatformWindowSurfaceEXT ANGLE_EGL_CreatePlatformWindowSurfaceEXT
#define EGL_GetPlatformDisplayEXT ANGLE_EGL_GetPlatformDisplayEXT
#define EGL_DebugMessageControlKHR ANGLE_EGL_DebugMessageControlKHR
#define EGL_LabelObjectKHR ANGLE_EGL_LabelObjectKHR
#define EGL_QueryDebugKHR ANGLE_EGL_QueryDebugKHR
#define EGL_ClientWaitSyncKHR ANGLE_EGL_ClientWaitSyncKHR
#define EGL_CreateSyncKHR ANGLE_EGL_CreateSyncKHR
#define EGL_DestroySyncKHR ANGLE_EGL_DestroySyncKHR
#define EGL_GetSyncAttribKHR ANGLE_EGL_GetSyncAttribKHR
#define EGL_CreateImageKHR ANGLE_EGL_CreateImageKHR
#define EGL_DestroyImageKHR ANGLE_EGL_DestroyImageKHR
#define EGL_CreateStreamKHR ANGLE_EGL_CreateStreamKHR
#define EGL_DestroyStreamKHR ANGLE_EGL_DestroyStreamKHR
#define EGL_QueryStreamKHR ANGLE_EGL_QueryStreamKHR
#define EGL_QueryStreamu64KHR ANGLE_EGL_QueryStreamu64KHR
#define EGL_StreamAttribKHR ANGLE_EGL_StreamAttribKHR
#define EGL_StreamConsumerAcquireKHR ANGLE_EGL_StreamConsumerAcquireKHR
#define EGL_StreamConsumerGLTextureExternalKHR ANGLE_EGL_StreamConsumerGLTextureExternalKHR
#define EGL_StreamConsumerReleaseKHR ANGLE_EGL_StreamConsumerReleaseKHR
#define EGL_SwapBuffersWithDamageKHR ANGLE_EGL_SwapBuffersWithDamageKHR
#define EGL_WaitSyncKHR ANGLE_EGL_WaitSyncKHR
#define EGL_PostSubBufferNV ANGLE_EGL_PostSubBufferNV
#define EGL_StreamConsumerGLTextureExternalAttribsNV \
    ANGLE_EGL_StreamConsumerGLTextureExternalAttribsNV
ANGLE_NO_EXPORT extern PFNEGLCHOOSECONFIGPROC ANGLE_EGL_ChooseConfig;
ANGLE_NO_EXPORT extern PFNEGLCOPYBUFFERSPROC ANGLE_EGL_CopyBuffers;
ANGLE_NO_EXPORT extern PFNEGLCREATECONTEXTPROC ANGLE_EGL_CreateContext;
ANGLE_NO_EXPORT extern PFNEGLCREATEPBUFFERSURFACEPROC ANGLE_EGL_CreatePbufferSurface;
ANGLE_NO_EXPORT extern PFNEGLCREATEPIXMAPSURFACEPROC ANGLE_EGL_CreatePixmapSurface;
ANGLE_NO_EXPORT extern PFNEGLCREATEWINDOWSURFACEPROC ANGLE_EGL_CreateWindowSurface;
ANGLE_NO_EXPORT extern PFNEGLDESTROYCONTEXTPROC ANGLE_EGL_DestroyContext;
ANGLE_NO_EXPORT extern PFNEGLDESTROYSURFACEPROC ANGLE_EGL_DestroySurface;
ANGLE_NO_EXPORT extern PFNEGLGETCONFIGATTRIBPROC ANGLE_EGL_GetConfigAttrib;
ANGLE_NO_EXPORT extern PFNEGLGETCONFIGSPROC ANGLE_EGL_GetConfigs;
ANGLE_NO_EXPORT extern PFNEGLGETCURRENTDISPLAYPROC ANGLE_EGL_GetCurrentDisplay;
ANGLE_NO_EXPORT extern PFNEGLGETCURRENTSURFACEPROC ANGLE_EGL_GetCurrentSurface;
ANGLE_NO_EXPORT extern PFNEGLGETDISPLAYPROC ANGLE_EGL_GetDisplay;
ANGLE_NO_EXPORT extern PFNEGLGETERRORPROC ANGLE_EGL_GetError;
ANGLE_NO_EXPORT extern PFNEGLGETPROCADDRESSPROC ANGLE_EGL_GetProcAddress;
ANGLE_NO_EXPORT extern PFNEGLINITIALIZEPROC ANGLE_EGL_Initialize;
ANGLE_NO_EXPORT extern PFNEGLMAKECURRENTPROC ANGLE_EGL_MakeCurrent;
ANGLE_NO_EXPORT extern PFNEGLQUERYCONTEXTPROC ANGLE_EGL_QueryContext;
ANGLE_NO_EXPORT extern PFNEGLQUERYSTRINGPROC ANGLE_EGL_QueryString;
ANGLE_NO_EXPORT extern PFNEGLQUERYSURFACEPROC ANGLE_EGL_QuerySurface;
ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSPROC ANGLE_EGL_SwapBuffers;
ANGLE_NO_EXPORT extern PFNEGLTERMINATEPROC ANGLE_EGL_Terminate;
ANGLE_NO_EXPORT extern PFNEGLWAITGLPROC ANGLE_EGL_WaitGL;
ANGLE_NO_EXPORT extern PFNEGLWAITNATIVEPROC ANGLE_EGL_WaitNative;
ANGLE_NO_EXPORT extern PFNEGLBINDTEXIMAGEPROC ANGLE_EGL_BindTexImage;
ANGLE_NO_EXPORT extern PFNEGLRELEASETEXIMAGEPROC ANGLE_EGL_ReleaseTexImage;
ANGLE_NO_EXPORT extern PFNEGLSURFACEATTRIBPROC ANGLE_EGL_SurfaceAttrib;
ANGLE_NO_EXPORT extern PFNEGLSWAPINTERVALPROC ANGLE_EGL_SwapInterval;
ANGLE_NO_EXPORT extern PFNEGLBINDAPIPROC ANGLE_EGL_BindAPI;
ANGLE_NO_EXPORT extern PFNEGLQUERYAPIPROC ANGLE_EGL_QueryAPI;
ANGLE_NO_EXPORT extern PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC
    ANGLE_EGL_CreatePbufferFromClientBuffer;
ANGLE_NO_EXPORT extern PFNEGLRELEASETHREADPROC ANGLE_EGL_ReleaseThread;
ANGLE_NO_EXPORT extern PFNEGLWAITCLIENTPROC ANGLE_EGL_WaitClient;
ANGLE_NO_EXPORT extern PFNEGLGETCURRENTCONTEXTPROC ANGLE_EGL_GetCurrentContext;
ANGLE_NO_EXPORT extern PFNEGLCREATESYNCPROC ANGLE_EGL_CreateSync;
ANGLE_NO_EXPORT extern PFNEGLDESTROYSYNCPROC ANGLE_EGL_DestroySync;
ANGLE_NO_EXPORT extern PFNEGLCLIENTWAITSYNCPROC ANGLE_EGL_ClientWaitSync;
ANGLE_NO_EXPORT extern PFNEGLGETSYNCATTRIBPROC ANGLE_EGL_GetSyncAttrib;
ANGLE_NO_EXPORT extern PFNEGLCREATEIMAGEPROC ANGLE_EGL_CreateImage;
ANGLE_NO_EXPORT extern PFNEGLDESTROYIMAGEPROC ANGLE_EGL_DestroyImage;
ANGLE_NO_EXPORT extern PFNEGLGETPLATFORMDISPLAYPROC ANGLE_EGL_GetPlatformDisplay;
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEPROC ANGLE_EGL_CreatePlatformWindowSurface;
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC ANGLE_EGL_CreatePlatformPixmapSurface;
ANGLE_NO_EXPORT extern PFNEGLWAITSYNCPROC ANGLE_EGL_WaitSync;
ANGLE_NO_EXPORT extern PFNEGLSETBLOBCACHEFUNCSANDROIDPROC ANGLE_EGL_SetBlobCacheFuncsANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETCOMPOSITORTIMINGANDROIDPROC ANGLE_EGL_GetCompositorTimingANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC
    ANGLE_EGL_GetCompositorTimingSupportedANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC
    ANGLE_EGL_GetFrameTimestampSupportedANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETFRAMETIMESTAMPSANDROIDPROC ANGLE_EGL_GetFrameTimestampsANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETNEXTFRAMEIDANDROIDPROC ANGLE_EGL_GetNextFrameIdANDROID;
ANGLE_NO_EXPORT extern PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC
    ANGLE_EGL_GetNativeClientBufferANDROID;
ANGLE_NO_EXPORT extern PFNEGLDUPNATIVEFENCEFDANDROIDPROC ANGLE_EGL_DupNativeFenceFDANDROID;
ANGLE_NO_EXPORT extern PFNEGLPRESENTATIONTIMEANDROIDPROC ANGLE_EGL_PresentationTimeANDROID;
ANGLE_NO_EXPORT extern PFNEGLCREATEDEVICEANGLEPROC ANGLE_EGL_CreateDeviceANGLE;
ANGLE_NO_EXPORT extern PFNEGLRELEASEDEVICEANGLEPROC ANGLE_EGL_ReleaseDeviceANGLE;
ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBANGLEPROC ANGLE_EGL_QueryDisplayAttribANGLE;
ANGLE_NO_EXPORT extern PFNEGLQUERYSTRINGIANGLEPROC ANGLE_EGL_QueryStringiANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC ANGLE_EGL_ProgramCacheGetAttribANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEPOPULATEANGLEPROC ANGLE_EGL_ProgramCachePopulateANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEQUERYANGLEPROC ANGLE_EGL_ProgramCacheQueryANGLE;
ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHERESIZEANGLEPROC ANGLE_EGL_ProgramCacheResizeANGLE;
ANGLE_NO_EXPORT extern PFNEGLQUERYSURFACEPOINTERANGLEPROC ANGLE_EGL_QuerySurfacePointerANGLE;
ANGLE_NO_EXPORT extern PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC
    ANGLE_EGL_CreateStreamProducerD3DTextureANGLE;
ANGLE_NO_EXPORT extern PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC ANGLE_EGL_StreamPostD3DTextureANGLE;
ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC
    ANGLE_EGL_SwapBuffersWithFrameTokenANGLE;
ANGLE_NO_EXPORT extern PFNEGLGETMSCRATEANGLEPROC ANGLE_EGL_GetMscRateANGLE;
ANGLE_NO_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC ANGLE_EGL_GetSyncValuesCHROMIUM;
ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC ANGLE_EGL_QueryDeviceAttribEXT;
ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC ANGLE_EGL_QueryDeviceStringEXT;
ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC ANGLE_EGL_QueryDisplayAttribEXT;
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
    ANGLE_EGL_CreatePlatformPixmapSurfaceEXT;
ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
    ANGLE_EGL_CreatePlatformWindowSurfaceEXT;
ANGLE_NO_EXPORT extern PFNEGLGETPLATFORMDISPLAYEXTPROC ANGLE_EGL_GetPlatformDisplayEXT;
ANGLE_NO_EXPORT extern PFNEGLDEBUGMESSAGECONTROLKHRPROC ANGLE_EGL_DebugMessageControlKHR;
ANGLE_NO_EXPORT extern PFNEGLLABELOBJECTKHRPROC ANGLE_EGL_LabelObjectKHR;
ANGLE_NO_EXPORT extern PFNEGLQUERYDEBUGKHRPROC ANGLE_EGL_QueryDebugKHR;
ANGLE_NO_EXPORT extern PFNEGLCLIENTWAITSYNCKHRPROC ANGLE_EGL_ClientWaitSyncKHR;
ANGLE_NO_EXPORT extern PFNEGLCREATESYNCKHRPROC ANGLE_EGL_CreateSyncKHR;
ANGLE_NO_EXPORT extern PFNEGLDESTROYSYNCKHRPROC ANGLE_EGL_DestroySyncKHR;
ANGLE_NO_EXPORT extern PFNEGLGETSYNCATTRIBKHRPROC ANGLE_EGL_GetSyncAttribKHR;
ANGLE_NO_EXPORT extern PFNEGLCREATEIMAGEKHRPROC ANGLE_EGL_CreateImageKHR;
ANGLE_NO_EXPORT extern PFNEGLDESTROYIMAGEKHRPROC ANGLE_EGL_DestroyImageKHR;
ANGLE_NO_EXPORT extern PFNEGLCREATESTREAMKHRPROC ANGLE_EGL_CreateStreamKHR;
ANGLE_NO_EXPORT extern PFNEGLDESTROYSTREAMKHRPROC ANGLE_EGL_DestroyStreamKHR;
ANGLE_NO_EXPORT extern PFNEGLQUERYSTREAMKHRPROC ANGLE_EGL_QueryStreamKHR;
ANGLE_NO_EXPORT extern PFNEGLQUERYSTREAMU64KHRPROC ANGLE_EGL_QueryStreamu64KHR;
ANGLE_NO_EXPORT extern PFNEGLSTREAMATTRIBKHRPROC ANGLE_EGL_StreamAttribKHR;
ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERACQUIREKHRPROC ANGLE_EGL_StreamConsumerAcquireKHR;
ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
    ANGLE_EGL_StreamConsumerGLTextureExternalKHR;
ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERRELEASEKHRPROC ANGLE_EGL_StreamConsumerReleaseKHR;
ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC ANGLE_EGL_SwapBuffersWithDamageKHR;
ANGLE_NO_EXPORT extern PFNEGLWAITSYNCKHRPROC ANGLE_EGL_WaitSyncKHR;
ANGLE_NO_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC ANGLE_EGL_PostSubBufferNV;
ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
    ANGLE_EGL_StreamConsumerGLTextureExternalAttribsNV;

namespace angle
{
using GenericProc = void (*)();
using LoadProc    = GenericProc(KHRONOS_APIENTRY *)(const char *);
ANGLE_NO_EXPORT void LoadEGL_EGL(LoadProc loadProc);
}  // namespace angle

#endif  // LIBEGL_EGL_LOADER_AUTOGEN_H_
