summaryrefslogtreecommitdiffstats
path: root/gfx/angle/checkout/src/libEGL
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gfx/angle/checkout/src/libEGL/egl_loader_autogen.cpp320
-rw-r--r--gfx/angle/checkout/src/libEGL/egl_loader_autogen.h250
-rw-r--r--gfx/angle/checkout/src/libEGL/libEGL.rc103
-rw-r--r--gfx/angle/checkout/src/libEGL/libEGL_autogen.cpp917
-rw-r--r--gfx/angle/checkout/src/libEGL/libEGL_autogen.def193
-rw-r--r--gfx/angle/checkout/src/libEGL/resource.h14
6 files changed, 1797 insertions, 0 deletions
diff --git a/gfx/angle/checkout/src/libEGL/egl_loader_autogen.cpp b/gfx/angle/checkout/src/libEGL/egl_loader_autogen.cpp
new file mode 100644
index 0000000000..9fbdeaad22
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/egl_loader_autogen.cpp
@@ -0,0 +1,320 @@
+// GENERATED FILE - DO NOT EDIT.
+// Generated by generate_loader.py using data from egl.xml and egl_angle_ext.xml.
+//
+// Copyright 2018 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.cpp:
+// Simple EGL function loader.
+
+#include "egl_loader_autogen.h"
+
+PFNEGLCHOOSECONFIGPROC l_EGL_ChooseConfig;
+PFNEGLCOPYBUFFERSPROC l_EGL_CopyBuffers;
+PFNEGLCREATECONTEXTPROC l_EGL_CreateContext;
+PFNEGLCREATEPBUFFERSURFACEPROC l_EGL_CreatePbufferSurface;
+PFNEGLCREATEPIXMAPSURFACEPROC l_EGL_CreatePixmapSurface;
+PFNEGLCREATEWINDOWSURFACEPROC l_EGL_CreateWindowSurface;
+PFNEGLDESTROYCONTEXTPROC l_EGL_DestroyContext;
+PFNEGLDESTROYSURFACEPROC l_EGL_DestroySurface;
+PFNEGLGETCONFIGATTRIBPROC l_EGL_GetConfigAttrib;
+PFNEGLGETCONFIGSPROC l_EGL_GetConfigs;
+PFNEGLGETCURRENTDISPLAYPROC l_EGL_GetCurrentDisplay;
+PFNEGLGETCURRENTSURFACEPROC l_EGL_GetCurrentSurface;
+PFNEGLGETDISPLAYPROC l_EGL_GetDisplay;
+PFNEGLGETERRORPROC l_EGL_GetError;
+PFNEGLGETPROCADDRESSPROC l_EGL_GetProcAddress;
+PFNEGLINITIALIZEPROC l_EGL_Initialize;
+PFNEGLMAKECURRENTPROC l_EGL_MakeCurrent;
+PFNEGLQUERYCONTEXTPROC l_EGL_QueryContext;
+PFNEGLQUERYSTRINGPROC l_EGL_QueryString;
+PFNEGLQUERYSURFACEPROC l_EGL_QuerySurface;
+PFNEGLSWAPBUFFERSPROC l_EGL_SwapBuffers;
+PFNEGLTERMINATEPROC l_EGL_Terminate;
+PFNEGLWAITGLPROC l_EGL_WaitGL;
+PFNEGLWAITNATIVEPROC l_EGL_WaitNative;
+PFNEGLBINDTEXIMAGEPROC l_EGL_BindTexImage;
+PFNEGLRELEASETEXIMAGEPROC l_EGL_ReleaseTexImage;
+PFNEGLSURFACEATTRIBPROC l_EGL_SurfaceAttrib;
+PFNEGLSWAPINTERVALPROC l_EGL_SwapInterval;
+PFNEGLBINDAPIPROC l_EGL_BindAPI;
+PFNEGLQUERYAPIPROC l_EGL_QueryAPI;
+PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC l_EGL_CreatePbufferFromClientBuffer;
+PFNEGLRELEASETHREADPROC l_EGL_ReleaseThread;
+PFNEGLWAITCLIENTPROC l_EGL_WaitClient;
+PFNEGLGETCURRENTCONTEXTPROC l_EGL_GetCurrentContext;
+PFNEGLCREATESYNCPROC l_EGL_CreateSync;
+PFNEGLDESTROYSYNCPROC l_EGL_DestroySync;
+PFNEGLCLIENTWAITSYNCPROC l_EGL_ClientWaitSync;
+PFNEGLGETSYNCATTRIBPROC l_EGL_GetSyncAttrib;
+PFNEGLCREATEIMAGEPROC l_EGL_CreateImage;
+PFNEGLDESTROYIMAGEPROC l_EGL_DestroyImage;
+PFNEGLGETPLATFORMDISPLAYPROC l_EGL_GetPlatformDisplay;
+PFNEGLCREATEPLATFORMWINDOWSURFACEPROC l_EGL_CreatePlatformWindowSurface;
+PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC l_EGL_CreatePlatformPixmapSurface;
+PFNEGLWAITSYNCPROC l_EGL_WaitSync;
+PFNEGLSETBLOBCACHEFUNCSANDROIDPROC l_EGL_SetBlobCacheFuncsANDROID;
+PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC l_EGL_CreateNativeClientBufferANDROID;
+PFNEGLGETCOMPOSITORTIMINGANDROIDPROC l_EGL_GetCompositorTimingANDROID;
+PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC l_EGL_GetCompositorTimingSupportedANDROID;
+PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC l_EGL_GetFrameTimestampSupportedANDROID;
+PFNEGLGETFRAMETIMESTAMPSANDROIDPROC l_EGL_GetFrameTimestampsANDROID;
+PFNEGLGETNEXTFRAMEIDANDROIDPROC l_EGL_GetNextFrameIdANDROID;
+PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC l_EGL_GetNativeClientBufferANDROID;
+PFNEGLDUPNATIVEFENCEFDANDROIDPROC l_EGL_DupNativeFenceFDANDROID;
+PFNEGLPRESENTATIONTIMEANDROIDPROC l_EGL_PresentationTimeANDROID;
+PFNEGLCREATEDEVICEANGLEPROC l_EGL_CreateDeviceANGLE;
+PFNEGLRELEASEDEVICEANGLEPROC l_EGL_ReleaseDeviceANGLE;
+PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_EGL_QueryDisplayAttribANGLE;
+PFNEGLQUERYSTRINGIANGLEPROC l_EGL_QueryStringiANGLE;
+PFNEGLCOPYMETALSHAREDEVENTANGLEPROC l_EGL_CopyMetalSharedEventANGLE;
+PFNEGLFORCEGPUSWITCHANGLEPROC l_EGL_ForceGPUSwitchANGLE;
+PFNEGLHANDLEGPUSWITCHANGLEPROC l_EGL_HandleGPUSwitchANGLE;
+PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_EGL_ReacquireHighPowerGPUANGLE;
+PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_EGL_ReleaseHighPowerGPUANGLE;
+PFNEGLPREPARESWAPBUFFERSANGLEPROC l_EGL_PrepareSwapBuffersANGLE;
+PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_EGL_ProgramCacheGetAttribANGLE;
+PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_EGL_ProgramCachePopulateANGLE;
+PFNEGLPROGRAMCACHEQUERYANGLEPROC l_EGL_ProgramCacheQueryANGLE;
+PFNEGLPROGRAMCACHERESIZEANGLEPROC l_EGL_ProgramCacheResizeANGLE;
+PFNEGLQUERYSURFACEPOINTERANGLEPROC l_EGL_QuerySurfacePointerANGLE;
+PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC l_EGL_CreateStreamProducerD3DTextureANGLE;
+PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC l_EGL_StreamPostD3DTextureANGLE;
+PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC l_EGL_SwapBuffersWithFrameTokenANGLE;
+PFNEGLGETMSCRATEANGLEPROC l_EGL_GetMscRateANGLE;
+PFNEGLEXPORTVKIMAGEANGLEPROC l_EGL_ExportVkImageANGLE;
+PFNEGLGETSYNCVALUESCHROMIUMPROC l_EGL_GetSyncValuesCHROMIUM;
+PFNEGLQUERYDEVICEATTRIBEXTPROC l_EGL_QueryDeviceAttribEXT;
+PFNEGLQUERYDEVICESTRINGEXTPROC l_EGL_QueryDeviceStringEXT;
+PFNEGLQUERYDISPLAYATTRIBEXTPROC l_EGL_QueryDisplayAttribEXT;
+PFNEGLQUERYDMABUFFORMATSEXTPROC l_EGL_QueryDmaBufFormatsEXT;
+PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_EGL_QueryDmaBufModifiersEXT;
+PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC l_EGL_CreatePlatformPixmapSurfaceEXT;
+PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC l_EGL_CreatePlatformWindowSurfaceEXT;
+PFNEGLGETPLATFORMDISPLAYEXTPROC l_EGL_GetPlatformDisplayEXT;
+PFNEGLDEBUGMESSAGECONTROLKHRPROC l_EGL_DebugMessageControlKHR;
+PFNEGLLABELOBJECTKHRPROC l_EGL_LabelObjectKHR;
+PFNEGLQUERYDEBUGKHRPROC l_EGL_QueryDebugKHR;
+PFNEGLCLIENTWAITSYNCKHRPROC l_EGL_ClientWaitSyncKHR;
+PFNEGLCREATESYNCKHRPROC l_EGL_CreateSyncKHR;
+PFNEGLDESTROYSYNCKHRPROC l_EGL_DestroySyncKHR;
+PFNEGLGETSYNCATTRIBKHRPROC l_EGL_GetSyncAttribKHR;
+PFNEGLCREATEIMAGEKHRPROC l_EGL_CreateImageKHR;
+PFNEGLDESTROYIMAGEKHRPROC l_EGL_DestroyImageKHR;
+PFNEGLLOCKSURFACEKHRPROC l_EGL_LockSurfaceKHR;
+PFNEGLQUERYSURFACE64KHRPROC l_EGL_QuerySurface64KHR;
+PFNEGLUNLOCKSURFACEKHRPROC l_EGL_UnlockSurfaceKHR;
+PFNEGLSETDAMAGEREGIONKHRPROC l_EGL_SetDamageRegionKHR;
+PFNEGLSIGNALSYNCKHRPROC l_EGL_SignalSyncKHR;
+PFNEGLCREATESTREAMKHRPROC l_EGL_CreateStreamKHR;
+PFNEGLDESTROYSTREAMKHRPROC l_EGL_DestroyStreamKHR;
+PFNEGLQUERYSTREAMKHRPROC l_EGL_QueryStreamKHR;
+PFNEGLQUERYSTREAMU64KHRPROC l_EGL_QueryStreamu64KHR;
+PFNEGLSTREAMATTRIBKHRPROC l_EGL_StreamAttribKHR;
+PFNEGLSTREAMCONSUMERACQUIREKHRPROC l_EGL_StreamConsumerAcquireKHR;
+PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC l_EGL_StreamConsumerGLTextureExternalKHR;
+PFNEGLSTREAMCONSUMERRELEASEKHRPROC l_EGL_StreamConsumerReleaseKHR;
+PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC l_EGL_SwapBuffersWithDamageKHR;
+PFNEGLWAITSYNCKHRPROC l_EGL_WaitSyncKHR;
+PFNEGLPOSTSUBBUFFERNVPROC l_EGL_PostSubBufferNV;
+PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC l_EGL_StreamConsumerGLTextureExternalAttribsNV;
+
+void LoadLibEGL_EGL(LoadProc loadProc)
+{
+ l_EGL_ChooseConfig = reinterpret_cast<PFNEGLCHOOSECONFIGPROC>(loadProc("EGL_ChooseConfig"));
+ l_EGL_CopyBuffers = reinterpret_cast<PFNEGLCOPYBUFFERSPROC>(loadProc("EGL_CopyBuffers"));
+ l_EGL_CreateContext = reinterpret_cast<PFNEGLCREATECONTEXTPROC>(loadProc("EGL_CreateContext"));
+ l_EGL_CreatePbufferSurface =
+ reinterpret_cast<PFNEGLCREATEPBUFFERSURFACEPROC>(loadProc("EGL_CreatePbufferSurface"));
+ l_EGL_CreatePixmapSurface =
+ reinterpret_cast<PFNEGLCREATEPIXMAPSURFACEPROC>(loadProc("EGL_CreatePixmapSurface"));
+ l_EGL_CreateWindowSurface =
+ reinterpret_cast<PFNEGLCREATEWINDOWSURFACEPROC>(loadProc("EGL_CreateWindowSurface"));
+ l_EGL_DestroyContext =
+ reinterpret_cast<PFNEGLDESTROYCONTEXTPROC>(loadProc("EGL_DestroyContext"));
+ l_EGL_DestroySurface =
+ reinterpret_cast<PFNEGLDESTROYSURFACEPROC>(loadProc("EGL_DestroySurface"));
+ l_EGL_GetConfigAttrib =
+ reinterpret_cast<PFNEGLGETCONFIGATTRIBPROC>(loadProc("EGL_GetConfigAttrib"));
+ l_EGL_GetConfigs = reinterpret_cast<PFNEGLGETCONFIGSPROC>(loadProc("EGL_GetConfigs"));
+ l_EGL_GetCurrentDisplay =
+ reinterpret_cast<PFNEGLGETCURRENTDISPLAYPROC>(loadProc("EGL_GetCurrentDisplay"));
+ l_EGL_GetCurrentSurface =
+ reinterpret_cast<PFNEGLGETCURRENTSURFACEPROC>(loadProc("EGL_GetCurrentSurface"));
+ l_EGL_GetDisplay = reinterpret_cast<PFNEGLGETDISPLAYPROC>(loadProc("EGL_GetDisplay"));
+ l_EGL_GetError = reinterpret_cast<PFNEGLGETERRORPROC>(loadProc("EGL_GetError"));
+ l_EGL_GetProcAddress =
+ reinterpret_cast<PFNEGLGETPROCADDRESSPROC>(loadProc("EGL_GetProcAddress"));
+ l_EGL_Initialize = reinterpret_cast<PFNEGLINITIALIZEPROC>(loadProc("EGL_Initialize"));
+ l_EGL_MakeCurrent = reinterpret_cast<PFNEGLMAKECURRENTPROC>(loadProc("EGL_MakeCurrent"));
+ l_EGL_QueryContext = reinterpret_cast<PFNEGLQUERYCONTEXTPROC>(loadProc("EGL_QueryContext"));
+ l_EGL_QueryString = reinterpret_cast<PFNEGLQUERYSTRINGPROC>(loadProc("EGL_QueryString"));
+ l_EGL_QuerySurface = reinterpret_cast<PFNEGLQUERYSURFACEPROC>(loadProc("EGL_QuerySurface"));
+ l_EGL_SwapBuffers = reinterpret_cast<PFNEGLSWAPBUFFERSPROC>(loadProc("EGL_SwapBuffers"));
+ l_EGL_Terminate = reinterpret_cast<PFNEGLTERMINATEPROC>(loadProc("EGL_Terminate"));
+ l_EGL_WaitGL = reinterpret_cast<PFNEGLWAITGLPROC>(loadProc("EGL_WaitGL"));
+ l_EGL_WaitNative = reinterpret_cast<PFNEGLWAITNATIVEPROC>(loadProc("EGL_WaitNative"));
+ l_EGL_BindTexImage = reinterpret_cast<PFNEGLBINDTEXIMAGEPROC>(loadProc("EGL_BindTexImage"));
+ l_EGL_ReleaseTexImage =
+ reinterpret_cast<PFNEGLRELEASETEXIMAGEPROC>(loadProc("EGL_ReleaseTexImage"));
+ l_EGL_SurfaceAttrib = reinterpret_cast<PFNEGLSURFACEATTRIBPROC>(loadProc("EGL_SurfaceAttrib"));
+ l_EGL_SwapInterval = reinterpret_cast<PFNEGLSWAPINTERVALPROC>(loadProc("EGL_SwapInterval"));
+ l_EGL_BindAPI = reinterpret_cast<PFNEGLBINDAPIPROC>(loadProc("EGL_BindAPI"));
+ l_EGL_QueryAPI = reinterpret_cast<PFNEGLQUERYAPIPROC>(loadProc("EGL_QueryAPI"));
+ l_EGL_CreatePbufferFromClientBuffer = reinterpret_cast<PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC>(
+ loadProc("EGL_CreatePbufferFromClientBuffer"));
+ l_EGL_ReleaseThread = reinterpret_cast<PFNEGLRELEASETHREADPROC>(loadProc("EGL_ReleaseThread"));
+ l_EGL_WaitClient = reinterpret_cast<PFNEGLWAITCLIENTPROC>(loadProc("EGL_WaitClient"));
+ l_EGL_GetCurrentContext =
+ reinterpret_cast<PFNEGLGETCURRENTCONTEXTPROC>(loadProc("EGL_GetCurrentContext"));
+ l_EGL_CreateSync = reinterpret_cast<PFNEGLCREATESYNCPROC>(loadProc("EGL_CreateSync"));
+ l_EGL_DestroySync = reinterpret_cast<PFNEGLDESTROYSYNCPROC>(loadProc("EGL_DestroySync"));
+ l_EGL_ClientWaitSync =
+ reinterpret_cast<PFNEGLCLIENTWAITSYNCPROC>(loadProc("EGL_ClientWaitSync"));
+ l_EGL_GetSyncAttrib = reinterpret_cast<PFNEGLGETSYNCATTRIBPROC>(loadProc("EGL_GetSyncAttrib"));
+ l_EGL_CreateImage = reinterpret_cast<PFNEGLCREATEIMAGEPROC>(loadProc("EGL_CreateImage"));
+ l_EGL_DestroyImage = reinterpret_cast<PFNEGLDESTROYIMAGEPROC>(loadProc("EGL_DestroyImage"));
+ l_EGL_GetPlatformDisplay =
+ reinterpret_cast<PFNEGLGETPLATFORMDISPLAYPROC>(loadProc("EGL_GetPlatformDisplay"));
+ l_EGL_CreatePlatformWindowSurface = reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEPROC>(
+ loadProc("EGL_CreatePlatformWindowSurface"));
+ l_EGL_CreatePlatformPixmapSurface = reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC>(
+ loadProc("EGL_CreatePlatformPixmapSurface"));
+ l_EGL_WaitSync = reinterpret_cast<PFNEGLWAITSYNCPROC>(loadProc("EGL_WaitSync"));
+ l_EGL_SetBlobCacheFuncsANDROID = reinterpret_cast<PFNEGLSETBLOBCACHEFUNCSANDROIDPROC>(
+ loadProc("EGL_SetBlobCacheFuncsANDROID"));
+ l_EGL_CreateNativeClientBufferANDROID =
+ reinterpret_cast<PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC>(
+ loadProc("EGL_CreateNativeClientBufferANDROID"));
+ l_EGL_GetCompositorTimingANDROID = reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGANDROIDPROC>(
+ loadProc("EGL_GetCompositorTimingANDROID"));
+ l_EGL_GetCompositorTimingSupportedANDROID =
+ reinterpret_cast<PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC>(
+ loadProc("EGL_GetCompositorTimingSupportedANDROID"));
+ l_EGL_GetFrameTimestampSupportedANDROID =
+ reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC>(
+ loadProc("EGL_GetFrameTimestampSupportedANDROID"));
+ l_EGL_GetFrameTimestampsANDROID = reinterpret_cast<PFNEGLGETFRAMETIMESTAMPSANDROIDPROC>(
+ loadProc("EGL_GetFrameTimestampsANDROID"));
+ l_EGL_GetNextFrameIdANDROID =
+ reinterpret_cast<PFNEGLGETNEXTFRAMEIDANDROIDPROC>(loadProc("EGL_GetNextFrameIdANDROID"));
+ l_EGL_GetNativeClientBufferANDROID = reinterpret_cast<PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC>(
+ loadProc("EGL_GetNativeClientBufferANDROID"));
+ l_EGL_DupNativeFenceFDANDROID = reinterpret_cast<PFNEGLDUPNATIVEFENCEFDANDROIDPROC>(
+ loadProc("EGL_DupNativeFenceFDANDROID"));
+ l_EGL_PresentationTimeANDROID = reinterpret_cast<PFNEGLPRESENTATIONTIMEANDROIDPROC>(
+ loadProc("EGL_PresentationTimeANDROID"));
+ l_EGL_CreateDeviceANGLE =
+ reinterpret_cast<PFNEGLCREATEDEVICEANGLEPROC>(loadProc("EGL_CreateDeviceANGLE"));
+ l_EGL_ReleaseDeviceANGLE =
+ reinterpret_cast<PFNEGLRELEASEDEVICEANGLEPROC>(loadProc("EGL_ReleaseDeviceANGLE"));
+ l_EGL_QueryDisplayAttribANGLE = reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBANGLEPROC>(
+ loadProc("EGL_QueryDisplayAttribANGLE"));
+ l_EGL_QueryStringiANGLE =
+ reinterpret_cast<PFNEGLQUERYSTRINGIANGLEPROC>(loadProc("EGL_QueryStringiANGLE"));
+ l_EGL_CopyMetalSharedEventANGLE = reinterpret_cast<PFNEGLCOPYMETALSHAREDEVENTANGLEPROC>(
+ loadProc("EGL_CopyMetalSharedEventANGLE"));
+ l_EGL_ForceGPUSwitchANGLE =
+ reinterpret_cast<PFNEGLFORCEGPUSWITCHANGLEPROC>(loadProc("EGL_ForceGPUSwitchANGLE"));
+ l_EGL_HandleGPUSwitchANGLE =
+ reinterpret_cast<PFNEGLHANDLEGPUSWITCHANGLEPROC>(loadProc("EGL_HandleGPUSwitchANGLE"));
+ l_EGL_ReacquireHighPowerGPUANGLE = reinterpret_cast<PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC>(
+ loadProc("EGL_ReacquireHighPowerGPUANGLE"));
+ l_EGL_ReleaseHighPowerGPUANGLE = reinterpret_cast<PFNEGLRELEASEHIGHPOWERGPUANGLEPROC>(
+ loadProc("EGL_ReleaseHighPowerGPUANGLE"));
+ l_EGL_PrepareSwapBuffersANGLE = reinterpret_cast<PFNEGLPREPARESWAPBUFFERSANGLEPROC>(
+ loadProc("EGL_PrepareSwapBuffersANGLE"));
+ l_EGL_ProgramCacheGetAttribANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC>(
+ loadProc("EGL_ProgramCacheGetAttribANGLE"));
+ l_EGL_ProgramCachePopulateANGLE = reinterpret_cast<PFNEGLPROGRAMCACHEPOPULATEANGLEPROC>(
+ loadProc("EGL_ProgramCachePopulateANGLE"));
+ l_EGL_ProgramCacheQueryANGLE =
+ reinterpret_cast<PFNEGLPROGRAMCACHEQUERYANGLEPROC>(loadProc("EGL_ProgramCacheQueryANGLE"));
+ l_EGL_ProgramCacheResizeANGLE = reinterpret_cast<PFNEGLPROGRAMCACHERESIZEANGLEPROC>(
+ loadProc("EGL_ProgramCacheResizeANGLE"));
+ l_EGL_QuerySurfacePointerANGLE = reinterpret_cast<PFNEGLQUERYSURFACEPOINTERANGLEPROC>(
+ loadProc("EGL_QuerySurfacePointerANGLE"));
+ l_EGL_CreateStreamProducerD3DTextureANGLE =
+ reinterpret_cast<PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC>(
+ loadProc("EGL_CreateStreamProducerD3DTextureANGLE"));
+ l_EGL_StreamPostD3DTextureANGLE = reinterpret_cast<PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC>(
+ loadProc("EGL_StreamPostD3DTextureANGLE"));
+ l_EGL_SwapBuffersWithFrameTokenANGLE =
+ reinterpret_cast<PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC>(
+ loadProc("EGL_SwapBuffersWithFrameTokenANGLE"));
+ l_EGL_GetMscRateANGLE =
+ reinterpret_cast<PFNEGLGETMSCRATEANGLEPROC>(loadProc("EGL_GetMscRateANGLE"));
+ l_EGL_ExportVkImageANGLE =
+ reinterpret_cast<PFNEGLEXPORTVKIMAGEANGLEPROC>(loadProc("EGL_ExportVkImageANGLE"));
+ l_EGL_GetSyncValuesCHROMIUM =
+ reinterpret_cast<PFNEGLGETSYNCVALUESCHROMIUMPROC>(loadProc("EGL_GetSyncValuesCHROMIUM"));
+ l_EGL_QueryDeviceAttribEXT =
+ reinterpret_cast<PFNEGLQUERYDEVICEATTRIBEXTPROC>(loadProc("EGL_QueryDeviceAttribEXT"));
+ l_EGL_QueryDeviceStringEXT =
+ reinterpret_cast<PFNEGLQUERYDEVICESTRINGEXTPROC>(loadProc("EGL_QueryDeviceStringEXT"));
+ l_EGL_QueryDisplayAttribEXT =
+ reinterpret_cast<PFNEGLQUERYDISPLAYATTRIBEXTPROC>(loadProc("EGL_QueryDisplayAttribEXT"));
+ l_EGL_QueryDmaBufFormatsEXT =
+ reinterpret_cast<PFNEGLQUERYDMABUFFORMATSEXTPROC>(loadProc("EGL_QueryDmaBufFormatsEXT"));
+ l_EGL_QueryDmaBufModifiersEXT = reinterpret_cast<PFNEGLQUERYDMABUFMODIFIERSEXTPROC>(
+ loadProc("EGL_QueryDmaBufModifiersEXT"));
+ l_EGL_CreatePlatformPixmapSurfaceEXT =
+ reinterpret_cast<PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC>(
+ loadProc("EGL_CreatePlatformPixmapSurfaceEXT"));
+ l_EGL_CreatePlatformWindowSurfaceEXT =
+ reinterpret_cast<PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC>(
+ loadProc("EGL_CreatePlatformWindowSurfaceEXT"));
+ l_EGL_GetPlatformDisplayEXT =
+ reinterpret_cast<PFNEGLGETPLATFORMDISPLAYEXTPROC>(loadProc("EGL_GetPlatformDisplayEXT"));
+ l_EGL_DebugMessageControlKHR =
+ reinterpret_cast<PFNEGLDEBUGMESSAGECONTROLKHRPROC>(loadProc("EGL_DebugMessageControlKHR"));
+ l_EGL_LabelObjectKHR =
+ reinterpret_cast<PFNEGLLABELOBJECTKHRPROC>(loadProc("EGL_LabelObjectKHR"));
+ l_EGL_QueryDebugKHR = reinterpret_cast<PFNEGLQUERYDEBUGKHRPROC>(loadProc("EGL_QueryDebugKHR"));
+ l_EGL_ClientWaitSyncKHR =
+ reinterpret_cast<PFNEGLCLIENTWAITSYNCKHRPROC>(loadProc("EGL_ClientWaitSyncKHR"));
+ l_EGL_CreateSyncKHR = reinterpret_cast<PFNEGLCREATESYNCKHRPROC>(loadProc("EGL_CreateSyncKHR"));
+ l_EGL_DestroySyncKHR =
+ reinterpret_cast<PFNEGLDESTROYSYNCKHRPROC>(loadProc("EGL_DestroySyncKHR"));
+ l_EGL_GetSyncAttribKHR =
+ reinterpret_cast<PFNEGLGETSYNCATTRIBKHRPROC>(loadProc("EGL_GetSyncAttribKHR"));
+ l_EGL_CreateImageKHR =
+ reinterpret_cast<PFNEGLCREATEIMAGEKHRPROC>(loadProc("EGL_CreateImageKHR"));
+ l_EGL_DestroyImageKHR =
+ reinterpret_cast<PFNEGLDESTROYIMAGEKHRPROC>(loadProc("EGL_DestroyImageKHR"));
+ l_EGL_LockSurfaceKHR =
+ reinterpret_cast<PFNEGLLOCKSURFACEKHRPROC>(loadProc("EGL_LockSurfaceKHR"));
+ l_EGL_QuerySurface64KHR =
+ reinterpret_cast<PFNEGLQUERYSURFACE64KHRPROC>(loadProc("EGL_QuerySurface64KHR"));
+ l_EGL_UnlockSurfaceKHR =
+ reinterpret_cast<PFNEGLUNLOCKSURFACEKHRPROC>(loadProc("EGL_UnlockSurfaceKHR"));
+ l_EGL_SetDamageRegionKHR =
+ reinterpret_cast<PFNEGLSETDAMAGEREGIONKHRPROC>(loadProc("EGL_SetDamageRegionKHR"));
+ l_EGL_SignalSyncKHR = reinterpret_cast<PFNEGLSIGNALSYNCKHRPROC>(loadProc("EGL_SignalSyncKHR"));
+ l_EGL_CreateStreamKHR =
+ reinterpret_cast<PFNEGLCREATESTREAMKHRPROC>(loadProc("EGL_CreateStreamKHR"));
+ l_EGL_DestroyStreamKHR =
+ reinterpret_cast<PFNEGLDESTROYSTREAMKHRPROC>(loadProc("EGL_DestroyStreamKHR"));
+ l_EGL_QueryStreamKHR =
+ reinterpret_cast<PFNEGLQUERYSTREAMKHRPROC>(loadProc("EGL_QueryStreamKHR"));
+ l_EGL_QueryStreamu64KHR =
+ reinterpret_cast<PFNEGLQUERYSTREAMU64KHRPROC>(loadProc("EGL_QueryStreamu64KHR"));
+ l_EGL_StreamAttribKHR =
+ reinterpret_cast<PFNEGLSTREAMATTRIBKHRPROC>(loadProc("EGL_StreamAttribKHR"));
+ l_EGL_StreamConsumerAcquireKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERACQUIREKHRPROC>(
+ loadProc("EGL_StreamConsumerAcquireKHR"));
+ l_EGL_StreamConsumerGLTextureExternalKHR =
+ reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC>(
+ loadProc("EGL_StreamConsumerGLTextureExternalKHR"));
+ l_EGL_StreamConsumerReleaseKHR = reinterpret_cast<PFNEGLSTREAMCONSUMERRELEASEKHRPROC>(
+ loadProc("EGL_StreamConsumerReleaseKHR"));
+ l_EGL_SwapBuffersWithDamageKHR = reinterpret_cast<PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC>(
+ loadProc("EGL_SwapBuffersWithDamageKHR"));
+ l_EGL_WaitSyncKHR = reinterpret_cast<PFNEGLWAITSYNCKHRPROC>(loadProc("EGL_WaitSyncKHR"));
+ l_EGL_PostSubBufferNV =
+ reinterpret_cast<PFNEGLPOSTSUBBUFFERNVPROC>(loadProc("EGL_PostSubBufferNV"));
+ l_EGL_StreamConsumerGLTextureExternalAttribsNV =
+ reinterpret_cast<PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC>(
+ loadProc("EGL_StreamConsumerGLTextureExternalAttribsNV"));
+}
diff --git a/gfx/angle/checkout/src/libEGL/egl_loader_autogen.h b/gfx/angle/checkout/src/libEGL/egl_loader_autogen.h
new file mode 100644
index 0000000000..52e7f38f6d
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/egl_loader_autogen.h
@@ -0,0 +1,250 @@
+// GENERATED FILE - DO NOT EDIT.
+// Generated by generate_loader.py using data from egl.xml and egl_angle_ext.xml.
+//
+// Copyright 2018 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 l_EGL_ChooseConfig
+#define EGL_CopyBuffers l_EGL_CopyBuffers
+#define EGL_CreateContext l_EGL_CreateContext
+#define EGL_CreatePbufferSurface l_EGL_CreatePbufferSurface
+#define EGL_CreatePixmapSurface l_EGL_CreatePixmapSurface
+#define EGL_CreateWindowSurface l_EGL_CreateWindowSurface
+#define EGL_DestroyContext l_EGL_DestroyContext
+#define EGL_DestroySurface l_EGL_DestroySurface
+#define EGL_GetConfigAttrib l_EGL_GetConfigAttrib
+#define EGL_GetConfigs l_EGL_GetConfigs
+#define EGL_GetCurrentDisplay l_EGL_GetCurrentDisplay
+#define EGL_GetCurrentSurface l_EGL_GetCurrentSurface
+#define EGL_GetDisplay l_EGL_GetDisplay
+#define EGL_GetError l_EGL_GetError
+#define EGL_GetProcAddress l_EGL_GetProcAddress
+#define EGL_Initialize l_EGL_Initialize
+#define EGL_MakeCurrent l_EGL_MakeCurrent
+#define EGL_QueryContext l_EGL_QueryContext
+#define EGL_QueryString l_EGL_QueryString
+#define EGL_QuerySurface l_EGL_QuerySurface
+#define EGL_SwapBuffers l_EGL_SwapBuffers
+#define EGL_Terminate l_EGL_Terminate
+#define EGL_WaitGL l_EGL_WaitGL
+#define EGL_WaitNative l_EGL_WaitNative
+#define EGL_BindTexImage l_EGL_BindTexImage
+#define EGL_ReleaseTexImage l_EGL_ReleaseTexImage
+#define EGL_SurfaceAttrib l_EGL_SurfaceAttrib
+#define EGL_SwapInterval l_EGL_SwapInterval
+#define EGL_BindAPI l_EGL_BindAPI
+#define EGL_QueryAPI l_EGL_QueryAPI
+#define EGL_CreatePbufferFromClientBuffer l_EGL_CreatePbufferFromClientBuffer
+#define EGL_ReleaseThread l_EGL_ReleaseThread
+#define EGL_WaitClient l_EGL_WaitClient
+#define EGL_GetCurrentContext l_EGL_GetCurrentContext
+#define EGL_CreateSync l_EGL_CreateSync
+#define EGL_DestroySync l_EGL_DestroySync
+#define EGL_ClientWaitSync l_EGL_ClientWaitSync
+#define EGL_GetSyncAttrib l_EGL_GetSyncAttrib
+#define EGL_CreateImage l_EGL_CreateImage
+#define EGL_DestroyImage l_EGL_DestroyImage
+#define EGL_GetPlatformDisplay l_EGL_GetPlatformDisplay
+#define EGL_CreatePlatformWindowSurface l_EGL_CreatePlatformWindowSurface
+#define EGL_CreatePlatformPixmapSurface l_EGL_CreatePlatformPixmapSurface
+#define EGL_WaitSync l_EGL_WaitSync
+#define EGL_SetBlobCacheFuncsANDROID l_EGL_SetBlobCacheFuncsANDROID
+#define EGL_CreateNativeClientBufferANDROID l_EGL_CreateNativeClientBufferANDROID
+#define EGL_GetCompositorTimingANDROID l_EGL_GetCompositorTimingANDROID
+#define EGL_GetCompositorTimingSupportedANDROID l_EGL_GetCompositorTimingSupportedANDROID
+#define EGL_GetFrameTimestampSupportedANDROID l_EGL_GetFrameTimestampSupportedANDROID
+#define EGL_GetFrameTimestampsANDROID l_EGL_GetFrameTimestampsANDROID
+#define EGL_GetNextFrameIdANDROID l_EGL_GetNextFrameIdANDROID
+#define EGL_GetNativeClientBufferANDROID l_EGL_GetNativeClientBufferANDROID
+#define EGL_DupNativeFenceFDANDROID l_EGL_DupNativeFenceFDANDROID
+#define EGL_PresentationTimeANDROID l_EGL_PresentationTimeANDROID
+#define EGL_CreateDeviceANGLE l_EGL_CreateDeviceANGLE
+#define EGL_ReleaseDeviceANGLE l_EGL_ReleaseDeviceANGLE
+#define EGL_QueryDisplayAttribANGLE l_EGL_QueryDisplayAttribANGLE
+#define EGL_QueryStringiANGLE l_EGL_QueryStringiANGLE
+#define EGL_CopyMetalSharedEventANGLE l_EGL_CopyMetalSharedEventANGLE
+#define EGL_ForceGPUSwitchANGLE l_EGL_ForceGPUSwitchANGLE
+#define EGL_HandleGPUSwitchANGLE l_EGL_HandleGPUSwitchANGLE
+#define EGL_ReacquireHighPowerGPUANGLE l_EGL_ReacquireHighPowerGPUANGLE
+#define EGL_ReleaseHighPowerGPUANGLE l_EGL_ReleaseHighPowerGPUANGLE
+#define EGL_PrepareSwapBuffersANGLE l_EGL_PrepareSwapBuffersANGLE
+#define EGL_ProgramCacheGetAttribANGLE l_EGL_ProgramCacheGetAttribANGLE
+#define EGL_ProgramCachePopulateANGLE l_EGL_ProgramCachePopulateANGLE
+#define EGL_ProgramCacheQueryANGLE l_EGL_ProgramCacheQueryANGLE
+#define EGL_ProgramCacheResizeANGLE l_EGL_ProgramCacheResizeANGLE
+#define EGL_QuerySurfacePointerANGLE l_EGL_QuerySurfacePointerANGLE
+#define EGL_CreateStreamProducerD3DTextureANGLE l_EGL_CreateStreamProducerD3DTextureANGLE
+#define EGL_StreamPostD3DTextureANGLE l_EGL_StreamPostD3DTextureANGLE
+#define EGL_SwapBuffersWithFrameTokenANGLE l_EGL_SwapBuffersWithFrameTokenANGLE
+#define EGL_GetMscRateANGLE l_EGL_GetMscRateANGLE
+#define EGL_ExportVkImageANGLE l_EGL_ExportVkImageANGLE
+#define EGL_GetSyncValuesCHROMIUM l_EGL_GetSyncValuesCHROMIUM
+#define EGL_QueryDeviceAttribEXT l_EGL_QueryDeviceAttribEXT
+#define EGL_QueryDeviceStringEXT l_EGL_QueryDeviceStringEXT
+#define EGL_QueryDisplayAttribEXT l_EGL_QueryDisplayAttribEXT
+#define EGL_QueryDmaBufFormatsEXT l_EGL_QueryDmaBufFormatsEXT
+#define EGL_QueryDmaBufModifiersEXT l_EGL_QueryDmaBufModifiersEXT
+#define EGL_CreatePlatformPixmapSurfaceEXT l_EGL_CreatePlatformPixmapSurfaceEXT
+#define EGL_CreatePlatformWindowSurfaceEXT l_EGL_CreatePlatformWindowSurfaceEXT
+#define EGL_GetPlatformDisplayEXT l_EGL_GetPlatformDisplayEXT
+#define EGL_DebugMessageControlKHR l_EGL_DebugMessageControlKHR
+#define EGL_LabelObjectKHR l_EGL_LabelObjectKHR
+#define EGL_QueryDebugKHR l_EGL_QueryDebugKHR
+#define EGL_ClientWaitSyncKHR l_EGL_ClientWaitSyncKHR
+#define EGL_CreateSyncKHR l_EGL_CreateSyncKHR
+#define EGL_DestroySyncKHR l_EGL_DestroySyncKHR
+#define EGL_GetSyncAttribKHR l_EGL_GetSyncAttribKHR
+#define EGL_CreateImageKHR l_EGL_CreateImageKHR
+#define EGL_DestroyImageKHR l_EGL_DestroyImageKHR
+#define EGL_LockSurfaceKHR l_EGL_LockSurfaceKHR
+#define EGL_QuerySurface64KHR l_EGL_QuerySurface64KHR
+#define EGL_UnlockSurfaceKHR l_EGL_UnlockSurfaceKHR
+#define EGL_SetDamageRegionKHR l_EGL_SetDamageRegionKHR
+#define EGL_SignalSyncKHR l_EGL_SignalSyncKHR
+#define EGL_CreateStreamKHR l_EGL_CreateStreamKHR
+#define EGL_DestroyStreamKHR l_EGL_DestroyStreamKHR
+#define EGL_QueryStreamKHR l_EGL_QueryStreamKHR
+#define EGL_QueryStreamu64KHR l_EGL_QueryStreamu64KHR
+#define EGL_StreamAttribKHR l_EGL_StreamAttribKHR
+#define EGL_StreamConsumerAcquireKHR l_EGL_StreamConsumerAcquireKHR
+#define EGL_StreamConsumerGLTextureExternalKHR l_EGL_StreamConsumerGLTextureExternalKHR
+#define EGL_StreamConsumerReleaseKHR l_EGL_StreamConsumerReleaseKHR
+#define EGL_SwapBuffersWithDamageKHR l_EGL_SwapBuffersWithDamageKHR
+#define EGL_WaitSyncKHR l_EGL_WaitSyncKHR
+#define EGL_PostSubBufferNV l_EGL_PostSubBufferNV
+#define EGL_StreamConsumerGLTextureExternalAttribsNV l_EGL_StreamConsumerGLTextureExternalAttribsNV
+ANGLE_NO_EXPORT extern PFNEGLCHOOSECONFIGPROC l_EGL_ChooseConfig;
+ANGLE_NO_EXPORT extern PFNEGLCOPYBUFFERSPROC l_EGL_CopyBuffers;
+ANGLE_NO_EXPORT extern PFNEGLCREATECONTEXTPROC l_EGL_CreateContext;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPBUFFERSURFACEPROC l_EGL_CreatePbufferSurface;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPIXMAPSURFACEPROC l_EGL_CreatePixmapSurface;
+ANGLE_NO_EXPORT extern PFNEGLCREATEWINDOWSURFACEPROC l_EGL_CreateWindowSurface;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYCONTEXTPROC l_EGL_DestroyContext;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYSURFACEPROC l_EGL_DestroySurface;
+ANGLE_NO_EXPORT extern PFNEGLGETCONFIGATTRIBPROC l_EGL_GetConfigAttrib;
+ANGLE_NO_EXPORT extern PFNEGLGETCONFIGSPROC l_EGL_GetConfigs;
+ANGLE_NO_EXPORT extern PFNEGLGETCURRENTDISPLAYPROC l_EGL_GetCurrentDisplay;
+ANGLE_NO_EXPORT extern PFNEGLGETCURRENTSURFACEPROC l_EGL_GetCurrentSurface;
+ANGLE_NO_EXPORT extern PFNEGLGETDISPLAYPROC l_EGL_GetDisplay;
+ANGLE_NO_EXPORT extern PFNEGLGETERRORPROC l_EGL_GetError;
+ANGLE_NO_EXPORT extern PFNEGLGETPROCADDRESSPROC l_EGL_GetProcAddress;
+ANGLE_NO_EXPORT extern PFNEGLINITIALIZEPROC l_EGL_Initialize;
+ANGLE_NO_EXPORT extern PFNEGLMAKECURRENTPROC l_EGL_MakeCurrent;
+ANGLE_NO_EXPORT extern PFNEGLQUERYCONTEXTPROC l_EGL_QueryContext;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSTRINGPROC l_EGL_QueryString;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSURFACEPROC l_EGL_QuerySurface;
+ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSPROC l_EGL_SwapBuffers;
+ANGLE_NO_EXPORT extern PFNEGLTERMINATEPROC l_EGL_Terminate;
+ANGLE_NO_EXPORT extern PFNEGLWAITGLPROC l_EGL_WaitGL;
+ANGLE_NO_EXPORT extern PFNEGLWAITNATIVEPROC l_EGL_WaitNative;
+ANGLE_NO_EXPORT extern PFNEGLBINDTEXIMAGEPROC l_EGL_BindTexImage;
+ANGLE_NO_EXPORT extern PFNEGLRELEASETEXIMAGEPROC l_EGL_ReleaseTexImage;
+ANGLE_NO_EXPORT extern PFNEGLSURFACEATTRIBPROC l_EGL_SurfaceAttrib;
+ANGLE_NO_EXPORT extern PFNEGLSWAPINTERVALPROC l_EGL_SwapInterval;
+ANGLE_NO_EXPORT extern PFNEGLBINDAPIPROC l_EGL_BindAPI;
+ANGLE_NO_EXPORT extern PFNEGLQUERYAPIPROC l_EGL_QueryAPI;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC l_EGL_CreatePbufferFromClientBuffer;
+ANGLE_NO_EXPORT extern PFNEGLRELEASETHREADPROC l_EGL_ReleaseThread;
+ANGLE_NO_EXPORT extern PFNEGLWAITCLIENTPROC l_EGL_WaitClient;
+ANGLE_NO_EXPORT extern PFNEGLGETCURRENTCONTEXTPROC l_EGL_GetCurrentContext;
+ANGLE_NO_EXPORT extern PFNEGLCREATESYNCPROC l_EGL_CreateSync;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYSYNCPROC l_EGL_DestroySync;
+ANGLE_NO_EXPORT extern PFNEGLCLIENTWAITSYNCPROC l_EGL_ClientWaitSync;
+ANGLE_NO_EXPORT extern PFNEGLGETSYNCATTRIBPROC l_EGL_GetSyncAttrib;
+ANGLE_NO_EXPORT extern PFNEGLCREATEIMAGEPROC l_EGL_CreateImage;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYIMAGEPROC l_EGL_DestroyImage;
+ANGLE_NO_EXPORT extern PFNEGLGETPLATFORMDISPLAYPROC l_EGL_GetPlatformDisplay;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEPROC l_EGL_CreatePlatformWindowSurface;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC l_EGL_CreatePlatformPixmapSurface;
+ANGLE_NO_EXPORT extern PFNEGLWAITSYNCPROC l_EGL_WaitSync;
+ANGLE_NO_EXPORT extern PFNEGLSETBLOBCACHEFUNCSANDROIDPROC l_EGL_SetBlobCacheFuncsANDROID;
+ANGLE_NO_EXPORT extern PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC
+ l_EGL_CreateNativeClientBufferANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETCOMPOSITORTIMINGANDROIDPROC l_EGL_GetCompositorTimingANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETCOMPOSITORTIMINGSUPPORTEDANDROIDPROC
+ l_EGL_GetCompositorTimingSupportedANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETFRAMETIMESTAMPSUPPORTEDANDROIDPROC
+ l_EGL_GetFrameTimestampSupportedANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETFRAMETIMESTAMPSANDROIDPROC l_EGL_GetFrameTimestampsANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETNEXTFRAMEIDANDROIDPROC l_EGL_GetNextFrameIdANDROID;
+ANGLE_NO_EXPORT extern PFNEGLGETNATIVECLIENTBUFFERANDROIDPROC l_EGL_GetNativeClientBufferANDROID;
+ANGLE_NO_EXPORT extern PFNEGLDUPNATIVEFENCEFDANDROIDPROC l_EGL_DupNativeFenceFDANDROID;
+ANGLE_NO_EXPORT extern PFNEGLPRESENTATIONTIMEANDROIDPROC l_EGL_PresentationTimeANDROID;
+ANGLE_NO_EXPORT extern PFNEGLCREATEDEVICEANGLEPROC l_EGL_CreateDeviceANGLE;
+ANGLE_NO_EXPORT extern PFNEGLRELEASEDEVICEANGLEPROC l_EGL_ReleaseDeviceANGLE;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBANGLEPROC l_EGL_QueryDisplayAttribANGLE;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSTRINGIANGLEPROC l_EGL_QueryStringiANGLE;
+ANGLE_NO_EXPORT extern PFNEGLCOPYMETALSHAREDEVENTANGLEPROC l_EGL_CopyMetalSharedEventANGLE;
+ANGLE_NO_EXPORT extern PFNEGLFORCEGPUSWITCHANGLEPROC l_EGL_ForceGPUSwitchANGLE;
+ANGLE_NO_EXPORT extern PFNEGLHANDLEGPUSWITCHANGLEPROC l_EGL_HandleGPUSwitchANGLE;
+ANGLE_NO_EXPORT extern PFNEGLREACQUIREHIGHPOWERGPUANGLEPROC l_EGL_ReacquireHighPowerGPUANGLE;
+ANGLE_NO_EXPORT extern PFNEGLRELEASEHIGHPOWERGPUANGLEPROC l_EGL_ReleaseHighPowerGPUANGLE;
+ANGLE_NO_EXPORT extern PFNEGLPREPARESWAPBUFFERSANGLEPROC l_EGL_PrepareSwapBuffersANGLE;
+ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEGETATTRIBANGLEPROC l_EGL_ProgramCacheGetAttribANGLE;
+ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEPOPULATEANGLEPROC l_EGL_ProgramCachePopulateANGLE;
+ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHEQUERYANGLEPROC l_EGL_ProgramCacheQueryANGLE;
+ANGLE_NO_EXPORT extern PFNEGLPROGRAMCACHERESIZEANGLEPROC l_EGL_ProgramCacheResizeANGLE;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSURFACEPOINTERANGLEPROC l_EGL_QuerySurfacePointerANGLE;
+ANGLE_NO_EXPORT extern PFNEGLCREATESTREAMPRODUCERD3DTEXTUREANGLEPROC
+ l_EGL_CreateStreamProducerD3DTextureANGLE;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMPOSTD3DTEXTUREANGLEPROC l_EGL_StreamPostD3DTextureANGLE;
+ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSWITHFRAMETOKENANGLEPROC
+ l_EGL_SwapBuffersWithFrameTokenANGLE;
+ANGLE_NO_EXPORT extern PFNEGLGETMSCRATEANGLEPROC l_EGL_GetMscRateANGLE;
+ANGLE_NO_EXPORT extern PFNEGLEXPORTVKIMAGEANGLEPROC l_EGL_ExportVkImageANGLE;
+ANGLE_NO_EXPORT extern PFNEGLGETSYNCVALUESCHROMIUMPROC l_EGL_GetSyncValuesCHROMIUM;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICEATTRIBEXTPROC l_EGL_QueryDeviceAttribEXT;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDEVICESTRINGEXTPROC l_EGL_QueryDeviceStringEXT;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDISPLAYATTRIBEXTPROC l_EGL_QueryDisplayAttribEXT;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDMABUFFORMATSEXTPROC l_EGL_QueryDmaBufFormatsEXT;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDMABUFMODIFIERSEXTPROC l_EGL_QueryDmaBufModifiersEXT;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC
+ l_EGL_CreatePlatformPixmapSurfaceEXT;
+ANGLE_NO_EXPORT extern PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
+ l_EGL_CreatePlatformWindowSurfaceEXT;
+ANGLE_NO_EXPORT extern PFNEGLGETPLATFORMDISPLAYEXTPROC l_EGL_GetPlatformDisplayEXT;
+ANGLE_NO_EXPORT extern PFNEGLDEBUGMESSAGECONTROLKHRPROC l_EGL_DebugMessageControlKHR;
+ANGLE_NO_EXPORT extern PFNEGLLABELOBJECTKHRPROC l_EGL_LabelObjectKHR;
+ANGLE_NO_EXPORT extern PFNEGLQUERYDEBUGKHRPROC l_EGL_QueryDebugKHR;
+ANGLE_NO_EXPORT extern PFNEGLCLIENTWAITSYNCKHRPROC l_EGL_ClientWaitSyncKHR;
+ANGLE_NO_EXPORT extern PFNEGLCREATESYNCKHRPROC l_EGL_CreateSyncKHR;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYSYNCKHRPROC l_EGL_DestroySyncKHR;
+ANGLE_NO_EXPORT extern PFNEGLGETSYNCATTRIBKHRPROC l_EGL_GetSyncAttribKHR;
+ANGLE_NO_EXPORT extern PFNEGLCREATEIMAGEKHRPROC l_EGL_CreateImageKHR;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYIMAGEKHRPROC l_EGL_DestroyImageKHR;
+ANGLE_NO_EXPORT extern PFNEGLLOCKSURFACEKHRPROC l_EGL_LockSurfaceKHR;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSURFACE64KHRPROC l_EGL_QuerySurface64KHR;
+ANGLE_NO_EXPORT extern PFNEGLUNLOCKSURFACEKHRPROC l_EGL_UnlockSurfaceKHR;
+ANGLE_NO_EXPORT extern PFNEGLSETDAMAGEREGIONKHRPROC l_EGL_SetDamageRegionKHR;
+ANGLE_NO_EXPORT extern PFNEGLSIGNALSYNCKHRPROC l_EGL_SignalSyncKHR;
+ANGLE_NO_EXPORT extern PFNEGLCREATESTREAMKHRPROC l_EGL_CreateStreamKHR;
+ANGLE_NO_EXPORT extern PFNEGLDESTROYSTREAMKHRPROC l_EGL_DestroyStreamKHR;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSTREAMKHRPROC l_EGL_QueryStreamKHR;
+ANGLE_NO_EXPORT extern PFNEGLQUERYSTREAMU64KHRPROC l_EGL_QueryStreamu64KHR;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMATTRIBKHRPROC l_EGL_StreamAttribKHR;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERACQUIREKHRPROC l_EGL_StreamConsumerAcquireKHR;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC
+ l_EGL_StreamConsumerGLTextureExternalKHR;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERRELEASEKHRPROC l_EGL_StreamConsumerReleaseKHR;
+ANGLE_NO_EXPORT extern PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC l_EGL_SwapBuffersWithDamageKHR;
+ANGLE_NO_EXPORT extern PFNEGLWAITSYNCKHRPROC l_EGL_WaitSyncKHR;
+ANGLE_NO_EXPORT extern PFNEGLPOSTSUBBUFFERNVPROC l_EGL_PostSubBufferNV;
+ANGLE_NO_EXPORT extern PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC
+ l_EGL_StreamConsumerGLTextureExternalAttribsNV;
+
+using GenericProc = void (*)();
+using LoadProc = GenericProc(KHRONOS_APIENTRY *)(const char *);
+ANGLE_NO_EXPORT void LoadLibEGL_EGL(LoadProc loadProc);
+
+#endif // LIBEGL_EGL_LOADER_AUTOGEN_H_
diff --git a/gfx/angle/checkout/src/libEGL/libEGL.rc b/gfx/angle/checkout/src/libEGL/libEGL.rc
new file mode 100644
index 0000000000..e1394ba80e
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/libEGL.rc
@@ -0,0 +1,103 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include <windows.h>
+#include "../common/angle_version.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "#include ""../common/version.h""\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION ANGLE_MAJOR_VERSION,ANGLE_MINOR_VERSION,ANGLE_REVISION,0
+ PRODUCTVERSION ANGLE_MAJOR_VERSION,ANGLE_MINOR_VERSION,ANGLE_REVISION,0
+ FILEFLAGSMASK 0x17L
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x4L
+ FILETYPE 0x2L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "040904b0"
+ BEGIN
+ VALUE "FileDescription", "ANGLE libEGL Dynamic Link Library"
+ VALUE "FileVersion", ANGLE_VERSION_STRING
+ VALUE "InternalName", "libEGL"
+ VALUE "LegalCopyright", "Copyright (C) 2015 Google Inc."
+ VALUE "OriginalFilename", "libEGL.dll"
+ VALUE "PrivateBuild", ANGLE_VERSION_STRING
+ VALUE "ProductName", "ANGLE libEGL Dynamic Link Library"
+ VALUE "ProductVersion", ANGLE_VERSION_STRING
+ VALUE "Comments", "Build Date: " ANGLE_COMMIT_DATE
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0x409, 1200
+ END
+END
+
+#endif // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
diff --git a/gfx/angle/checkout/src/libEGL/libEGL_autogen.cpp b/gfx/angle/checkout/src/libEGL/libEGL_autogen.cpp
new file mode 100644
index 0000000000..432ae26ce0
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/libEGL_autogen.cpp
@@ -0,0 +1,917 @@
+// GENERATED FILE - DO NOT EDIT.
+// Generated by generate_entry_points.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.
+//
+// libEGL_autogen.cpp: Implements the exported EGL functions.
+
+#include "anglebase/no_destructor.h"
+#include "common/system_utils.h"
+
+#include <memory>
+
+#if defined(ANGLE_USE_EGL_LOADER)
+# include "libEGL/egl_loader_autogen.h"
+#else
+# include "libGLESv2/entry_points_egl_autogen.h"
+# include "libGLESv2/entry_points_egl_ext_autogen.h"
+#endif // defined(ANGLE_USE_EGL_LOADER)
+
+namespace
+{
+#if defined(ANGLE_USE_EGL_LOADER)
+bool gLoaded = false;
+void *gEntryPointsLib = nullptr;
+
+GenericProc KHRONOS_APIENTRY GlobalLoad(const char *symbol)
+{
+ return reinterpret_cast<GenericProc>(angle::GetLibrarySymbol(gEntryPointsLib, symbol));
+}
+
+void EnsureEGLLoaded()
+{
+ if (gLoaded)
+ {
+ return;
+ }
+
+ std::string errorOut;
+ gEntryPointsLib = OpenSystemLibraryAndGetError(ANGLE_GLESV2_LIBRARY_NAME,
+ angle::SearchType::ModuleDir, &errorOut);
+ if (gEntryPointsLib)
+ {
+ LoadLibEGL_EGL(GlobalLoad);
+ gLoaded = true;
+ }
+ else
+ {
+ fprintf(stderr, "Error loading EGL entry points: %s\n", errorOut.c_str());
+ }
+}
+#else
+void EnsureEGLLoaded() {}
+#endif // defined(ANGLE_USE_EGL_LOADER)
+} // anonymous namespace
+
+extern "C" {
+
+// EGL 1.0
+EGLBoolean EGLAPIENTRY eglChooseConfig(EGLDisplay dpy,
+ const EGLint *attrib_list,
+ EGLConfig *configs,
+ EGLint config_size,
+ EGLint *num_config)
+{
+ EnsureEGLLoaded();
+ return EGL_ChooseConfig(dpy, attrib_list, configs, config_size, num_config);
+}
+
+EGLBoolean EGLAPIENTRY eglCopyBuffers(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLNativePixmapType target)
+{
+ EnsureEGLLoaded();
+ return EGL_CopyBuffers(dpy, surface, target);
+}
+
+EGLContext EGLAPIENTRY eglCreateContext(EGLDisplay dpy,
+ EGLConfig config,
+ EGLContext share_context,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateContext(dpy, config, share_context, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy,
+ EGLConfig config,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePbufferSurface(dpy, config, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy,
+ EGLConfig config,
+ EGLNativePixmapType pixmap,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePixmapSurface(dpy, config, pixmap, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy,
+ EGLConfig config,
+ EGLNativeWindowType win,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateWindowSurface(dpy, config, win, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroyContext(EGLDisplay dpy, EGLContext ctx)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroyContext(dpy, ctx);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroySurface(EGLDisplay dpy, EGLSurface surface)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroySurface(dpy, surface);
+}
+
+EGLBoolean EGLAPIENTRY eglGetConfigAttrib(EGLDisplay dpy,
+ EGLConfig config,
+ EGLint attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_GetConfigAttrib(dpy, config, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglGetConfigs(EGLDisplay dpy,
+ EGLConfig *configs,
+ EGLint config_size,
+ EGLint *num_config)
+{
+ EnsureEGLLoaded();
+ return EGL_GetConfigs(dpy, configs, config_size, num_config);
+}
+
+EGLDisplay EGLAPIENTRY eglGetCurrentDisplay()
+{
+ EnsureEGLLoaded();
+ return EGL_GetCurrentDisplay();
+}
+
+EGLSurface EGLAPIENTRY eglGetCurrentSurface(EGLint readdraw)
+{
+ EnsureEGLLoaded();
+ return EGL_GetCurrentSurface(readdraw);
+}
+
+EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType display_id)
+{
+ EnsureEGLLoaded();
+ return EGL_GetDisplay(display_id);
+}
+
+EGLint EGLAPIENTRY eglGetError()
+{
+ EnsureEGLLoaded();
+ return EGL_GetError();
+}
+
+__eglMustCastToProperFunctionPointerType EGLAPIENTRY eglGetProcAddress(const char *procname)
+{
+ EnsureEGLLoaded();
+ return EGL_GetProcAddress(procname);
+}
+
+EGLBoolean EGLAPIENTRY eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor)
+{
+ EnsureEGLLoaded();
+ return EGL_Initialize(dpy, major, minor);
+}
+
+EGLBoolean EGLAPIENTRY eglMakeCurrent(EGLDisplay dpy,
+ EGLSurface draw,
+ EGLSurface read,
+ EGLContext ctx)
+{
+ EnsureEGLLoaded();
+ return EGL_MakeCurrent(dpy, draw, read, ctx);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryContext(EGLDisplay dpy,
+ EGLContext ctx,
+ EGLint attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryContext(dpy, ctx, attribute, value);
+}
+
+const char *EGLAPIENTRY eglQueryString(EGLDisplay dpy, EGLint name)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryString(dpy, name);
+}
+
+EGLBoolean EGLAPIENTRY eglQuerySurface(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QuerySurface(dpy, surface, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surface)
+{
+ EnsureEGLLoaded();
+ return EGL_SwapBuffers(dpy, surface);
+}
+
+EGLBoolean EGLAPIENTRY eglTerminate(EGLDisplay dpy)
+{
+ EnsureEGLLoaded();
+ return EGL_Terminate(dpy);
+}
+
+EGLBoolean EGLAPIENTRY eglWaitGL()
+{
+ EnsureEGLLoaded();
+ return EGL_WaitGL();
+}
+
+EGLBoolean EGLAPIENTRY eglWaitNative(EGLint engine)
+{
+ EnsureEGLLoaded();
+ return EGL_WaitNative(engine);
+}
+
+// EGL 1.1
+EGLBoolean EGLAPIENTRY eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
+{
+ EnsureEGLLoaded();
+ return EGL_BindTexImage(dpy, surface, buffer);
+}
+
+EGLBoolean EGLAPIENTRY eglReleaseTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer)
+{
+ EnsureEGLLoaded();
+ return EGL_ReleaseTexImage(dpy, surface, buffer);
+}
+
+EGLBoolean EGLAPIENTRY eglSurfaceAttrib(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint attribute,
+ EGLint value)
+{
+ EnsureEGLLoaded();
+ return EGL_SurfaceAttrib(dpy, surface, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglSwapInterval(EGLDisplay dpy, EGLint interval)
+{
+ EnsureEGLLoaded();
+ return EGL_SwapInterval(dpy, interval);
+}
+
+// EGL 1.2
+EGLBoolean EGLAPIENTRY eglBindAPI(EGLenum api)
+{
+ EnsureEGLLoaded();
+ return EGL_BindAPI(api);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePbufferFromClientBuffer(EGLDisplay dpy,
+ EGLenum buftype,
+ EGLClientBuffer buffer,
+ EGLConfig config,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePbufferFromClientBuffer(dpy, buftype, buffer, config, attrib_list);
+}
+
+EGLenum EGLAPIENTRY eglQueryAPI()
+{
+ EnsureEGLLoaded();
+ return EGL_QueryAPI();
+}
+
+EGLBoolean EGLAPIENTRY eglReleaseThread()
+{
+ EnsureEGLLoaded();
+ return EGL_ReleaseThread();
+}
+
+EGLBoolean EGLAPIENTRY eglWaitClient()
+{
+ EnsureEGLLoaded();
+ return EGL_WaitClient();
+}
+
+// EGL 1.4
+EGLContext EGLAPIENTRY eglGetCurrentContext()
+{
+ EnsureEGLLoaded();
+ return EGL_GetCurrentContext();
+}
+
+// EGL 1.5
+EGLint EGLAPIENTRY eglClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
+{
+ EnsureEGLLoaded();
+ return EGL_ClientWaitSync(dpy, sync, flags, timeout);
+}
+
+EGLImage EGLAPIENTRY eglCreateImage(EGLDisplay dpy,
+ EGLContext ctx,
+ EGLenum target,
+ EGLClientBuffer buffer,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateImage(dpy, ctx, target, buffer, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurface(EGLDisplay dpy,
+ EGLConfig config,
+ void *native_pixmap,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePlatformPixmapSurface(dpy, config, native_pixmap, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurface(EGLDisplay dpy,
+ EGLConfig config,
+ void *native_window,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePlatformWindowSurface(dpy, config, native_window, attrib_list);
+}
+
+EGLSync EGLAPIENTRY eglCreateSync(EGLDisplay dpy, EGLenum type, const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateSync(dpy, type, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroyImage(EGLDisplay dpy, EGLImage image)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroyImage(dpy, image);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroySync(EGLDisplay dpy, EGLSync sync)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroySync(dpy, sync);
+}
+
+EGLDisplay EGLAPIENTRY eglGetPlatformDisplay(EGLenum platform,
+ void *native_display,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_GetPlatformDisplay(platform, native_display, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglGetSyncAttrib(EGLDisplay dpy,
+ EGLSync sync,
+ EGLint attribute,
+ EGLAttrib *value)
+{
+ EnsureEGLLoaded();
+ return EGL_GetSyncAttrib(dpy, sync, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags)
+{
+ EnsureEGLLoaded();
+ return EGL_WaitSync(dpy, sync, flags);
+}
+
+// EGL_ANDROID_blob_cache
+void EGLAPIENTRY eglSetBlobCacheFuncsANDROID(EGLDisplay dpy,
+ EGLSetBlobFuncANDROID set,
+ EGLGetBlobFuncANDROID get)
+{
+ EnsureEGLLoaded();
+ return EGL_SetBlobCacheFuncsANDROID(dpy, set, get);
+}
+
+// EGL_ANDROID_create_native_client_buffer
+EGLClientBuffer EGLAPIENTRY eglCreateNativeClientBufferANDROID(const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateNativeClientBufferANDROID(attrib_list);
+}
+
+// EGL_ANDROID_get_frame_timestamps
+EGLBoolean EGLAPIENTRY eglGetCompositorTimingSupportedANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint name)
+{
+ EnsureEGLLoaded();
+ return EGL_GetCompositorTimingSupportedANDROID(dpy, surface, name);
+}
+
+EGLBoolean EGLAPIENTRY eglGetCompositorTimingANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint numTimestamps,
+ const EGLint *names,
+ EGLnsecsANDROID *values)
+{
+ EnsureEGLLoaded();
+ return EGL_GetCompositorTimingANDROID(dpy, surface, numTimestamps, names, values);
+}
+
+EGLBoolean EGLAPIENTRY eglGetNextFrameIdANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLuint64KHR *frameId)
+{
+ EnsureEGLLoaded();
+ return EGL_GetNextFrameIdANDROID(dpy, surface, frameId);
+}
+
+EGLBoolean EGLAPIENTRY eglGetFrameTimestampSupportedANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint timestamp)
+{
+ EnsureEGLLoaded();
+ return EGL_GetFrameTimestampSupportedANDROID(dpy, surface, timestamp);
+}
+
+EGLBoolean EGLAPIENTRY eglGetFrameTimestampsANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLuint64KHR frameId,
+ EGLint numTimestamps,
+ const EGLint *timestamps,
+ EGLnsecsANDROID *values)
+{
+ EnsureEGLLoaded();
+ return EGL_GetFrameTimestampsANDROID(dpy, surface, frameId, numTimestamps, timestamps, values);
+}
+
+// EGL_ANDROID_get_native_client_buffer
+EGLClientBuffer EGLAPIENTRY eglGetNativeClientBufferANDROID(const struct AHardwareBuffer *buffer)
+{
+ EnsureEGLLoaded();
+ return EGL_GetNativeClientBufferANDROID(buffer);
+}
+
+// EGL_ANDROID_native_fence_sync
+EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSyncKHR sync)
+{
+ EnsureEGLLoaded();
+ return EGL_DupNativeFenceFDANDROID(dpy, sync);
+}
+
+// EGL_ANDROID_presentation_time
+EGLBoolean EGLAPIENTRY eglPresentationTimeANDROID(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLnsecsANDROID time)
+{
+ EnsureEGLLoaded();
+ return EGL_PresentationTimeANDROID(dpy, surface, time);
+}
+
+// EGL_ANGLE_device_creation
+EGLDeviceEXT EGLAPIENTRY eglCreateDeviceANGLE(EGLint device_type,
+ void *native_device,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateDeviceANGLE(device_type, native_device, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglReleaseDeviceANGLE(EGLDeviceEXT device)
+{
+ EnsureEGLLoaded();
+ return EGL_ReleaseDeviceANGLE(device);
+}
+
+// EGL_ANGLE_feature_control
+const char *EGLAPIENTRY eglQueryStringiANGLE(EGLDisplay dpy, EGLint name, EGLint index)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryStringiANGLE(dpy, name, index);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryDisplayAttribANGLE(EGLDisplay dpy,
+ EGLint attribute,
+ EGLAttrib *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDisplayAttribANGLE(dpy, attribute, value);
+}
+
+// EGL_ANGLE_metal_shared_event_sync
+void *EGLAPIENTRY eglCopyMetalSharedEventANGLE(EGLDisplay dpy, EGLSyncKHR sync)
+{
+ EnsureEGLLoaded();
+ return EGL_CopyMetalSharedEventANGLE(dpy, sync);
+}
+
+// EGL_ANGLE_power_preference
+void EGLAPIENTRY eglReleaseHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
+{
+ EnsureEGLLoaded();
+ return EGL_ReleaseHighPowerGPUANGLE(dpy, ctx);
+}
+
+void EGLAPIENTRY eglReacquireHighPowerGPUANGLE(EGLDisplay dpy, EGLContext ctx)
+{
+ EnsureEGLLoaded();
+ return EGL_ReacquireHighPowerGPUANGLE(dpy, ctx);
+}
+
+void EGLAPIENTRY eglHandleGPUSwitchANGLE(EGLDisplay dpy)
+{
+ EnsureEGLLoaded();
+ return EGL_HandleGPUSwitchANGLE(dpy);
+}
+
+void EGLAPIENTRY eglForceGPUSwitchANGLE(EGLDisplay dpy, EGLint gpuIDHigh, EGLint gpuIDLow)
+{
+ EnsureEGLLoaded();
+ return EGL_ForceGPUSwitchANGLE(dpy, gpuIDHigh, gpuIDLow);
+}
+
+// EGL_ANGLE_prepare_swap_buffers
+EGLBoolean EGLAPIENTRY eglPrepareSwapBuffersANGLE(EGLDisplay dpy, EGLSurface surface)
+{
+ EnsureEGLLoaded();
+ return EGL_PrepareSwapBuffersANGLE(dpy, surface);
+}
+
+// EGL_ANGLE_program_cache_control
+EGLint EGLAPIENTRY eglProgramCacheGetAttribANGLE(EGLDisplay dpy, EGLenum attrib)
+{
+ EnsureEGLLoaded();
+ return EGL_ProgramCacheGetAttribANGLE(dpy, attrib);
+}
+
+void EGLAPIENTRY eglProgramCacheQueryANGLE(EGLDisplay dpy,
+ EGLint index,
+ void *key,
+ EGLint *keysize,
+ void *binary,
+ EGLint *binarysize)
+{
+ EnsureEGLLoaded();
+ return EGL_ProgramCacheQueryANGLE(dpy, index, key, keysize, binary, binarysize);
+}
+
+void EGLAPIENTRY eglProgramCachePopulateANGLE(EGLDisplay dpy,
+ const void *key,
+ EGLint keysize,
+ const void *binary,
+ EGLint binarysize)
+{
+ EnsureEGLLoaded();
+ return EGL_ProgramCachePopulateANGLE(dpy, key, keysize, binary, binarysize);
+}
+
+EGLint EGLAPIENTRY eglProgramCacheResizeANGLE(EGLDisplay dpy, EGLint limit, EGLint mode)
+{
+ EnsureEGLLoaded();
+ return EGL_ProgramCacheResizeANGLE(dpy, limit, mode);
+}
+
+// EGL_ANGLE_query_surface_pointer
+EGLBoolean EGLAPIENTRY eglQuerySurfacePointerANGLE(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint attribute,
+ void **value)
+{
+ EnsureEGLLoaded();
+ return EGL_QuerySurfacePointerANGLE(dpy, surface, attribute, value);
+}
+
+// EGL_ANGLE_stream_producer_d3d_texture
+EGLBoolean EGLAPIENTRY eglCreateStreamProducerD3DTextureANGLE(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateStreamProducerD3DTextureANGLE(dpy, stream, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglStreamPostD3DTextureANGLE(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ void *texture,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamPostD3DTextureANGLE(dpy, stream, texture, attrib_list);
+}
+
+// EGL_ANGLE_swap_with_frame_token
+EGLBoolean EGLAPIENTRY eglSwapBuffersWithFrameTokenANGLE(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLFrameTokenANGLE frametoken)
+{
+ EnsureEGLLoaded();
+ return EGL_SwapBuffersWithFrameTokenANGLE(dpy, surface, frametoken);
+}
+
+// EGL_ANGLE_sync_control_rate
+EGLBoolean EGLAPIENTRY eglGetMscRateANGLE(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint *numerator,
+ EGLint *denominator)
+{
+ EnsureEGLLoaded();
+ return EGL_GetMscRateANGLE(dpy, surface, numerator, denominator);
+}
+
+// EGL_ANGLE_vulkan_image
+EGLBoolean EGLAPIENTRY eglExportVkImageANGLE(EGLDisplay dpy,
+ EGLImage image,
+ void *vk_image,
+ void *vk_image_create_info)
+{
+ EnsureEGLLoaded();
+ return EGL_ExportVkImageANGLE(dpy, image, vk_image, vk_image_create_info);
+}
+
+// EGL_CHROMIUM_sync_control
+EGLBoolean EGLAPIENTRY eglGetSyncValuesCHROMIUM(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLuint64KHR *ust,
+ EGLuint64KHR *msc,
+ EGLuint64KHR *sbc)
+{
+ EnsureEGLLoaded();
+ return EGL_GetSyncValuesCHROMIUM(dpy, surface, ust, msc, sbc);
+}
+
+// EGL_EXT_device_query
+EGLBoolean EGLAPIENTRY eglQueryDeviceAttribEXT(EGLDeviceEXT device,
+ EGLint attribute,
+ EGLAttrib *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDeviceAttribEXT(device, attribute, value);
+}
+
+const char *EGLAPIENTRY eglQueryDeviceStringEXT(EGLDeviceEXT device, EGLint name)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDeviceStringEXT(device, name);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryDisplayAttribEXT(EGLDisplay dpy, EGLint attribute, EGLAttrib *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDisplayAttribEXT(dpy, attribute, value);
+}
+
+// EGL_EXT_image_dma_buf_import_modifiers
+EGLBoolean EGLAPIENTRY eglQueryDmaBufFormatsEXT(EGLDisplay dpy,
+ EGLint max_formats,
+ EGLint *formats,
+ EGLint *num_formats)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDmaBufFormatsEXT(dpy, max_formats, formats, num_formats);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryDmaBufModifiersEXT(EGLDisplay dpy,
+ EGLint format,
+ EGLint max_modifiers,
+ EGLuint64KHR *modifiers,
+ EGLBoolean *external_only,
+ EGLint *num_modifiers)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDmaBufModifiersEXT(dpy, format, max_modifiers, modifiers, external_only,
+ num_modifiers);
+}
+
+// EGL_EXT_platform_base
+EGLSurface EGLAPIENTRY eglCreatePlatformPixmapSurfaceEXT(EGLDisplay dpy,
+ EGLConfig config,
+ void *native_pixmap,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePlatformPixmapSurfaceEXT(dpy, config, native_pixmap, attrib_list);
+}
+
+EGLSurface EGLAPIENTRY eglCreatePlatformWindowSurfaceEXT(EGLDisplay dpy,
+ EGLConfig config,
+ void *native_window,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreatePlatformWindowSurfaceEXT(dpy, config, native_window, attrib_list);
+}
+
+EGLDisplay EGLAPIENTRY eglGetPlatformDisplayEXT(EGLenum platform,
+ void *native_display,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_GetPlatformDisplayEXT(platform, native_display, attrib_list);
+}
+
+// EGL_KHR_debug
+EGLint EGLAPIENTRY eglDebugMessageControlKHR(EGLDEBUGPROCKHR callback, const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_DebugMessageControlKHR(callback, attrib_list);
+}
+
+EGLint EGLAPIENTRY eglLabelObjectKHR(EGLDisplay display,
+ EGLenum objectType,
+ EGLObjectKHR object,
+ EGLLabelKHR label)
+{
+ EnsureEGLLoaded();
+ return EGL_LabelObjectKHR(display, objectType, object, label);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryDebugKHR(EGLint attribute, EGLAttrib *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryDebugKHR(attribute, value);
+}
+
+// EGL_KHR_fence_sync
+EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy,
+ EGLSyncKHR sync,
+ EGLint flags,
+ EGLTimeKHR timeout)
+{
+ EnsureEGLLoaded();
+ return EGL_ClientWaitSyncKHR(dpy, sync, flags, timeout);
+}
+
+EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateSyncKHR(dpy, type, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroySyncKHR(dpy, sync);
+}
+
+EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy,
+ EGLSyncKHR sync,
+ EGLint attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_GetSyncAttribKHR(dpy, sync, attribute, value);
+}
+
+// EGL_KHR_image
+EGLImageKHR EGLAPIENTRY eglCreateImageKHR(EGLDisplay dpy,
+ EGLContext ctx,
+ EGLenum target,
+ EGLClientBuffer buffer,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateImageKHR(dpy, ctx, target, buffer, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroyImageKHR(EGLDisplay dpy, EGLImageKHR image)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroyImageKHR(dpy, image);
+}
+
+// EGL_KHR_lock_surface3
+EGLBoolean EGLAPIENTRY eglLockSurfaceKHR(EGLDisplay dpy,
+ EGLSurface surface,
+ const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_LockSurfaceKHR(dpy, surface, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglQuerySurface64KHR(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint attribute,
+ EGLAttribKHR *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QuerySurface64KHR(dpy, surface, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR(EGLDisplay dpy, EGLSurface surface)
+{
+ EnsureEGLLoaded();
+ return EGL_UnlockSurfaceKHR(dpy, surface);
+}
+
+// EGL_KHR_partial_update
+EGLBoolean EGLAPIENTRY eglSetDamageRegionKHR(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint *rects,
+ EGLint n_rects)
+{
+ EnsureEGLLoaded();
+ return EGL_SetDamageRegionKHR(dpy, surface, rects, n_rects);
+}
+
+// EGL_KHR_reusable_sync
+EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode)
+{
+ EnsureEGLLoaded();
+ return EGL_SignalSyncKHR(dpy, sync, mode);
+}
+
+// EGL_KHR_stream
+EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_CreateStreamKHR(dpy, attrib_list);
+}
+
+EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream)
+{
+ EnsureEGLLoaded();
+ return EGL_DestroyStreamKHR(dpy, stream);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ EGLenum attribute,
+ EGLint *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryStreamKHR(dpy, stream, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ EGLenum attribute,
+ EGLuint64KHR *value)
+{
+ EnsureEGLLoaded();
+ return EGL_QueryStreamu64KHR(dpy, stream, attribute, value);
+}
+
+EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ EGLenum attribute,
+ EGLint value)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamAttribKHR(dpy, stream, attribute, value);
+}
+
+// EGL_KHR_stream_consumer_gltexture
+EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamConsumerAcquireKHR(dpy, stream);
+}
+
+EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamConsumerGLTextureExternalKHR(dpy, stream);
+}
+
+EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamConsumerReleaseKHR(dpy, stream);
+}
+
+// EGL_KHR_swap_buffers_with_damage
+EGLBoolean EGLAPIENTRY eglSwapBuffersWithDamageKHR(EGLDisplay dpy,
+ EGLSurface surface,
+ const EGLint *rects,
+ EGLint n_rects)
+{
+ EnsureEGLLoaded();
+ return EGL_SwapBuffersWithDamageKHR(dpy, surface, rects, n_rects);
+}
+
+// EGL_KHR_wait_sync
+EGLint EGLAPIENTRY eglWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags)
+{
+ EnsureEGLLoaded();
+ return EGL_WaitSyncKHR(dpy, sync, flags);
+}
+
+// EGL_NV_post_sub_buffer
+EGLBoolean EGLAPIENTRY eglPostSubBufferNV(EGLDisplay dpy,
+ EGLSurface surface,
+ EGLint x,
+ EGLint y,
+ EGLint width,
+ EGLint height)
+{
+ EnsureEGLLoaded();
+ return EGL_PostSubBufferNV(dpy, surface, x, y, width, height);
+}
+
+// EGL_NV_stream_consumer_gltexture_yuv
+EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalAttribsNV(EGLDisplay dpy,
+ EGLStreamKHR stream,
+ const EGLAttrib *attrib_list)
+{
+ EnsureEGLLoaded();
+ return EGL_StreamConsumerGLTextureExternalAttribsNV(dpy, stream, attrib_list);
+}
+
+} // extern "C"
diff --git a/gfx/angle/checkout/src/libEGL/libEGL_autogen.def b/gfx/angle/checkout/src/libEGL/libEGL_autogen.def
new file mode 100644
index 0000000000..5261144524
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/libEGL_autogen.def
@@ -0,0 +1,193 @@
+; GENERATED FILE - DO NOT EDIT.
+; Generated by generate_entry_points.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.
+LIBRARY libEGL
+EXPORTS
+
+ ; EGL 1.0
+ eglChooseConfig
+ eglCopyBuffers
+ eglCreateContext
+ eglCreatePbufferSurface
+ eglCreatePixmapSurface
+ eglCreateWindowSurface
+ eglDestroyContext
+ eglDestroySurface
+ eglGetConfigAttrib
+ eglGetConfigs
+ eglGetCurrentDisplay
+ eglGetCurrentSurface
+ eglGetDisplay
+ eglGetError
+ eglGetProcAddress
+ eglInitialize
+ eglMakeCurrent
+ eglQueryContext
+ eglQueryString
+ eglQuerySurface
+ eglSwapBuffers
+ eglTerminate
+ eglWaitGL
+ eglWaitNative
+
+ ; EGL 1.1
+ eglBindTexImage
+ eglReleaseTexImage
+ eglSurfaceAttrib
+ eglSwapInterval
+
+ ; EGL 1.2
+ eglBindAPI
+ eglCreatePbufferFromClientBuffer
+ eglQueryAPI
+ eglReleaseThread
+ eglWaitClient
+
+ ; EGL 1.4
+ eglGetCurrentContext
+
+ ; EGL 1.5
+ eglClientWaitSync
+ eglCreateImage
+ eglCreatePlatformPixmapSurface
+ eglCreatePlatformWindowSurface
+ eglCreateSync
+ eglDestroyImage
+ eglDestroySync
+ eglGetPlatformDisplay
+ eglGetSyncAttrib
+ eglWaitSync
+
+ ; EGL_ANDROID_blob_cache
+ eglSetBlobCacheFuncsANDROID
+
+ ; EGL_ANDROID_create_native_client_buffer
+ eglCreateNativeClientBufferANDROID
+
+ ; EGL_ANDROID_get_frame_timestamps
+ eglGetCompositorTimingANDROID
+ eglGetCompositorTimingSupportedANDROID
+ eglGetFrameTimestampSupportedANDROID
+ eglGetFrameTimestampsANDROID
+ eglGetNextFrameIdANDROID
+
+ ; EGL_ANDROID_get_native_client_buffer
+ eglGetNativeClientBufferANDROID
+
+ ; EGL_ANDROID_native_fence_sync
+ eglDupNativeFenceFDANDROID
+
+ ; EGL_ANDROID_presentation_time
+ eglPresentationTimeANDROID
+
+ ; EGL_ANGLE_device_creation
+ eglCreateDeviceANGLE
+ eglReleaseDeviceANGLE
+
+ ; EGL_ANGLE_feature_control
+ eglQueryDisplayAttribANGLE
+ eglQueryStringiANGLE
+
+ ; EGL_ANGLE_metal_shared_event_sync
+ eglCopyMetalSharedEventANGLE
+
+ ; EGL_ANGLE_power_preference
+ eglForceGPUSwitchANGLE
+ eglHandleGPUSwitchANGLE
+ eglReacquireHighPowerGPUANGLE
+ eglReleaseHighPowerGPUANGLE
+
+ ; EGL_ANGLE_prepare_swap_buffers
+ eglPrepareSwapBuffersANGLE
+
+ ; EGL_ANGLE_program_cache_control
+ eglProgramCacheGetAttribANGLE
+ eglProgramCachePopulateANGLE
+ eglProgramCacheQueryANGLE
+ eglProgramCacheResizeANGLE
+
+ ; EGL_ANGLE_query_surface_pointer
+ eglQuerySurfacePointerANGLE
+
+ ; EGL_ANGLE_stream_producer_d3d_texture
+ eglCreateStreamProducerD3DTextureANGLE
+ eglStreamPostD3DTextureANGLE
+
+ ; EGL_ANGLE_swap_with_frame_token
+ eglSwapBuffersWithFrameTokenANGLE
+
+ ; EGL_ANGLE_sync_control_rate
+ eglGetMscRateANGLE
+
+ ; EGL_ANGLE_vulkan_image
+ eglExportVkImageANGLE
+
+ ; EGL_CHROMIUM_sync_control
+ eglGetSyncValuesCHROMIUM
+
+ ; EGL_EXT_device_query
+ eglQueryDeviceAttribEXT
+ eglQueryDeviceStringEXT
+ eglQueryDisplayAttribEXT
+
+ ; EGL_EXT_image_dma_buf_import_modifiers
+ eglQueryDmaBufFormatsEXT
+ eglQueryDmaBufModifiersEXT
+
+ ; EGL_EXT_platform_base
+ eglCreatePlatformPixmapSurfaceEXT
+ eglCreatePlatformWindowSurfaceEXT
+ eglGetPlatformDisplayEXT
+
+ ; EGL_KHR_debug
+ eglDebugMessageControlKHR
+ eglLabelObjectKHR
+ eglQueryDebugKHR
+
+ ; EGL_KHR_fence_sync
+ eglClientWaitSyncKHR
+ eglCreateSyncKHR
+ eglDestroySyncKHR
+ eglGetSyncAttribKHR
+
+ ; EGL_KHR_image
+ eglCreateImageKHR
+ eglDestroyImageKHR
+
+ ; EGL_KHR_lock_surface3
+ eglLockSurfaceKHR
+ eglQuerySurface64KHR
+ eglUnlockSurfaceKHR
+
+ ; EGL_KHR_partial_update
+ eglSetDamageRegionKHR
+
+ ; EGL_KHR_reusable_sync
+ eglSignalSyncKHR
+
+ ; EGL_KHR_stream
+ eglCreateStreamKHR
+ eglDestroyStreamKHR
+ eglQueryStreamKHR
+ eglQueryStreamu64KHR
+ eglStreamAttribKHR
+
+ ; EGL_KHR_stream_consumer_gltexture
+ eglStreamConsumerAcquireKHR
+ eglStreamConsumerGLTextureExternalKHR
+ eglStreamConsumerReleaseKHR
+
+ ; EGL_KHR_swap_buffers_with_damage
+ eglSwapBuffersWithDamageKHR
+
+ ; EGL_KHR_wait_sync
+ eglWaitSyncKHR
+
+ ; EGL_NV_post_sub_buffer
+ eglPostSubBufferNV
+
+ ; EGL_NV_stream_consumer_gltexture_yuv
+ eglStreamConsumerGLTextureExternalAttribsNV
diff --git a/gfx/angle/checkout/src/libEGL/resource.h b/gfx/angle/checkout/src/libEGL/resource.h
new file mode 100644
index 0000000000..018d085c02
--- /dev/null
+++ b/gfx/angle/checkout/src/libEGL/resource.h
@@ -0,0 +1,14 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by libEGL.rc
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+# ifndef APSTUDIO_READONLY_SYMBOLS
+# define _APS_NEXT_RESOURCE_VALUE 101
+# define _APS_NEXT_COMMAND_VALUE 40001
+# define _APS_NEXT_CONTROL_VALUE 1001
+# define _APS_NEXT_SYMED_VALUE 101
+# endif
+#endif