You.i Engine
YiEGLGenerated.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 /*******************************************************************************
3  * DO NOT EDIT THIS FILE!
4  * This file has been generated by tools/YiGLWrangler
5  ******************************************************************************/
6 
7 #ifndef _YI_EGL_H_
8 #error Do not include YiEGLGenerated.h directly. Include YiEGL.h instead.
9 #endif
10 
11 #ifndef _YI_EGL_GENERATED_H_
12 #define _YI_EGL_GENERATED_H_
13 #if defined(YI_OPENGL_ES2_RENDERING) && !defined(YI_IOS) && !defined(YI_TVOS) && !defined(YI_WEBOS) && !defined(YI_TIZEN_NACL)
14 
15 #include "renderer/YiEGLDefines.h"
16 #include "renderer/YiEGLPlatform.h"
17 #include "renderer/YiEGLTypes.h"
18 #include "utility/YiError.h"
19 
40 #define YI_EGL_SUPPORTS(X) CYIEGL::CurrentAPI.X ##_supported
41 
53 #if defined(YI_DEBUG)
54 # define YI_EGL_CHECK_ERROR(x) x; CYIEGL::CheckError(CYIString(__FILE__).Split("/").back() + ":" + __LINE__)
55 #else
56 # define YI_EGL_CHECK_ERROR(x) x
57 #endif
58 
59 class CYIEGL
60 {
61 
62 public:
63 
64 #if !defined(YI_NO_DYNAMIC_LOADING)
65  typedef EGLBoolean (EGLAPIENTRY *PFNEGLBINDAPIPROC)(EGLenum eApi);
66  typedef EGLBoolean (EGLAPIENTRY *PFNEGLBINDTEXIMAGEPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nBuffer);
67  typedef EGLBoolean (EGLAPIENTRY *PFNEGLCHOOSECONFIGPROC)(EGLDisplay pDpy, const EGLint *pnAttribList, EGLConfig *ppConfigs, EGLint nConfigSize, EGLint *pnNumConfig);
68  typedef EGLint (EGLAPIENTRY *PFNEGLCLIENTWAITSYNCPROC)(EGLDisplay pDpy, EGLSync pSync, EGLint nFlags, EGLTime uTimeout);
69  typedef EGLint (EGLAPIENTRY *PFNEGLCLIENTWAITSYNCKHRPROC)(EGLDisplay pDpy, EGLSyncKHR pSync, EGLint nFlags, EGLTimeKHR uTimeout);
70  typedef EGLint (EGLAPIENTRY *PFNEGLCLIENTWAITSYNCNVPROC)(EGLSyncNV pSync, EGLint nFlags, EGLTimeNV uTimeout);
71  typedef EGLBoolean (EGLAPIENTRY *PFNEGLCOPYBUFFERSPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLNativePixmapType pTarget);
72  typedef EGLContext (EGLAPIENTRY *PFNEGLCREATECONTEXTPROC)(EGLDisplay pDpy, EGLConfig pConfig, EGLContext pShareContext, const EGLint *pnAttribList);
73  typedef EGLImageKHR (EGLAPIENTRY *PFNEGLCREATEDRMIMAGEMESAPROC)(EGLDisplay pDpy, const EGLint *pnAttribList);
74  typedef EGLSyncNV (EGLAPIENTRY *PFNEGLCREATEFENCESYNCNVPROC)(EGLDisplay pDpy, EGLenum eCondition, const EGLint *pnAttribList);
75  typedef EGLImage (EGLAPIENTRY *PFNEGLCREATEIMAGEPROC)(EGLDisplay pDpy, EGLContext pCtx, EGLenum eTarget, EGLClientBuffer pBuffer, const EGLAttrib *pnAttribList);
76  typedef EGLImageKHR (EGLAPIENTRY *PFNEGLCREATEIMAGEKHRPROC)(EGLDisplay pDpy, EGLContext pCtx, EGLenum eTarget, EGLClientBuffer pBuffer, const EGLint *pnAttribList);
77  typedef EGLClientBuffer (EGLAPIENTRY *PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC)(const EGLint *pnAttribList);
78  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC)(EGLDisplay pDpy, EGLenum eBuftype, EGLClientBuffer pBuffer, EGLConfig pConfig, const EGLint *pnAttribList);
79  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPBUFFERSURFACEPROC)(EGLDisplay pDpy, EGLConfig pConfig, const EGLint *pnAttribList);
80  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPIXMAPSURFACEPROC)(EGLDisplay pDpy, EGLConfig pConfig, EGLNativePixmapType pPixmap, const EGLint *pnAttribList);
81  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPIXMAPSURFACEHIPROC)(EGLDisplay pDpy, EGLConfig pConfig, struct EGLClientPixmapHI *pPixmap);
82  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC)(EGLDisplay pDpy, EGLConfig pConfig, void *pNativePixmap, const EGLAttrib *pnAttribList);
83  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC)(EGLDisplay pDpy, EGLConfig pConfig, void *pNativePixmap, const EGLint *pnAttribList);
84  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPLATFORMWINDOWSURFACEPROC)(EGLDisplay pDpy, EGLConfig pConfig, void *pNativeWindow, const EGLAttrib *pnAttribList);
85  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)(EGLDisplay pDpy, EGLConfig pConfig, void *pNativeWindow, const EGLint *pnAttribList);
86  typedef EGLStreamKHR (EGLAPIENTRY *PFNEGLCREATESTREAMATTRIBKHRPROC)(EGLDisplay pDpy, const EGLAttrib *pnAttribList);
87  typedef EGLStreamKHR (EGLAPIENTRY *PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay pDpy, EGLNativeFileDescriptorKHR nFileDescriptor);
88  typedef EGLStreamKHR (EGLAPIENTRY *PFNEGLCREATESTREAMKHRPROC)(EGLDisplay pDpy, const EGLint *pnAttribList);
89  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay pDpy, EGLConfig pConfig, EGLStreamKHR pStream, const EGLint *pnAttribList);
90  typedef EGLSyncKHR (EGLAPIENTRY *PFNEGLCREATESTREAMSYNCNVPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eType, const EGLint *pnAttribList);
91  typedef EGLSync (EGLAPIENTRY *PFNEGLCREATESYNCPROC)(EGLDisplay pDpy, EGLenum eType, const EGLAttrib *pnAttribList);
92  typedef EGLSyncKHR (EGLAPIENTRY *PFNEGLCREATESYNC64KHRPROC)(EGLDisplay pDpy, EGLenum eType, const EGLAttribKHR *pnAttribList);
93  typedef EGLSyncKHR (EGLAPIENTRY *PFNEGLCREATESYNCKHRPROC)(EGLDisplay pDpy, EGLenum eType, const EGLint *pnAttribList);
94  typedef EGLSurface (EGLAPIENTRY *PFNEGLCREATEWINDOWSURFACEPROC)(EGLDisplay pDpy, EGLConfig pConfig, EGLNativeWindowType pWin, const EGLint *pnAttribList);
95  typedef EGLint (EGLAPIENTRY *PFNEGLDEBUGMESSAGECONTROLKHRPROC)(EGLDEBUGPROCKHR callback, const EGLAttrib *pnAttribList);
96  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYCONTEXTPROC)(EGLDisplay pDpy, EGLContext pCtx);
97  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYIMAGEPROC)(EGLDisplay pDpy, EGLImage pImage);
98  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYIMAGEKHRPROC)(EGLDisplay pDpy, EGLImageKHR pImage);
99  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream);
100  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYSURFACEPROC)(EGLDisplay pDpy, EGLSurface pSurface);
101  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYSYNCPROC)(EGLDisplay pDpy, EGLSync pSync);
102  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYSYNCKHRPROC)(EGLDisplay pDpy, EGLSyncKHR pSync);
103  typedef EGLBoolean (EGLAPIENTRY *PFNEGLDESTROYSYNCNVPROC)(EGLSyncNV pSync);
104  typedef EGLint (EGLAPIENTRY *PFNEGLDUPNATIVEFENCEFDANDROIDPROC)(EGLDisplay pDpy, EGLSyncKHR pSync);
105  typedef EGLBoolean (EGLAPIENTRY *PFNEGLEXPORTDMABUFIMAGEMESAPROC)(EGLDisplay pDpy, EGLImageKHR pImage, int *pFds, EGLint *pnStrides, EGLint *pnOffsets);
106  typedef EGLBoolean (EGLAPIENTRY *PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC)(EGLDisplay pDpy, EGLImageKHR pImage, int *pFourcc, int *pNumPlanes, EGLuint64KHR *puModifiers);
107  typedef EGLBoolean (EGLAPIENTRY *PFNEGLEXPORTDRMIMAGEMESAPROC)(EGLDisplay pDpy, EGLImageKHR pImage, EGLint *pnName, EGLint *pnHandle, EGLint *pnStride);
108  typedef EGLBoolean (EGLAPIENTRY *PFNEGLFENCENVPROC)(EGLSyncNV pSync);
109  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETCONFIGATTRIBPROC)(EGLDisplay pDpy, EGLConfig pConfig, EGLint nAttribute, EGLint *pnValue);
110  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETCONFIGSPROC)(EGLDisplay pDpy, EGLConfig *ppConfigs, EGLint nConfigSize, EGLint *pnNumConfig);
111  typedef EGLContext (EGLAPIENTRY *PFNEGLGETCURRENTCONTEXTPROC)(void);
112  typedef EGLDisplay (EGLAPIENTRY *PFNEGLGETCURRENTDISPLAYPROC)(void);
113  typedef EGLSurface (EGLAPIENTRY *PFNEGLGETCURRENTSURFACEPROC)(EGLint nReaddraw);
114  typedef EGLDisplay (EGLAPIENTRY *PFNEGLGETDISPLAYPROC)(EGLNativeDisplayType pDisplayId);
115  typedef EGLint (EGLAPIENTRY *PFNEGLGETERRORPROC)(void);
116  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETOUTPUTLAYERSEXTPROC)(EGLDisplay pDpy, const EGLAttrib *pnAttribList, EGLOutputLayerEXT *ppLayers, EGLint nMaxLayers, EGLint *pnNumLayers);
117  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETOUTPUTPORTSEXTPROC)(EGLDisplay pDpy, const EGLAttrib *pnAttribList, EGLOutputPortEXT *ppPorts, EGLint nMaxPorts, EGLint *pnNumPorts);
118  typedef EGLDisplay (EGLAPIENTRY *PFNEGLGETPLATFORMDISPLAYPROC)(EGLenum ePlatform, void *pNativeDisplay, const EGLAttrib *pnAttribList);
119  typedef EGLDisplay (EGLAPIENTRY *PFNEGLGETPLATFORMDISPLAYEXTPROC)(EGLenum ePlatform, void *pNativeDisplay, const EGLint *pnAttribList);
120  typedef __eglMustCastToProperFunctionPointerType (EGLAPIENTRY *PFNEGLGETPROCADDRESSPROC)(const char *pProcname);
121  typedef EGLNativeFileDescriptorKHR (EGLAPIENTRY *PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream);
122  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETSYNCATTRIBPROC)(EGLDisplay pDpy, EGLSync pSync, EGLint nAttribute, EGLAttrib *pnValue);
123  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETSYNCATTRIBKHRPROC)(EGLDisplay pDpy, EGLSyncKHR pSync, EGLint nAttribute, EGLint *pnValue);
124  typedef EGLBoolean (EGLAPIENTRY *PFNEGLGETSYNCATTRIBNVPROC)(EGLSyncNV pSync, EGLint nAttribute, EGLint *pnValue);
125  typedef EGLuint64NV (EGLAPIENTRY *PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC)(void);
126  typedef EGLuint64NV (EGLAPIENTRY *PFNEGLGETSYSTEMTIMENVPROC)(void);
127  typedef EGLBoolean (EGLAPIENTRY *PFNEGLINITIALIZEPROC)(EGLDisplay pDpy, EGLint *pnMajor, EGLint *pnMinor);
128  typedef EGLint (EGLAPIENTRY *PFNEGLLABELOBJECTKHRPROC)(EGLDisplay pDisplay, EGLenum eObjectType, EGLObjectKHR object, EGLLabelKHR label);
129  typedef EGLBoolean (EGLAPIENTRY *PFNEGLLOCKSURFACEKHRPROC)(EGLDisplay pDpy, EGLSurface pSurface, const EGLint *pnAttribList);
130  typedef EGLBoolean (EGLAPIENTRY *PFNEGLMAKECURRENTPROC)(EGLDisplay pDpy, EGLSurface pDraw, EGLSurface pRead, EGLContext pCtx);
131  typedef EGLBoolean (EGLAPIENTRY *PFNEGLOUTPUTLAYERATTRIBEXTPROC)(EGLDisplay pDpy, EGLOutputLayerEXT pLayer, EGLint nAttribute, EGLAttrib nValue);
132  typedef EGLBoolean (EGLAPIENTRY *PFNEGLOUTPUTPORTATTRIBEXTPROC)(EGLDisplay pDpy, EGLOutputPortEXT pPort, EGLint nAttribute, EGLAttrib nValue);
133  typedef EGLBoolean (EGLAPIENTRY *PFNEGLPOSTSUBBUFFERNVPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nX, EGLint nY, EGLint nWidth, EGLint nHeight);
134  typedef EGLBoolean (EGLAPIENTRY *PFNEGLPRESENTATIONTIMEANDROIDPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLnsecsANDROID nTime);
135  typedef EGLenum (EGLAPIENTRY *PFNEGLQUERYAPIPROC)(void);
136  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYCONTEXTPROC)(EGLDisplay pDpy, EGLContext pCtx, EGLint nAttribute, EGLint *pnValue);
137  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYDEBUGKHRPROC)(EGLint nAttribute, EGLAttrib *pnValue);
138  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYDEVICEATTRIBEXTPROC)(EGLDeviceEXT pDevice, EGLint nAttribute, EGLAttrib *pnValue);
139  typedef const char *(EGLAPIENTRY *PFNEGLQUERYDEVICESTRINGEXTPROC)(EGLDeviceEXT pDevice, EGLint nName);
140  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYDEVICESEXTPROC)(EGLint nMaxDevices, EGLDeviceEXT *ppDevices, EGLint *pnNumDevices);
141  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYDISPLAYATTRIBEXTPROC)(EGLDisplay pDpy, EGLint nAttribute, EGLAttrib *pnValue);
142  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYDISPLAYATTRIBNVPROC)(EGLDisplay pDpy, EGLint nAttribute, EGLAttrib *pnValue);
143  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYNATIVEDISPLAYNVPROC)(EGLDisplay pDpy, EGLNativeDisplayType *ppDisplayId);
144  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYNATIVEPIXMAPNVPROC)(EGLDisplay pDpy, EGLSurface pSurf, EGLNativePixmapType *ppPixmap);
145  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYNATIVEWINDOWNVPROC)(EGLDisplay pDpy, EGLSurface pSurf, EGLNativeWindowType *ppWindow);
146  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC)(EGLDisplay pDpy, EGLOutputLayerEXT pLayer, EGLint nAttribute, EGLAttrib *pnValue);
147  typedef const char *(EGLAPIENTRY *PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC)(EGLDisplay pDpy, EGLOutputLayerEXT pLayer, EGLint nName);
148  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC)(EGLDisplay pDpy, EGLOutputPortEXT pPort, EGLint nAttribute, EGLAttrib *pnValue);
149  typedef const char *(EGLAPIENTRY *PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC)(EGLDisplay pDpy, EGLOutputPortEXT pPort, EGLint nName);
150  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSTREAMATTRIBKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLAttrib *pnValue);
151  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLint *pnValue);
152  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSTREAMMETADATANVPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eName, EGLint nN, EGLint nOffset, EGLint nSize, void *pData);
153  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLTimeKHR *puValue);
154  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLuint64KHR *puValue);
155  typedef const char *(EGLAPIENTRY *PFNEGLQUERYSTRINGPROC)(EGLDisplay pDpy, EGLint nName);
156  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSURFACEPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nAttribute, EGLint *pnValue);
157  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSURFACE64KHRPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nAttribute, EGLAttribKHR *pnValue);
158  typedef EGLBoolean (EGLAPIENTRY *PFNEGLQUERYSURFACEPOINTERANGLEPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nAttribute, void **ppValue);
159  typedef EGLBoolean (EGLAPIENTRY *PFNEGLRELEASETEXIMAGEPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nBuffer);
160  typedef EGLBoolean (EGLAPIENTRY *PFNEGLRELEASETHREADPROC)(void);
161  typedef void (EGLAPIENTRY *PFNEGLSETBLOBCACHEFUNCSANDROIDPROC)(EGLDisplay pDpy, EGLSetBlobFuncANDROID set, EGLGetBlobFuncANDROID get);
162  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSETDAMAGEREGIONKHRPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint *pnRects, EGLint nNRects);
163  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSETSTREAMATTRIBKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLAttrib nValue);
164  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSETSTREAMMETADATANVPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLint nN, EGLint nOffset, EGLint nSize, const void *pData);
165  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSIGNALSYNCKHRPROC)(EGLDisplay pDpy, EGLSyncKHR pSync, EGLenum eMode);
166  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSIGNALSYNCNVPROC)(EGLSyncNV pSync, EGLenum eMode);
167  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLenum eAttribute, EGLint nValue);
168  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, const EGLAttrib *pnAttribList);
169  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream);
170  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLAttrib *pnAttribList);
171  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream);
172  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMEROUTPUTEXTPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, EGLOutputLayerEXT pLayer);
173  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream, const EGLAttrib *pnAttribList);
174  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay pDpy, EGLStreamKHR pStream);
175  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSURFACEATTRIBPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nAttribute, EGLint nValue);
176  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPBUFFERSPROC)(EGLDisplay pDpy, EGLSurface pSurface);
177  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPBUFFERSREGION2NOKPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nNumRects, const EGLint *pnRects);
178  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPBUFFERSREGIONNOKPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint nNumRects, const EGLint *pnRects);
179  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint *pnRects, EGLint nNRects);
180  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)(EGLDisplay pDpy, EGLSurface pSurface, EGLint *pnRects, EGLint nNRects);
181  typedef EGLBoolean (EGLAPIENTRY *PFNEGLSWAPINTERVALPROC)(EGLDisplay pDpy, EGLint nInterval);
182  typedef EGLBoolean (EGLAPIENTRY *PFNEGLTERMINATEPROC)(EGLDisplay pDpy);
183  typedef EGLBoolean (EGLAPIENTRY *PFNEGLUNLOCKSURFACEKHRPROC)(EGLDisplay pDpy, EGLSurface pSurface);
184  typedef EGLBoolean (EGLAPIENTRY *PFNEGLWAITCLIENTPROC)(void);
185  typedef EGLBoolean (EGLAPIENTRY *PFNEGLWAITGLPROC)(void);
186  typedef EGLBoolean (EGLAPIENTRY *PFNEGLWAITNATIVEPROC)(EGLint nEngine);
187  typedef EGLBoolean (EGLAPIENTRY *PFNEGLWAITSYNCPROC)(EGLDisplay pDpy, EGLSync pSync, EGLint nFlags);
188  typedef EGLint (EGLAPIENTRY *PFNEGLWAITSYNCKHRPROC)(EGLDisplay pDpy, EGLSyncKHR pSync, EGLint nFlags);
189 #endif
190 
191  struct API
192  {
196  API();
197 
198  bool bInitialized;
199 
200  int32_t nMajor;
201  int32_t nMinor;
202 
203  EGLDisplay pDisplay;
204  const char *pVendor;
205  const char *pVersion;
206  std::vector<CYIString> ClientAPIs;
207  std::vector<CYIString> extensions;
208 
209  bool EGL_VERSION_1_0_supported;
210  bool EGL_VERSION_1_1_supported;
211  bool EGL_VERSION_1_2_supported;
212  bool EGL_VERSION_1_3_supported;
213  bool EGL_VERSION_1_4_supported;
214  bool EGL_VERSION_1_5_supported;
215 
216  bool EGL_ANDROID_blob_cache_supported;
217  bool EGL_ANDROID_create_native_client_buffer_supported;
218  bool EGL_ANDROID_framebuffer_target_supported;
219  bool EGL_ANDROID_front_buffer_auto_refresh_supported;
220  bool EGL_ANDROID_image_native_buffer_supported;
221  bool EGL_ANDROID_native_fence_sync_supported;
222  bool EGL_ANDROID_presentation_time_supported;
223  bool EGL_ANDROID_recordable_supported;
224  bool EGL_ANGLE_d3d_share_handle_client_buffer_supported;
225  bool EGL_ANGLE_device_d3d_supported;
226  bool EGL_ANGLE_query_surface_pointer_supported;
227  bool EGL_ANGLE_surface_d3d_texture_2d_share_handle_supported;
228  bool EGL_ANGLE_window_fixed_size_supported;
229  bool EGL_ARM_implicit_external_sync_supported;
230  bool EGL_ARM_pixmap_multisample_discard_supported;
231  bool EGL_EXT_buffer_age_supported;
232  bool EGL_EXT_client_extensions_supported;
233  bool EGL_EXT_create_context_robustness_supported;
234  bool EGL_EXT_device_base_supported;
235  bool EGL_EXT_device_drm_supported;
236  bool EGL_EXT_device_enumeration_supported;
237  bool EGL_EXT_device_openwf_supported;
238  bool EGL_EXT_device_query_supported;
239  bool EGL_EXT_image_dma_buf_import_supported;
240  bool EGL_EXT_multiview_window_supported;
241  bool EGL_EXT_output_base_supported;
242  bool EGL_EXT_output_drm_supported;
243  bool EGL_EXT_output_openwf_supported;
244  bool EGL_EXT_platform_base_supported;
245  bool EGL_EXT_platform_device_supported;
246  bool EGL_EXT_platform_wayland_supported;
247  bool EGL_EXT_platform_x11_supported;
248  bool EGL_EXT_protected_content_supported;
249  bool EGL_EXT_protected_surface_supported;
250  bool EGL_EXT_stream_consumer_egloutput_supported;
251  bool EGL_EXT_swap_buffers_with_damage_supported;
252  bool EGL_EXT_yuv_surface_supported;
253  bool EGL_HI_clientpixmap_supported;
254  bool EGL_HI_colorformats_supported;
255  bool EGL_IMG_context_priority_supported;
256  bool EGL_IMG_image_plane_attribs_supported;
257  bool EGL_KHR_cl_event_supported;
258  bool EGL_KHR_cl_event2_supported;
259  bool EGL_KHR_client_get_all_proc_addresses_supported;
260  bool EGL_KHR_config_attribs_supported;
261  bool EGL_KHR_context_flush_control_supported;
262  bool EGL_KHR_create_context_supported;
263  bool EGL_KHR_create_context_no_error_supported;
264  bool EGL_KHR_debug_supported;
265  bool EGL_KHR_fence_sync_supported;
266  bool EGL_KHR_get_all_proc_addresses_supported;
267  bool EGL_KHR_gl_colorspace_supported;
268  bool EGL_KHR_gl_renderbuffer_image_supported;
269  bool EGL_KHR_gl_texture_2D_image_supported;
270  bool EGL_KHR_gl_texture_3D_image_supported;
271  bool EGL_KHR_gl_texture_cubemap_image_supported;
272  bool EGL_KHR_image_supported;
273  bool EGL_KHR_image_base_supported;
274  bool EGL_KHR_image_pixmap_supported;
275  bool EGL_KHR_lock_surface_supported;
276  bool EGL_KHR_lock_surface2_supported;
277  bool EGL_KHR_lock_surface3_supported;
278  bool EGL_KHR_mutable_render_buffer_supported;
279  bool EGL_KHR_no_config_context_supported;
280  bool EGL_KHR_partial_update_supported;
281  bool EGL_KHR_platform_android_supported;
282  bool EGL_KHR_platform_gbm_supported;
283  bool EGL_KHR_platform_wayland_supported;
284  bool EGL_KHR_platform_x11_supported;
285  bool EGL_KHR_reusable_sync_supported;
286  bool EGL_KHR_stream_supported;
287  bool EGL_KHR_stream_attrib_supported;
288  bool EGL_KHR_stream_consumer_gltexture_supported;
289  bool EGL_KHR_stream_cross_process_fd_supported;
290  bool EGL_KHR_stream_fifo_supported;
291  bool EGL_KHR_stream_producer_aldatalocator_supported;
292  bool EGL_KHR_stream_producer_eglsurface_supported;
293  bool EGL_KHR_surfaceless_context_supported;
294  bool EGL_KHR_swap_buffers_with_damage_supported;
295  bool EGL_KHR_vg_parent_image_supported;
296  bool EGL_KHR_wait_sync_supported;
297  bool EGL_MESA_drm_image_supported;
298  bool EGL_MESA_image_dma_buf_export_supported;
299  bool EGL_MESA_platform_gbm_supported;
300  bool EGL_MESA_platform_surfaceless_supported;
301  bool EGL_NOK_swap_region_supported;
302  bool EGL_NOK_swap_region2_supported;
303  bool EGL_NOK_texture_from_pixmap_supported;
304  bool EGL_NV_3dvision_surface_supported;
305  bool EGL_NV_coverage_sample_supported;
306  bool EGL_NV_coverage_sample_resolve_supported;
307  bool EGL_NV_cuda_event_supported;
308  bool EGL_NV_depth_nonlinear_supported;
309  bool EGL_NV_device_cuda_supported;
310  bool EGL_NV_native_query_supported;
311  bool EGL_NV_post_convert_rounding_supported;
312  bool EGL_NV_post_sub_buffer_supported;
313  bool EGL_NV_robustness_video_memory_purge_supported;
314  bool EGL_NV_stream_consumer_gltexture_yuv_supported;
315  bool EGL_NV_stream_metadata_supported;
316  bool EGL_NV_stream_sync_supported;
317  bool EGL_NV_sync_supported;
318  bool EGL_NV_system_time_supported;
319  bool EGL_TIZEN_image_native_buffer_supported;
320  bool EGL_TIZEN_image_native_surface_supported;
321 
322 #if !defined(YI_NO_DYNAMIC_LOADING)
323  PFNEGLBINDAPIPROC eglBindAPIProc;
324  PFNEGLBINDTEXIMAGEPROC eglBindTexImageProc;
325  PFNEGLCHOOSECONFIGPROC eglChooseConfigProc;
326  PFNEGLCLIENTWAITSYNCPROC eglClientWaitSyncProc;
327  PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHRProc;
328  PFNEGLCLIENTWAITSYNCNVPROC eglClientWaitSyncNVProc;
329  PFNEGLCOPYBUFFERSPROC eglCopyBuffersProc;
330  PFNEGLCREATECONTEXTPROC eglCreateContextProc;
331  PFNEGLCREATEDRMIMAGEMESAPROC eglCreateDRMImageMESAProc;
332  PFNEGLCREATEFENCESYNCNVPROC eglCreateFenceSyncNVProc;
333  PFNEGLCREATEIMAGEPROC eglCreateImageProc;
334  PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHRProc;
335  PFNEGLCREATENATIVECLIENTBUFFERANDROIDPROC eglCreateNativeClientBufferANDROIDProc;
336  PFNEGLCREATEPBUFFERFROMCLIENTBUFFERPROC eglCreatePbufferFromClientBufferProc;
337  PFNEGLCREATEPBUFFERSURFACEPROC eglCreatePbufferSurfaceProc;
338  PFNEGLCREATEPIXMAPSURFACEPROC eglCreatePixmapSurfaceProc;
339  PFNEGLCREATEPIXMAPSURFACEHIPROC eglCreatePixmapSurfaceHIProc;
340  PFNEGLCREATEPLATFORMPIXMAPSURFACEPROC eglCreatePlatformPixmapSurfaceProc;
341  PFNEGLCREATEPLATFORMPIXMAPSURFACEEXTPROC eglCreatePlatformPixmapSurfaceEXTProc;
342  PFNEGLCREATEPLATFORMWINDOWSURFACEPROC eglCreatePlatformWindowSurfaceProc;
343  PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC eglCreatePlatformWindowSurfaceEXTProc;
344  PFNEGLCREATESTREAMATTRIBKHRPROC eglCreateStreamAttribKHRProc;
345  PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC eglCreateStreamFromFileDescriptorKHRProc;
346  PFNEGLCREATESTREAMKHRPROC eglCreateStreamKHRProc;
347  PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC eglCreateStreamProducerSurfaceKHRProc;
348  PFNEGLCREATESTREAMSYNCNVPROC eglCreateStreamSyncNVProc;
349  PFNEGLCREATESYNCPROC eglCreateSyncProc;
350  PFNEGLCREATESYNC64KHRPROC eglCreateSync64KHRProc;
351  PFNEGLCREATESYNCKHRPROC eglCreateSyncKHRProc;
352  PFNEGLCREATEWINDOWSURFACEPROC eglCreateWindowSurfaceProc;
353  PFNEGLDEBUGMESSAGECONTROLKHRPROC eglDebugMessageControlKHRProc;
354  PFNEGLDESTROYCONTEXTPROC eglDestroyContextProc;
355  PFNEGLDESTROYIMAGEPROC eglDestroyImageProc;
356  PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHRProc;
357  PFNEGLDESTROYSTREAMKHRPROC eglDestroyStreamKHRProc;
358  PFNEGLDESTROYSURFACEPROC eglDestroySurfaceProc;
359  PFNEGLDESTROYSYNCPROC eglDestroySyncProc;
360  PFNEGLDESTROYSYNCKHRPROC eglDestroySyncKHRProc;
361  PFNEGLDESTROYSYNCNVPROC eglDestroySyncNVProc;
362  PFNEGLDUPNATIVEFENCEFDANDROIDPROC eglDupNativeFenceFDANDROIDProc;
363  PFNEGLEXPORTDMABUFIMAGEMESAPROC eglExportDMABUFImageMESAProc;
364  PFNEGLEXPORTDMABUFIMAGEQUERYMESAPROC eglExportDMABUFImageQueryMESAProc;
365  PFNEGLEXPORTDRMIMAGEMESAPROC eglExportDRMImageMESAProc;
366  PFNEGLFENCENVPROC eglFenceNVProc;
367  PFNEGLGETCONFIGATTRIBPROC eglGetConfigAttribProc;
368  PFNEGLGETCONFIGSPROC eglGetConfigsProc;
369  PFNEGLGETCURRENTCONTEXTPROC eglGetCurrentContextProc;
370  PFNEGLGETCURRENTDISPLAYPROC eglGetCurrentDisplayProc;
371  PFNEGLGETCURRENTSURFACEPROC eglGetCurrentSurfaceProc;
372  PFNEGLGETDISPLAYPROC eglGetDisplayProc;
373  PFNEGLGETERRORPROC eglGetErrorProc;
374  PFNEGLGETOUTPUTLAYERSEXTPROC eglGetOutputLayersEXTProc;
375  PFNEGLGETOUTPUTPORTSEXTPROC eglGetOutputPortsEXTProc;
376  PFNEGLGETPLATFORMDISPLAYPROC eglGetPlatformDisplayProc;
377  PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXTProc;
378  PFNEGLGETPROCADDRESSPROC eglGetProcAddressProc;
379  PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC eglGetStreamFileDescriptorKHRProc;
380  PFNEGLGETSYNCATTRIBPROC eglGetSyncAttribProc;
381  PFNEGLGETSYNCATTRIBKHRPROC eglGetSyncAttribKHRProc;
382  PFNEGLGETSYNCATTRIBNVPROC eglGetSyncAttribNVProc;
383  PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC eglGetSystemTimeFrequencyNVProc;
384  PFNEGLGETSYSTEMTIMENVPROC eglGetSystemTimeNVProc;
385  PFNEGLINITIALIZEPROC eglInitializeProc;
386  PFNEGLLABELOBJECTKHRPROC eglLabelObjectKHRProc;
387  PFNEGLLOCKSURFACEKHRPROC eglLockSurfaceKHRProc;
388  PFNEGLMAKECURRENTPROC eglMakeCurrentProc;
389  PFNEGLOUTPUTLAYERATTRIBEXTPROC eglOutputLayerAttribEXTProc;
390  PFNEGLOUTPUTPORTATTRIBEXTPROC eglOutputPortAttribEXTProc;
391  PFNEGLPOSTSUBBUFFERNVPROC eglPostSubBufferNVProc;
392  PFNEGLPRESENTATIONTIMEANDROIDPROC eglPresentationTimeANDROIDProc;
393  PFNEGLQUERYAPIPROC eglQueryAPIProc;
394  PFNEGLQUERYCONTEXTPROC eglQueryContextProc;
395  PFNEGLQUERYDEBUGKHRPROC eglQueryDebugKHRProc;
396  PFNEGLQUERYDEVICEATTRIBEXTPROC eglQueryDeviceAttribEXTProc;
397  PFNEGLQUERYDEVICESTRINGEXTPROC eglQueryDeviceStringEXTProc;
398  PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXTProc;
399  PFNEGLQUERYDISPLAYATTRIBEXTPROC eglQueryDisplayAttribEXTProc;
400  PFNEGLQUERYDISPLAYATTRIBNVPROC eglQueryDisplayAttribNVProc;
401  PFNEGLQUERYNATIVEDISPLAYNVPROC eglQueryNativeDisplayNVProc;
402  PFNEGLQUERYNATIVEPIXMAPNVPROC eglQueryNativePixmapNVProc;
403  PFNEGLQUERYNATIVEWINDOWNVPROC eglQueryNativeWindowNVProc;
404  PFNEGLQUERYOUTPUTLAYERATTRIBEXTPROC eglQueryOutputLayerAttribEXTProc;
405  PFNEGLQUERYOUTPUTLAYERSTRINGEXTPROC eglQueryOutputLayerStringEXTProc;
406  PFNEGLQUERYOUTPUTPORTATTRIBEXTPROC eglQueryOutputPortAttribEXTProc;
407  PFNEGLQUERYOUTPUTPORTSTRINGEXTPROC eglQueryOutputPortStringEXTProc;
408  PFNEGLQUERYSTREAMATTRIBKHRPROC eglQueryStreamAttribKHRProc;
409  PFNEGLQUERYSTREAMKHRPROC eglQueryStreamKHRProc;
410  PFNEGLQUERYSTREAMMETADATANVPROC eglQueryStreamMetadataNVProc;
411  PFNEGLQUERYSTREAMTIMEKHRPROC eglQueryStreamTimeKHRProc;
412  PFNEGLQUERYSTREAMU64KHRPROC eglQueryStreamu64KHRProc;
413  PFNEGLQUERYSTRINGPROC eglQueryStringProc;
414  PFNEGLQUERYSURFACEPROC eglQuerySurfaceProc;
415  PFNEGLQUERYSURFACE64KHRPROC eglQuerySurface64KHRProc;
416  PFNEGLQUERYSURFACEPOINTERANGLEPROC eglQuerySurfacePointerANGLEProc;
417  PFNEGLRELEASETEXIMAGEPROC eglReleaseTexImageProc;
418  PFNEGLRELEASETHREADPROC eglReleaseThreadProc;
419  PFNEGLSETBLOBCACHEFUNCSANDROIDPROC eglSetBlobCacheFuncsANDROIDProc;
420  PFNEGLSETDAMAGEREGIONKHRPROC eglSetDamageRegionKHRProc;
421  PFNEGLSETSTREAMATTRIBKHRPROC eglSetStreamAttribKHRProc;
422  PFNEGLSETSTREAMMETADATANVPROC eglSetStreamMetadataNVProc;
423  PFNEGLSIGNALSYNCKHRPROC eglSignalSyncKHRProc;
424  PFNEGLSIGNALSYNCNVPROC eglSignalSyncNVProc;
425  PFNEGLSTREAMATTRIBKHRPROC eglStreamAttribKHRProc;
426  PFNEGLSTREAMCONSUMERACQUIREATTRIBKHRPROC eglStreamConsumerAcquireAttribKHRProc;
427  PFNEGLSTREAMCONSUMERACQUIREKHRPROC eglStreamConsumerAcquireKHRProc;
428  PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALATTRIBSNVPROC eglStreamConsumerGLTextureExternalAttribsNVProc;
429  PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC eglStreamConsumerGLTextureExternalKHRProc;
430  PFNEGLSTREAMCONSUMEROUTPUTEXTPROC eglStreamConsumerOutputEXTProc;
431  PFNEGLSTREAMCONSUMERRELEASEATTRIBKHRPROC eglStreamConsumerReleaseAttribKHRProc;
432  PFNEGLSTREAMCONSUMERRELEASEKHRPROC eglStreamConsumerReleaseKHRProc;
433  PFNEGLSURFACEATTRIBPROC eglSurfaceAttribProc;
434  PFNEGLSWAPBUFFERSPROC eglSwapBuffersProc;
435  PFNEGLSWAPBUFFERSREGION2NOKPROC eglSwapBuffersRegion2NOKProc;
436  PFNEGLSWAPBUFFERSREGIONNOKPROC eglSwapBuffersRegionNOKProc;
437  PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC eglSwapBuffersWithDamageEXTProc;
438  PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC eglSwapBuffersWithDamageKHRProc;
439  PFNEGLSWAPINTERVALPROC eglSwapIntervalProc;
440  PFNEGLTERMINATEPROC eglTerminateProc;
441  PFNEGLUNLOCKSURFACEKHRPROC eglUnlockSurfaceKHRProc;
442  PFNEGLWAITCLIENTPROC eglWaitClientProc;
443  PFNEGLWAITGLPROC eglWaitGLProc;
444  PFNEGLWAITNATIVEPROC eglWaitNativeProc;
445  PFNEGLWAITSYNCPROC eglWaitSyncProc;
446  PFNEGLWAITSYNCKHRPROC eglWaitSyncKHRProc;
447 #endif
448  };
449 
450  static const CYIString LOG_TAG;
451  static char const *const FEATURE_DISCOVERED_MSG;
452  static char const *const MISSING_FUNC_ERR_MSG;
453 
454  static char const *const EGL_VERSION_1_0_STR;
455  static char const *const EGL_VERSION_1_1_STR;
456  static char const *const EGL_VERSION_1_2_STR;
457  static char const *const EGL_VERSION_1_3_STR;
458  static char const *const EGL_VERSION_1_4_STR;
459  static char const *const EGL_VERSION_1_5_STR;
460 
461  static char const *const EGL_ANDROID_blob_cache_STR;
462  static char const *const EGL_ANDROID_create_native_client_buffer_STR;
463  static char const *const EGL_ANDROID_framebuffer_target_STR;
464  static char const *const EGL_ANDROID_front_buffer_auto_refresh_STR;
465  static char const *const EGL_ANDROID_image_native_buffer_STR;
466  static char const *const EGL_ANDROID_native_fence_sync_STR;
467  static char const *const EGL_ANDROID_presentation_time_STR;
468  static char const *const EGL_ANDROID_recordable_STR;
469  static char const *const EGL_ANGLE_d3d_share_handle_client_buffer_STR;
470  static char const *const EGL_ANGLE_device_d3d_STR;
471  static char const *const EGL_ANGLE_query_surface_pointer_STR;
472  static char const *const EGL_ANGLE_surface_d3d_texture_2d_share_handle_STR;
473  static char const *const EGL_ANGLE_window_fixed_size_STR;
474  static char const *const EGL_ARM_implicit_external_sync_STR;
475  static char const *const EGL_ARM_pixmap_multisample_discard_STR;
476  static char const *const EGL_EXT_buffer_age_STR;
477  static char const *const EGL_EXT_client_extensions_STR;
478  static char const *const EGL_EXT_create_context_robustness_STR;
479  static char const *const EGL_EXT_device_base_STR;
480  static char const *const EGL_EXT_device_drm_STR;
481  static char const *const EGL_EXT_device_enumeration_STR;
482  static char const *const EGL_EXT_device_openwf_STR;
483  static char const *const EGL_EXT_device_query_STR;
484  static char const *const EGL_EXT_image_dma_buf_import_STR;
485  static char const *const EGL_EXT_multiview_window_STR;
486  static char const *const EGL_EXT_output_base_STR;
487  static char const *const EGL_EXT_output_drm_STR;
488  static char const *const EGL_EXT_output_openwf_STR;
489  static char const *const EGL_EXT_platform_base_STR;
490  static char const *const EGL_EXT_platform_device_STR;
491  static char const *const EGL_EXT_platform_wayland_STR;
492  static char const *const EGL_EXT_platform_x11_STR;
493  static char const *const EGL_EXT_protected_content_STR;
494  static char const *const EGL_EXT_protected_surface_STR;
495  static char const *const EGL_EXT_stream_consumer_egloutput_STR;
496  static char const *const EGL_EXT_swap_buffers_with_damage_STR;
497  static char const *const EGL_EXT_yuv_surface_STR;
498  static char const *const EGL_HI_clientpixmap_STR;
499  static char const *const EGL_HI_colorformats_STR;
500  static char const *const EGL_IMG_context_priority_STR;
501  static char const *const EGL_IMG_image_plane_attribs_STR;
502  static char const *const EGL_KHR_cl_event_STR;
503  static char const *const EGL_KHR_cl_event2_STR;
504  static char const *const EGL_KHR_client_get_all_proc_addresses_STR;
505  static char const *const EGL_KHR_config_attribs_STR;
506  static char const *const EGL_KHR_context_flush_control_STR;
507  static char const *const EGL_KHR_create_context_STR;
508  static char const *const EGL_KHR_create_context_no_error_STR;
509  static char const *const EGL_KHR_debug_STR;
510  static char const *const EGL_KHR_fence_sync_STR;
511  static char const *const EGL_KHR_get_all_proc_addresses_STR;
512  static char const *const EGL_KHR_gl_colorspace_STR;
513  static char const *const EGL_KHR_gl_renderbuffer_image_STR;
514  static char const *const EGL_KHR_gl_texture_2D_image_STR;
515  static char const *const EGL_KHR_gl_texture_3D_image_STR;
516  static char const *const EGL_KHR_gl_texture_cubemap_image_STR;
517  static char const *const EGL_KHR_image_STR;
518  static char const *const EGL_KHR_image_base_STR;
519  static char const *const EGL_KHR_image_pixmap_STR;
520  static char const *const EGL_KHR_lock_surface_STR;
521  static char const *const EGL_KHR_lock_surface2_STR;
522  static char const *const EGL_KHR_lock_surface3_STR;
523  static char const *const EGL_KHR_mutable_render_buffer_STR;
524  static char const *const EGL_KHR_no_config_context_STR;
525  static char const *const EGL_KHR_partial_update_STR;
526  static char const *const EGL_KHR_platform_android_STR;
527  static char const *const EGL_KHR_platform_gbm_STR;
528  static char const *const EGL_KHR_platform_wayland_STR;
529  static char const *const EGL_KHR_platform_x11_STR;
530  static char const *const EGL_KHR_reusable_sync_STR;
531  static char const *const EGL_KHR_stream_STR;
532  static char const *const EGL_KHR_stream_attrib_STR;
533  static char const *const EGL_KHR_stream_consumer_gltexture_STR;
534  static char const *const EGL_KHR_stream_cross_process_fd_STR;
535  static char const *const EGL_KHR_stream_fifo_STR;
536  static char const *const EGL_KHR_stream_producer_aldatalocator_STR;
537  static char const *const EGL_KHR_stream_producer_eglsurface_STR;
538  static char const *const EGL_KHR_surfaceless_context_STR;
539  static char const *const EGL_KHR_swap_buffers_with_damage_STR;
540  static char const *const EGL_KHR_vg_parent_image_STR;
541  static char const *const EGL_KHR_wait_sync_STR;
542  static char const *const EGL_MESA_drm_image_STR;
543  static char const *const EGL_MESA_image_dma_buf_export_STR;
544  static char const *const EGL_MESA_platform_gbm_STR;
545  static char const *const EGL_MESA_platform_surfaceless_STR;
546  static char const *const EGL_NOK_swap_region_STR;
547  static char const *const EGL_NOK_swap_region2_STR;
548  static char const *const EGL_NOK_texture_from_pixmap_STR;
549  static char const *const EGL_NV_3dvision_surface_STR;
550  static char const *const EGL_NV_coverage_sample_STR;
551  static char const *const EGL_NV_coverage_sample_resolve_STR;
552  static char const *const EGL_NV_cuda_event_STR;
553  static char const *const EGL_NV_depth_nonlinear_STR;
554  static char const *const EGL_NV_device_cuda_STR;
555  static char const *const EGL_NV_native_query_STR;
556  static char const *const EGL_NV_post_convert_rounding_STR;
557  static char const *const EGL_NV_post_sub_buffer_STR;
558  static char const *const EGL_NV_robustness_video_memory_purge_STR;
559  static char const *const EGL_NV_stream_consumer_gltexture_yuv_STR;
560  static char const *const EGL_NV_stream_metadata_STR;
561  static char const *const EGL_NV_stream_sync_STR;
562  static char const *const EGL_NV_sync_STR;
563  static char const *const EGL_NV_system_time_STR;
564  static char const *const EGL_TIZEN_image_native_buffer_STR;
565  static char const *const EGL_TIZEN_image_native_surface_STR;
566 
567  static char const *const eglBindAPIStr;
568  static char const *const eglBindTexImageStr;
569  static char const *const eglChooseConfigStr;
570  static char const *const eglClientWaitSyncStr;
571  static char const *const eglClientWaitSyncKHRStr;
572  static char const *const eglClientWaitSyncNVStr;
573  static char const *const eglCopyBuffersStr;
574  static char const *const eglCreateContextStr;
575  static char const *const eglCreateDRMImageMESAStr;
576  static char const *const eglCreateFenceSyncNVStr;
577  static char const *const eglCreateImageStr;
578  static char const *const eglCreateImageKHRStr;
579  static char const *const eglCreateNativeClientBufferANDROIDStr;
580  static char const *const eglCreatePbufferFromClientBufferStr;
581  static char const *const eglCreatePbufferSurfaceStr;
582  static char const *const eglCreatePixmapSurfaceStr;
583  static char const *const eglCreatePixmapSurfaceHIStr;
584  static char const *const eglCreatePlatformPixmapSurfaceStr;
585  static char const *const eglCreatePlatformPixmapSurfaceEXTStr;
586  static char const *const eglCreatePlatformWindowSurfaceStr;
587  static char const *const eglCreatePlatformWindowSurfaceEXTStr;
588  static char const *const eglCreateStreamAttribKHRStr;
589  static char const *const eglCreateStreamFromFileDescriptorKHRStr;
590  static char const *const eglCreateStreamKHRStr;
591  static char const *const eglCreateStreamProducerSurfaceKHRStr;
592  static char const *const eglCreateStreamSyncNVStr;
593  static char const *const eglCreateSyncStr;
594  static char const *const eglCreateSync64KHRStr;
595  static char const *const eglCreateSyncKHRStr;
596  static char const *const eglCreateWindowSurfaceStr;
597  static char const *const eglDebugMessageControlKHRStr;
598  static char const *const eglDestroyContextStr;
599  static char const *const eglDestroyImageStr;
600  static char const *const eglDestroyImageKHRStr;
601  static char const *const eglDestroyStreamKHRStr;
602  static char const *const eglDestroySurfaceStr;
603  static char const *const eglDestroySyncStr;
604  static char const *const eglDestroySyncKHRStr;
605  static char const *const eglDestroySyncNVStr;
606  static char const *const eglDupNativeFenceFDANDROIDStr;
607  static char const *const eglExportDMABUFImageMESAStr;
608  static char const *const eglExportDMABUFImageQueryMESAStr;
609  static char const *const eglExportDRMImageMESAStr;
610  static char const *const eglFenceNVStr;
611  static char const *const eglGetConfigAttribStr;
612  static char const *const eglGetConfigsStr;
613  static char const *const eglGetCurrentContextStr;
614  static char const *const eglGetCurrentDisplayStr;
615  static char const *const eglGetCurrentSurfaceStr;
616  static char const *const eglGetDisplayStr;
617  static char const *const eglGetErrorStr;
618  static char const *const eglGetOutputLayersEXTStr;
619  static char const *const eglGetOutputPortsEXTStr;
620  static char const *const eglGetPlatformDisplayStr;
621  static char const *const eglGetPlatformDisplayEXTStr;
622  static char const *const eglGetProcAddressStr;
623  static char const *const eglGetStreamFileDescriptorKHRStr;
624  static char const *const eglGetSyncAttribStr;
625  static char const *const eglGetSyncAttribKHRStr;
626  static char const *const eglGetSyncAttribNVStr;
627  static char const *const eglGetSystemTimeFrequencyNVStr;
628  static char const *const eglGetSystemTimeNVStr;
629  static char const *const eglInitializeStr;
630  static char const *const eglLabelObjectKHRStr;
631  static char const *const eglLockSurfaceKHRStr;
632  static char const *const eglMakeCurrentStr;
633  static char const *const eglOutputLayerAttribEXTStr;
634  static char const *const eglOutputPortAttribEXTStr;
635  static char const *const eglPostSubBufferNVStr;
636  static char const *const eglPresentationTimeANDROIDStr;
637  static char const *const eglQueryAPIStr;
638  static char const *const eglQueryContextStr;
639  static char const *const eglQueryDebugKHRStr;
640  static char const *const eglQueryDeviceAttribEXTStr;
641  static char const *const eglQueryDeviceStringEXTStr;
642  static char const *const eglQueryDevicesEXTStr;
643  static char const *const eglQueryDisplayAttribEXTStr;
644  static char const *const eglQueryDisplayAttribNVStr;
645  static char const *const eglQueryNativeDisplayNVStr;
646  static char const *const eglQueryNativePixmapNVStr;
647  static char const *const eglQueryNativeWindowNVStr;
648  static char const *const eglQueryOutputLayerAttribEXTStr;
649  static char const *const eglQueryOutputLayerStringEXTStr;
650  static char const *const eglQueryOutputPortAttribEXTStr;
651  static char const *const eglQueryOutputPortStringEXTStr;
652  static char const *const eglQueryStreamAttribKHRStr;
653  static char const *const eglQueryStreamKHRStr;
654  static char const *const eglQueryStreamMetadataNVStr;
655  static char const *const eglQueryStreamTimeKHRStr;
656  static char const *const eglQueryStreamu64KHRStr;
657  static char const *const eglQueryStringStr;
658  static char const *const eglQuerySurfaceStr;
659  static char const *const eglQuerySurface64KHRStr;
660  static char const *const eglQuerySurfacePointerANGLEStr;
661  static char const *const eglReleaseTexImageStr;
662  static char const *const eglReleaseThreadStr;
663  static char const *const eglSetBlobCacheFuncsANDROIDStr;
664  static char const *const eglSetDamageRegionKHRStr;
665  static char const *const eglSetStreamAttribKHRStr;
666  static char const *const eglSetStreamMetadataNVStr;
667  static char const *const eglSignalSyncKHRStr;
668  static char const *const eglSignalSyncNVStr;
669  static char const *const eglStreamAttribKHRStr;
670  static char const *const eglStreamConsumerAcquireAttribKHRStr;
671  static char const *const eglStreamConsumerAcquireKHRStr;
672  static char const *const eglStreamConsumerGLTextureExternalAttribsNVStr;
673  static char const *const eglStreamConsumerGLTextureExternalKHRStr;
674  static char const *const eglStreamConsumerOutputEXTStr;
675  static char const *const eglStreamConsumerReleaseAttribKHRStr;
676  static char const *const eglStreamConsumerReleaseKHRStr;
677  static char const *const eglSurfaceAttribStr;
678  static char const *const eglSwapBuffersStr;
679  static char const *const eglSwapBuffersRegion2NOKStr;
680  static char const *const eglSwapBuffersRegionNOKStr;
681  static char const *const eglSwapBuffersWithDamageEXTStr;
682  static char const *const eglSwapBuffersWithDamageKHRStr;
683  static char const *const eglSwapIntervalStr;
684  static char const *const eglTerminateStr;
685  static char const *const eglUnlockSurfaceKHRStr;
686  static char const *const eglWaitClientStr;
687  static char const *const eglWaitGLStr;
688  static char const *const eglWaitNativeStr;
689  static char const *const eglWaitSyncStr;
690  static char const *const eglWaitSyncKHRStr;
691 
695  static API CurrentAPI;
696 
706  static bool Init();
707 
715  static void *GetProcAddress(const char *procName);
716 
723  static void CheckError(const char *prefix);
724 
725 private:
726 
727  static bool LoadVersionFunctions();
728  static bool LoadExtensionFunctions();
729 
730  static void *s_pLibHandle;
731  static bool s_bLibLoaded;
732 
733  CYIEGL();
734  CYIEGL(const CYIEGL &);
735  CYIEGL &operator=(const CYIEGL &);
736 
737 };
738 #endif /* defined(YI_OPENGL_ES2_RENDERING) && !defined(YI_IOS) && !defined(YI_TVOS) && !defined(YI_WEBOS) && !defined(YI_TIZEN_NACL) */
739 #endif /* _YI_EGL_GENERATED_H_ */
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35