/* WARNING: This is auto-generated file. Do not modify, since changes will * be lost! Modify the generating script instead. * * Generated from Khronos EGL API description (egl.xml) revision 3338ed0db494d6a4db7f76627b38f0b1892db096. */ static const char* s_EGL14[] = { "eglBindAPI", "eglBindTexImage", "eglChooseConfig", "eglCopyBuffers", "eglCreateContext", "eglCreatePbufferFromClientBuffer", "eglCreatePbufferSurface", "eglCreatePixmapSurface", "eglCreateWindowSurface", "eglDestroyContext", "eglDestroySurface", "eglGetConfigAttrib", "eglGetConfigs", "eglGetCurrentContext", "eglGetCurrentDisplay", "eglGetCurrentSurface", "eglGetDisplay", "eglGetError", "eglGetProcAddress", "eglInitialize", "eglMakeCurrent", "eglQueryAPI", "eglQueryContext", "eglQueryString", "eglQuerySurface", "eglReleaseTexImage", "eglReleaseThread", "eglSurfaceAttrib", "eglSwapBuffers", "eglSwapInterval", "eglTerminate", "eglWaitClient", "eglWaitGL", "eglWaitNative", }; static const char* s_EGL15[] = { "eglClientWaitSync", "eglCreateImage", "eglCreatePlatformPixmapSurface", "eglCreatePlatformWindowSurface", "eglCreateSync", "eglDestroyImage", "eglDestroySync", "eglGetPlatformDisplay", "eglGetSyncAttrib", "eglWaitSync", }; static const char* s_GLES10[] = { "glActiveTexture", "glAlphaFunc", "glAlphaFuncx", "glBindBuffer", "glBindTexture", "glBlendFunc", "glBufferData", "glBufferSubData", "glClear", "glClearColor", "glClearColorx", "glClearDepthf", "glClearDepthx", "glClearStencil", "glClientActiveTexture", "glClipPlanef", "glClipPlanex", "glColor4f", "glColor4ub", "glColor4x", "glColorMask", "glColorPointer", "glCompressedTexImage2D", "glCompressedTexSubImage2D", "glCopyTexImage2D", "glCopyTexSubImage2D", "glCullFace", "glDeleteBuffers", "glDeleteTextures", "glDepthFunc", "glDepthMask", "glDepthRangef", "glDepthRangex", "glDisable", "glDisableClientState", "glDrawArrays", "glDrawElements", "glEnable", "glEnableClientState", "glFinish", "glFlush", "glFogf", "glFogfv", "glFogx", "glFogxv", "glFrontFace", "glFrustumf", "glFrustumx", "glGenBuffers", "glGenTextures", "glGetBooleanv", "glGetBufferParameteriv", "glGetClipPlanef", "glGetClipPlanex", "glGetError", "glGetFixedv", "glGetFloatv", "glGetIntegerv", "glGetLightfv", "glGetLightxv", "glGetMaterialfv", "glGetMaterialxv", "glGetPointerv", "glGetString", "glGetTexEnvfv", "glGetTexEnviv", "glGetTexEnvxv", "glGetTexParameterfv", "glGetTexParameteriv", "glGetTexParameterxv", "glHint", "glIsBuffer", "glIsEnabled", "glIsTexture", "glLightModelf", "glLightModelfv", "glLightModelx", "glLightModelxv", "glLightf", "glLightfv", "glLightx", "glLightxv", "glLineWidth", "glLineWidthx", "glLoadIdentity", "glLoadMatrixf", "glLoadMatrixx", "glLogicOp", "glMaterialf", "glMaterialfv", "glMaterialx", "glMaterialxv", "glMatrixMode", "glMultMatrixf", "glMultMatrixx", "glMultiTexCoord4f", "glMultiTexCoord4x", "glNormal3f", "glNormal3x", "glNormalPointer", "glOrthof", "glOrthox", "glPixelStorei", "glPointParameterf", "glPointParameterfv", "glPointParameterx", "glPointParameterxv", "glPointSize", "glPointSizex", "glPolygonOffset", "glPolygonOffsetx", "glPopMatrix", "glPushMatrix", "glReadPixels", "glRotatef", "glRotatex", "glSampleCoverage", "glSampleCoveragex", "glScalef", "glScalex", "glScissor", "glShadeModel", "glStencilFunc", "glStencilMask", "glStencilOp", "glTexCoordPointer", "glTexEnvf", "glTexEnvfv", "glTexEnvi", "glTexEnviv", "glTexEnvx", "glTexEnvxv", "glTexImage2D", "glTexParameterf", "glTexParameterfv", "glTexParameteri", "glTexParameteriv", "glTexParameterx", "glTexParameterxv", "glTexSubImage2D", "glTranslatef", "glTranslatex", "glVertexPointer", "glViewport", }; static const char* s_GLES20[] = { "glActiveTexture", "glAttachShader", "glBindAttribLocation", "glBindBuffer", "glBindFramebuffer", "glBindRenderbuffer", "glBindTexture", "glBlendColor", "glBlendEquation", "glBlendEquationSeparate", "glBlendFunc", "glBlendFuncSeparate", "glBufferData", "glBufferSubData", "glCheckFramebufferStatus", "glClear", "glClearColor", "glClearDepthf", "glClearStencil", "glColorMask", "glCompileShader", "glCompressedTexImage2D", "glCompressedTexSubImage2D", "glCopyTexImage2D", "glCopyTexSubImage2D", "glCreateProgram", "glCreateShader", "glCullFace", "glDeleteBuffers", "glDeleteFramebuffers", "glDeleteProgram", "glDeleteRenderbuffers", "glDeleteShader", "glDeleteTextures", "glDepthFunc", "glDepthMask", "glDepthRangef", "glDetachShader", "glDisable", "glDisableVertexAttribArray", "glDrawArrays", "glDrawElements", "glEnable", "glEnableVertexAttribArray", "glFinish", "glFlush", "glFramebufferRenderbuffer", "glFramebufferTexture2D", "glFrontFace", "glGenBuffers", "glGenFramebuffers", "glGenRenderbuffers", "glGenTextures", "glGenerateMipmap", "glGetActiveAttrib", "glGetActiveUniform", "glGetAttachedShaders", "glGetAttribLocation", "glGetBooleanv", "glGetBufferParameteriv", "glGetError", "glGetFloatv", "glGetFramebufferAttachmentParameteriv", "glGetIntegerv", "glGetProgramInfoLog", "glGetProgramiv", "glGetRenderbufferParameteriv", "glGetShaderInfoLog", "glGetShaderPrecisionFormat", "glGetShaderSource", "glGetShaderiv", "glGetString", "glGetTexParameterfv", "glGetTexParameteriv", "glGetUniformLocation", "glGetUniformfv", "glGetUniformiv", "glGetVertexAttribPointerv", "glGetVertexAttribfv", "glGetVertexAttribiv", "glHint", "glIsBuffer", "glIsEnabled", "glIsFramebuffer", "glIsProgram", "glIsRenderbuffer", "glIsShader", "glIsTexture", "glLineWidth", "glLinkProgram", "glPixelStorei", "glPolygonOffset", "glReadPixels", "glReleaseShaderCompiler", "glRenderbufferStorage", "glSampleCoverage", "glScissor", "glShaderBinary", "glShaderSource", "glStencilFunc", "glStencilFuncSeparate", "glStencilMask", "glStencilMaskSeparate", "glStencilOp", "glStencilOpSeparate", "glTexImage2D", "glTexParameterf", "glTexParameterfv", "glTexParameteri", "glTexParameteriv", "glTexSubImage2D", "glUniform1f", "glUniform1fv", "glUniform1i", "glUniform1iv", "glUniform2f", "glUniform2fv", "glUniform2i", "glUniform2iv", "glUniform3f", "glUniform3fv", "glUniform3i", "glUniform3iv", "glUniform4f", "glUniform4fv", "glUniform4i", "glUniform4iv", "glUniformMatrix2fv", "glUniformMatrix3fv", "glUniformMatrix4fv", "glUseProgram", "glValidateProgram", "glVertexAttrib1f", "glVertexAttrib1fv", "glVertexAttrib2f", "glVertexAttrib2fv", "glVertexAttrib3f", "glVertexAttrib3fv", "glVertexAttrib4f", "glVertexAttrib4fv", "glVertexAttribPointer", "glViewport", }; static const char* s_GLES30[] = { "glBeginQuery", "glBeginTransformFeedback", "glBindBufferBase", "glBindBufferRange", "glBindSampler", "glBindTransformFeedback", "glBindVertexArray", "glBlitFramebuffer", "glClearBufferfi", "glClearBufferfv", "glClearBufferiv", "glClearBufferuiv", "glClientWaitSync", "glCompressedTexImage3D", "glCompressedTexSubImage3D", "glCopyBufferSubData", "glCopyTexSubImage3D", "glDeleteQueries", "glDeleteSamplers", "glDeleteSync", "glDeleteTransformFeedbacks", "glDeleteVertexArrays", "glDrawArraysInstanced", "glDrawBuffers", "glDrawElementsInstanced", "glDrawRangeElements", "glEndQuery", "glEndTransformFeedback", "glFenceSync", "glFlushMappedBufferRange", "glFramebufferTextureLayer", "glGenQueries", "glGenSamplers", "glGenTransformFeedbacks", "glGenVertexArrays", "glGetActiveUniformBlockName", "glGetActiveUniformBlockiv", "glGetActiveUniformsiv", "glGetBufferParameteri64v", "glGetBufferPointerv", "glGetFragDataLocation", "glGetInteger64i_v", "glGetInteger64v", "glGetIntegeri_v", "glGetInternalformativ", "glGetProgramBinary", "glGetQueryObjectuiv", "glGetQueryiv", "glGetSamplerParameterfv", "glGetSamplerParameteriv", "glGetStringi", "glGetSynciv", "glGetTransformFeedbackVarying", "glGetUniformBlockIndex", "glGetUniformIndices", "glGetUniformuiv", "glGetVertexAttribIiv", "glGetVertexAttribIuiv", "glInvalidateFramebuffer", "glInvalidateSubFramebuffer", "glIsQuery", "glIsSampler", "glIsSync", "glIsTransformFeedback", "glIsVertexArray", "glMapBufferRange", "glPauseTransformFeedback", "glProgramBinary", "glProgramParameteri", "glReadBuffer", "glRenderbufferStorageMultisample", "glResumeTransformFeedback", "glSamplerParameterf", "glSamplerParameterfv", "glSamplerParameteri", "glSamplerParameteriv", "glTexImage3D", "glTexStorage2D", "glTexStorage3D", "glTexSubImage3D", "glTransformFeedbackVaryings", "glUniform1ui", "glUniform1uiv", "glUniform2ui", "glUniform2uiv", "glUniform3ui", "glUniform3uiv", "glUniform4ui", "glUniform4uiv", "glUniformBlockBinding", "glUniformMatrix2x3fv", "glUniformMatrix2x4fv", "glUniformMatrix3x2fv", "glUniformMatrix3x4fv", "glUniformMatrix4x2fv", "glUniformMatrix4x3fv", "glUnmapBuffer", "glVertexAttribDivisor", "glVertexAttribI4i", "glVertexAttribI4iv", "glVertexAttribI4ui", "glVertexAttribI4uiv", "glVertexAttribIPointer", "glWaitSync", }; static const char* s_EGL_ANDROID_blob_cache[] = { "eglSetBlobCacheFuncsANDROID", }; static const char* s_EGL_ANDROID_create_native_client_buffer[] = { "eglCreateNativeClientBufferANDROID", }; static const char* s_EGL_ANDROID_get_native_client_buffer[] = { "eglGetNativeClientBufferANDROID", }; static const char* s_EGL_ANDROID_native_fence_sync[] = { "eglDupNativeFenceFDANDROID", }; static const char* s_EGL_ANDROID_presentation_time[] = { "eglPresentationTimeANDROID", }; static const char* s_EGL_ANDROID_get_frame_timestamps[] = { "eglGetCompositorTimingSupportedANDROID", "eglGetCompositorTimingANDROID", "eglGetNextFrameIdANDROID", "eglGetFrameTimestampSupportedANDROID", "eglGetFrameTimestampsANDROID", }; static const char* s_EGL_ANGLE_query_surface_pointer[] = { "eglQuerySurfacePointerANGLE", }; static const char* s_EGL_EXT_client_sync[] = { "eglClientSignalSyncEXT", }; static const char* s_EGL_EXT_device_base[] = { "eglQueryDeviceAttribEXT", "eglQueryDeviceStringEXT", "eglQueryDevicesEXT", "eglQueryDisplayAttribEXT", }; static const char* s_EGL_EXT_device_enumeration[] = { "eglQueryDevicesEXT", }; static const char* s_EGL_EXT_device_query[] = { "eglQueryDeviceAttribEXT", "eglQueryDeviceStringEXT", "eglQueryDisplayAttribEXT", }; static const char* s_EGL_EXT_image_dma_buf_import_modifiers[] = { "eglQueryDmaBufFormatsEXT", "eglQueryDmaBufModifiersEXT", }; static const char* s_EGL_EXT_output_base[] = { "eglGetOutputLayersEXT", "eglGetOutputPortsEXT", "eglOutputLayerAttribEXT", "eglOutputPortAttribEXT", "eglQueryOutputLayerAttribEXT", "eglQueryOutputLayerStringEXT", "eglQueryOutputPortAttribEXT", "eglQueryOutputPortStringEXT", }; static const char* s_EGL_EXT_platform_base[] = { "eglCreatePlatformPixmapSurfaceEXT", "eglCreatePlatformWindowSurfaceEXT", "eglGetPlatformDisplayEXT", }; static const char* s_EGL_EXT_stream_consumer_egloutput[] = { "eglStreamConsumerOutputEXT", }; static const char* s_EGL_EXT_swap_buffers_with_damage[] = { "eglSwapBuffersWithDamageEXT", }; static const char* s_EGL_EXT_sync_reuse[] = { "eglUnsignalSyncEXT", }; static const char* s_EGL_HI_clientpixmap[] = { "eglCreatePixmapSurfaceHI", }; static const char* s_EGL_KHR_cl_event2[] = { "eglCreateSync64KHR", }; static const char* s_EGL_KHR_debug[] = { "eglDebugMessageControlKHR", "eglLabelObjectKHR", "eglQueryDebugKHR", }; static const char* s_EGL_KHR_display_reference[] = { "eglQueryDisplayAttribKHR", }; static const char* s_EGL_KHR_fence_sync[] = { "eglClientWaitSyncKHR", "eglCreateSyncKHR", "eglDestroySyncKHR", "eglGetSyncAttribKHR", }; static const char* s_EGL_KHR_image[] = { "eglCreateImageKHR", "eglDestroyImageKHR", }; static const char* s_EGL_KHR_image_base[] = { "eglCreateImageKHR", "eglDestroyImageKHR", }; static const char* s_EGL_KHR_lock_surface[] = { "eglLockSurfaceKHR", "eglUnlockSurfaceKHR", }; static const char* s_EGL_KHR_lock_surface3[] = { "eglLockSurfaceKHR", "eglQuerySurface64KHR", "eglUnlockSurfaceKHR", }; static const char* s_EGL_KHR_partial_update[] = { "eglSetDamageRegionKHR", }; static const char* s_EGL_KHR_reusable_sync[] = { "eglClientWaitSyncKHR", "eglCreateSyncKHR", "eglDestroySyncKHR", "eglGetSyncAttribKHR", "eglSignalSyncKHR", }; static const char* s_EGL_KHR_stream[] = { "eglCreateStreamKHR", "eglDestroyStreamKHR", "eglQueryStreamKHR", "eglQueryStreamu64KHR", "eglStreamAttribKHR", }; static const char* s_EGL_KHR_stream_attrib[] = { "eglCreateStreamAttribKHR", "eglQueryStreamAttribKHR", "eglSetStreamAttribKHR", "eglStreamConsumerAcquireAttribKHR", "eglStreamConsumerReleaseAttribKHR", }; static const char* s_EGL_KHR_stream_consumer_gltexture[] = { "eglStreamConsumerAcquireKHR", "eglStreamConsumerGLTextureExternalKHR", "eglStreamConsumerReleaseKHR", }; static const char* s_EGL_KHR_stream_cross_process_fd[] = { "eglCreateStreamFromFileDescriptorKHR", "eglGetStreamFileDescriptorKHR", }; static const char* s_EGL_KHR_stream_fifo[] = { "eglQueryStreamTimeKHR", }; static const char* s_EGL_KHR_stream_producer_eglsurface[] = { "eglCreateStreamProducerSurfaceKHR", }; static const char* s_EGL_KHR_swap_buffers_with_damage[] = { "eglSwapBuffersWithDamageKHR", }; static const char* s_EGL_KHR_wait_sync[] = { "eglWaitSyncKHR", }; static const char* s_EGL_MESA_drm_image[] = { "eglCreateDRMImageMESA", "eglExportDRMImageMESA", }; static const char* s_EGL_MESA_image_dma_buf_export[] = { "eglExportDMABUFImageMESA", "eglExportDMABUFImageQueryMESA", }; static const char* s_EGL_NOK_swap_region[] = { "eglSwapBuffersRegionNOK", }; static const char* s_EGL_NOK_swap_region2[] = { "eglSwapBuffersRegion2NOK", }; static const char* s_EGL_NV_native_query[] = { "eglQueryNativeDisplayNV", "eglQueryNativePixmapNV", "eglQueryNativeWindowNV", }; static const char* s_EGL_NV_post_sub_buffer[] = { "eglPostSubBufferNV", }; static const char* s_EGL_NV_stream_consumer_gltexture_yuv[] = { "eglStreamConsumerGLTextureExternalAttribsNV", }; static const char* s_EGL_NV_stream_flush[] = { "eglStreamFlushNV", }; static const char* s_EGL_NV_stream_metadata[] = { "eglQueryDisplayAttribNV", "eglQueryStreamMetadataNV", "eglSetStreamMetadataNV", }; static const char* s_EGL_NV_stream_reset[] = { "eglResetStreamNV", }; static const char* s_EGL_NV_stream_sync[] = { "eglCreateStreamSyncNV", }; static const char* s_EGL_NV_sync[] = { "eglClientWaitSyncNV", "eglCreateFenceSyncNV", "eglDestroySyncNV", "eglFenceNV", "eglGetSyncAttribNV", "eglSignalSyncNV", }; static const char* s_EGL_NV_system_time[] = { "eglGetSystemTimeFrequencyNV", "eglGetSystemTimeNV", }; static const char* s_EGL_EXT_compositor[] = { "eglCompositorSetContextListEXT", "eglCompositorSetContextAttributesEXT", "eglCompositorSetWindowListEXT", "eglCompositorSetWindowAttributesEXT", "eglCompositorBindTexWindowEXT", "eglCompositorSetSizeEXT", "eglCompositorSwapPolicyEXT", }; static const char* s_GL_APPLE_copy_texture_levels[] = { "glCopyTextureLevelsAPPLE", }; static const char* s_GL_APPLE_framebuffer_multisample[] = { "glRenderbufferStorageMultisampleAPPLE", "glResolveMultisampleFramebufferAPPLE", }; static const char* s_GL_APPLE_sync[] = { "glClientWaitSyncAPPLE", "glDeleteSyncAPPLE", "glFenceSyncAPPLE", "glGetInteger64vAPPLE", "glGetSyncivAPPLE", "glIsSyncAPPLE", "glWaitSyncAPPLE", }; static const char* s_GL_EXT_debug_marker[] = { "glInsertEventMarkerEXT", "glPopGroupMarkerEXT", "glPushGroupMarkerEXT", }; static const char* s_GL_EXT_discard_framebuffer[] = { "glDiscardFramebufferEXT", }; static const char* s_GL_EXT_map_buffer_range[] = { "glFlushMappedBufferRangeEXT", "glMapBufferRangeEXT", }; static const char* s_GL_EXT_multi_draw_arrays[] = { "glMultiDrawArraysEXT", "glMultiDrawElementsEXT", }; static const char* s_GL_EXT_multisampled_render_to_texture[] = { "glFramebufferTexture2DMultisampleEXT", "glRenderbufferStorageMultisampleEXT", }; static const char* s_GL_EXT_robustness[] = { "glGetGraphicsResetStatusEXT", "glGetnUniformfvEXT", "glGetnUniformivEXT", "glReadnPixelsEXT", }; static const char* s_GL_EXT_texture_storage[] = { "glTexStorage1DEXT", "glTexStorage2DEXT", "glTexStorage3DEXT", "glTextureStorage1DEXT", "glTextureStorage2DEXT", "glTextureStorage3DEXT", }; static const char* s_GL_IMG_multisampled_render_to_texture[] = { "glFramebufferTexture2DMultisampleIMG", "glRenderbufferStorageMultisampleIMG", }; static const char* s_GL_IMG_user_clip_plane[] = { "glClipPlanefIMG", "glClipPlanexIMG", }; static const char* s_GL_NV_fence[] = { "glDeleteFencesNV", "glFinishFenceNV", "glGenFencesNV", "glGetFenceivNV", "glIsFenceNV", "glSetFenceNV", "glTestFenceNV", }; static const char* s_GL_OES_EGL_image[] = { "glEGLImageTargetRenderbufferStorageOES", "glEGLImageTargetTexture2DOES", }; static const char* s_GL_OES_blend_equation_separate[] = { "glBlendEquationSeparateOES", }; static const char* s_GL_OES_blend_func_separate[] = { "glBlendFuncSeparateOES", }; static const char* s_GL_OES_blend_subtract[] = { "glBlendEquationOES", }; static const char* s_GL_OES_draw_texture[] = { "glDrawTexfOES", "glDrawTexfvOES", "glDrawTexiOES", "glDrawTexivOES", "glDrawTexsOES", "glDrawTexsvOES", "glDrawTexxOES", "glDrawTexxvOES", }; static const char* s_GL_OES_fixed_point[] = { "glAlphaFuncxOES", "glClearColorxOES", "glClearDepthxOES", "glClipPlanexOES", "glColor4xOES", "glDepthRangexOES", "glFogxOES", "glFogxvOES", "glFrustumxOES", "glGetClipPlanexOES", "glGetFixedvOES", "glGetLightxvOES", "glGetMaterialxvOES", "glGetTexEnvxvOES", "glGetTexParameterxvOES", "glLightModelxOES", "glLightModelxvOES", "glLightxOES", "glLightxvOES", "glLineWidthxOES", "glLoadMatrixxOES", "glMaterialxOES", "glMaterialxvOES", "glMultMatrixxOES", "glMultiTexCoord4xOES", "glNormal3xOES", "glOrthoxOES", "glPointParameterxOES", "glPointParameterxvOES", "glPointSizexOES", "glPolygonOffsetxOES", "glRotatexOES", "glSampleCoveragexOES", "glScalexOES", "glTexEnvxOES", "glTexEnvxvOES", "glTexParameterxOES", "glTexParameterxvOES", "glTranslatexOES", }; static const char* s_GL_OES_framebuffer_object[] = { "glBindFramebufferOES", "glBindRenderbufferOES", "glCheckFramebufferStatusOES", "glDeleteFramebuffersOES", "glDeleteRenderbuffersOES", "glFramebufferRenderbufferOES", "glFramebufferTexture2DOES", "glGenFramebuffersOES", "glGenRenderbuffersOES", "glGenerateMipmapOES", "glGetFramebufferAttachmentParameterivOES", "glGetRenderbufferParameterivOES", "glIsFramebufferOES", "glIsRenderbufferOES", "glRenderbufferStorageOES", }; static const char* s_GL_OES_mapbuffer[] = { "glGetBufferPointervOES", "glMapBufferOES", "glUnmapBufferOES", }; static const char* s_GL_OES_matrix_palette[] = { "glCurrentPaletteMatrixOES", "glLoadPaletteFromModelViewMatrixOES", "glMatrixIndexPointerOES", "glWeightPointerOES", }; static const char* s_GL_OES_point_size_array[] = { "glPointSizePointerOES", }; static const char* s_GL_OES_query_matrix[] = { "glQueryMatrixxOES", }; static const char* s_GL_OES_single_precision[] = { "glClearDepthfOES", "glClipPlanefOES", "glDepthRangefOES", "glFrustumfOES", "glGetClipPlanefOES", "glOrthofOES", }; static const char* s_GL_OES_texture_cube_map[] = { "glGetTexGenfvOES", "glGetTexGenivOES", "glGetTexGenxvOES", "glTexGenfOES", "glTexGenfvOES", "glTexGeniOES", "glTexGenivOES", "glTexGenxOES", "glTexGenxvOES", }; static const char* s_GL_OES_vertex_array_object[] = { "glBindVertexArrayOES", "glDeleteVertexArraysOES", "glGenVertexArraysOES", "glIsVertexArrayOES", }; static const char* s_GL_QCOM_driver_control[] = { "glDisableDriverControlQCOM", "glEnableDriverControlQCOM", "glGetDriverControlStringQCOM", "glGetDriverControlsQCOM", }; static const char* s_GL_QCOM_extended_get[] = { "glExtGetBufferPointervQCOM", "glExtGetBuffersQCOM", "glExtGetFramebuffersQCOM", "glExtGetRenderbuffersQCOM", "glExtGetTexLevelParameterivQCOM", "glExtGetTexSubImageQCOM", "glExtGetTexturesQCOM", "glExtTexObjectStateOverrideiQCOM", }; static const char* s_GL_QCOM_extended_get2[] = { "glExtGetProgramBinarySourceQCOM", "glExtGetProgramsQCOM", "glExtGetShadersQCOM", "glExtIsProgramBinaryQCOM", }; static const char* s_GL_QCOM_tiled_rendering[] = { "glEndTilingQCOM", "glStartTilingQCOM", }; static const char* s_GL_AMD_framebuffer_multisample_advanced[] = { "glNamedRenderbufferStorageMultisampleAdvancedAMD", "glRenderbufferStorageMultisampleAdvancedAMD", }; static const char* s_GL_AMD_performance_monitor[] = { "glBeginPerfMonitorAMD", "glDeletePerfMonitorsAMD", "glEndPerfMonitorAMD", "glGenPerfMonitorsAMD", "glGetPerfMonitorCounterDataAMD", "glGetPerfMonitorCounterInfoAMD", "glGetPerfMonitorCounterStringAMD", "glGetPerfMonitorCountersAMD", "glGetPerfMonitorGroupStringAMD", "glGetPerfMonitorGroupsAMD", "glSelectPerfMonitorCountersAMD", }; static const char* s_GL_ANGLE_framebuffer_blit[] = { "glBlitFramebufferANGLE", }; static const char* s_GL_ANGLE_framebuffer_multisample[] = { "glRenderbufferStorageMultisampleANGLE", }; static const char* s_GL_ANGLE_instanced_arrays[] = { "glDrawArraysInstancedANGLE", "glDrawElementsInstancedANGLE", "glVertexAttribDivisorANGLE", }; static const char* s_GL_ANGLE_translated_shader_source[] = { "glGetTranslatedShaderSourceANGLE", }; static const char* s_GL_EXT_EGL_image_storage[] = { "glEGLImageTargetTexStorageEXT", "glEGLImageTargetTextureStorageEXT", }; static const char* s_GL_EXT_base_instance[] = { "glDrawArraysInstancedBaseInstanceEXT", "glDrawElementsInstancedBaseInstanceEXT", "glDrawElementsInstancedBaseVertexBaseInstanceEXT", }; static const char* s_GL_EXT_blend_func_extended[] = { "glBindFragDataLocationEXT", "glBindFragDataLocationIndexedEXT", "glGetFragDataIndexEXT", "glGetProgramResourceLocationIndexEXT", }; static const char* s_GL_EXT_buffer_storage[] = { "glBufferStorageEXT", }; static const char* s_GL_EXT_clear_texture[] = { "glClearTexImageEXT", "glClearTexSubImageEXT", }; static const char* s_GL_EXT_clip_control[] = { "glClipControlEXT", }; static const char* s_GL_EXT_copy_image[] = { "glCopyImageSubDataEXT", }; static const char* s_GL_EXT_debug_label[] = { "glGetObjectLabelEXT", "glLabelObjectEXT", }; static const char* s_GL_EXT_disjoint_timer_query[] = { "glBeginQueryEXT", "glDeleteQueriesEXT", "glEndQueryEXT", "glGenQueriesEXT", "glGetQueryObjecti64vEXT", "glGetQueryObjectivEXT", "glGetQueryObjectui64vEXT", "glGetQueryObjectuivEXT", "glGetQueryivEXT", "glIsQueryEXT", "glQueryCounterEXT", }; static const char* s_GL_EXT_draw_buffers[] = { "glDrawBuffersEXT", }; static const char* s_GL_EXT_draw_buffers_indexed[] = { "glBlendEquationSeparateiEXT", "glBlendEquationiEXT", "glBlendFuncSeparateiEXT", "glBlendFunciEXT", "glColorMaskiEXT", "glDisableiEXT", "glEnableiEXT", "glIsEnablediEXT", }; static const char* s_GL_EXT_draw_elements_base_vertex[] = { "glDrawElementsBaseVertexEXT", "glDrawElementsInstancedBaseVertexEXT", "glDrawRangeElementsBaseVertexEXT", "glMultiDrawElementsBaseVertexEXT", }; static const char* s_GL_EXT_draw_instanced[] = { "glDrawArraysInstancedEXT", "glDrawElementsInstancedEXT", }; static const char* s_GL_EXT_draw_transform_feedback[] = { "glDrawTransformFeedbackEXT", "glDrawTransformFeedbackInstancedEXT", }; static const char* s_GL_EXT_external_buffer[] = { "glBufferStorageExternalEXT", "glNamedBufferStorageExternalEXT", }; static const char* s_GL_EXT_geometry_shader[] = { "glFramebufferTextureEXT", }; static const char* s_GL_EXT_instanced_arrays[] = { "glDrawArraysInstancedEXT", "glDrawElementsInstancedEXT", "glVertexAttribDivisorEXT", }; static const char* s_GL_EXT_memory_object[] = { "glBufferStorageMemEXT", "glCreateMemoryObjectsEXT", "glDeleteMemoryObjectsEXT", "glGetMemoryObjectParameterivEXT", "glGetUnsignedBytevEXT", "glGetUnsignedBytei_vEXT", "glIsMemoryObjectEXT", "glMemoryObjectParameterivEXT", "glNamedBufferStorageMemEXT", "glTexStorageMem2DEXT", "glTexStorageMem2DMultisampleEXT", "glTexStorageMem3DEXT", "glTexStorageMem3DMultisampleEXT", "glTextureStorageMem2DEXT", "glTextureStorageMem2DMultisampleEXT", "glTextureStorageMem3DEXT", "glTextureStorageMem3DMultisampleEXT", }; static const char* s_GL_EXT_memory_object_fd[] = { "glImportMemoryFdEXT", }; static const char* s_GL_EXT_memory_object_win32[] = { "glImportMemoryWin32HandleEXT", "glImportMemoryWin32NameEXT", }; static const char* s_GL_EXT_multi_draw_indirect[] = { "glMultiDrawArraysIndirectEXT", "glMultiDrawElementsIndirectEXT", }; static const char* s_GL_EXT_multiview_draw_buffers[] = { "glDrawBuffersIndexedEXT", "glGetIntegeri_vEXT", "glReadBufferIndexedEXT", }; static const char* s_GL_EXT_occlusion_query_boolean[] = { "glBeginQueryEXT", "glDeleteQueriesEXT", "glEndQueryEXT", "glGenQueriesEXT", "glGetQueryObjectuivEXT", "glGetQueryivEXT", "glIsQueryEXT", }; static const char* s_GL_EXT_polygon_offset_clamp[] = { "glPolygonOffsetClampEXT", }; static const char* s_GL_EXT_primitive_bounding_box[] = { "glPrimitiveBoundingBoxEXT", }; static const char* s_GL_EXT_raster_multisample[] = { "glRasterSamplesEXT", }; static const char* s_GL_EXT_semaphore[] = { "glDeleteSemaphoresEXT", "glGenSemaphoresEXT", "glGetSemaphoreParameterui64vEXT", "glGetUnsignedBytevEXT", "glGetUnsignedBytei_vEXT", "glIsSemaphoreEXT", "glSemaphoreParameterui64vEXT", "glSignalSemaphoreEXT", "glWaitSemaphoreEXT", }; static const char* s_GL_EXT_semaphore_fd[] = { "glImportSemaphoreFdEXT", }; static const char* s_GL_EXT_semaphore_win32[] = { "glImportSemaphoreWin32HandleEXT", "glImportSemaphoreWin32NameEXT", }; static const char* s_GL_EXT_separate_shader_objects[] = { "glActiveShaderProgramEXT", "glBindProgramPipelineEXT", "glCreateShaderProgramvEXT", "glDeleteProgramPipelinesEXT", "glGenProgramPipelinesEXT", "glGetProgramPipelineInfoLogEXT", "glGetProgramPipelineivEXT", "glIsProgramPipelineEXT", "glProgramParameteriEXT", "glProgramUniform1fEXT", "glProgramUniform1fvEXT", "glProgramUniform1iEXT", "glProgramUniform1ivEXT", "glProgramUniform1uiEXT", "glProgramUniform1uivEXT", "glProgramUniform2fEXT", "glProgramUniform2fvEXT", "glProgramUniform2iEXT", "glProgramUniform2ivEXT", "glProgramUniform2uiEXT", "glProgramUniform2uivEXT", "glProgramUniform3fEXT", "glProgramUniform3fvEXT", "glProgramUniform3iEXT", "glProgramUniform3ivEXT", "glProgramUniform3uiEXT", "glProgramUniform3uivEXT", "glProgramUniform4fEXT", "glProgramUniform4fvEXT", "glProgramUniform4iEXT", "glProgramUniform4ivEXT", "glProgramUniform4uiEXT", "glProgramUniform4uivEXT", "glProgramUniformMatrix2fvEXT", "glProgramUniformMatrix2x3fvEXT", "glProgramUniformMatrix2x4fvEXT", "glProgramUniformMatrix3fvEXT", "glProgramUniformMatrix3x2fvEXT", "glProgramUniformMatrix3x4fvEXT", "glProgramUniformMatrix4fvEXT", "glProgramUniformMatrix4x2fvEXT", "glProgramUniformMatrix4x3fvEXT", "glUseProgramStagesEXT", "glValidateProgramPipelineEXT", }; static const char* s_GL_EXT_shader_framebuffer_fetch_non_coherent[] = { "glFramebufferFetchBarrierEXT", }; static const char* s_GL_EXT_shader_pixel_local_storage2[] = { "glClearPixelLocalStorageuiEXT", "glFramebufferPixelLocalStorageSizeEXT", "glGetFramebufferPixelLocalStorageSizeEXT", }; static const char* s_GL_EXT_sparse_texture[] = { "glTexPageCommitmentEXT", }; static const char* s_GL_EXT_tessellation_shader[] = { "glPatchParameteriEXT", }; static const char* s_GL_EXT_texture_border_clamp[] = { "glGetSamplerParameterIivEXT", "glGetSamplerParameterIuivEXT", "glGetTexParameterIivEXT", "glGetTexParameterIuivEXT", "glSamplerParameterIivEXT", "glSamplerParameterIuivEXT", "glTexParameterIivEXT", "glTexParameterIuivEXT", }; static const char* s_GL_EXT_texture_buffer[] = { "glTexBufferEXT", "glTexBufferRangeEXT", }; static const char* s_GL_EXT_texture_view[] = { "glTextureViewEXT", }; static const char* s_GL_EXT_win32_keyed_mutex[] = { "glAcquireKeyedMutexWin32EXT", "glReleaseKeyedMutexWin32EXT", }; static const char* s_GL_EXT_window_rectangles[] = { "glWindowRectanglesEXT", }; static const char* s_GL_IMG_bindless_texture[] = { "glGetTextureHandleIMG", "glGetTextureSamplerHandleIMG", "glProgramUniformHandleui64IMG", "glProgramUniformHandleui64vIMG", "glUniformHandleui64IMG", "glUniformHandleui64vIMG", }; static const char* s_GL_IMG_framebuffer_downsample[] = { "glFramebufferTexture2DDownsampleIMG", "glFramebufferTextureLayerDownsampleIMG", }; static const char* s_GL_INTEL_framebuffer_CMAA[] = { "glApplyFramebufferAttachmentCMAAINTEL", }; static const char* s_GL_INTEL_performance_query[] = { "glBeginPerfQueryINTEL", "glCreatePerfQueryINTEL", "glDeletePerfQueryINTEL", "glEndPerfQueryINTEL", "glGetFirstPerfQueryIdINTEL", "glGetNextPerfQueryIdINTEL", "glGetPerfCounterInfoINTEL", "glGetPerfQueryDataINTEL", "glGetPerfQueryIdByNameINTEL", "glGetPerfQueryInfoINTEL", }; static const char* s_GL_KHR_blend_equation_advanced[] = { "glBlendBarrierKHR", }; static const char* s_GL_KHR_debug[] = { "glDebugMessageCallbackKHR", "glDebugMessageControlKHR", "glDebugMessageInsertKHR", "glGetDebugMessageLogKHR", "glGetObjectLabelKHR", "glGetObjectPtrLabelKHR", "glGetPointervKHR", "glObjectLabelKHR", "glObjectPtrLabelKHR", "glPopDebugGroupKHR", "glPushDebugGroupKHR", }; static const char* s_GL_KHR_robustness[] = { "glGetGraphicsResetStatusKHR", "glGetnUniformfvKHR", "glGetnUniformivKHR", "glGetnUniformuivKHR", "glReadnPixelsKHR", }; static const char* s_GL_KHR_parallel_shader_compile[] = { "glMaxShaderCompilerThreadsKHR", }; static const char* s_GL_NV_bindless_texture[] = { "glGetImageHandleNV", "glGetTextureHandleNV", "glGetTextureSamplerHandleNV", "glIsImageHandleResidentNV", "glIsTextureHandleResidentNV", "glMakeImageHandleNonResidentNV", "glMakeImageHandleResidentNV", "glMakeTextureHandleNonResidentNV", "glMakeTextureHandleResidentNV", "glProgramUniformHandleui64NV", "glProgramUniformHandleui64vNV", "glUniformHandleui64NV", "glUniformHandleui64vNV", }; static const char* s_GL_NV_blend_equation_advanced[] = { "glBlendBarrierNV", "glBlendParameteriNV", }; static const char* s_GL_NV_clip_space_w_scaling[] = { "glViewportPositionWScaleNV", }; static const char* s_GL_NV_conditional_render[] = { "glBeginConditionalRenderNV", "glEndConditionalRenderNV", }; static const char* s_GL_NV_conservative_raster[] = { "glSubpixelPrecisionBiasNV", }; static const char* s_GL_NV_conservative_raster_pre_snap_triangles[] = { "glConservativeRasterParameteriNV", }; static const char* s_GL_NV_copy_buffer[] = { "glCopyBufferSubDataNV", }; static const char* s_GL_NV_coverage_sample[] = { "glCoverageMaskNV", "glCoverageOperationNV", }; static const char* s_GL_NV_draw_buffers[] = { "glDrawBuffersNV", }; static const char* s_GL_NV_draw_instanced[] = { "glDrawArraysInstancedNV", "glDrawElementsInstancedNV", }; static const char* s_GL_NV_draw_vulkan_image[] = { "glDrawVkImageNV", "glGetVkProcAddrNV", "glWaitVkSemaphoreNV", "glSignalVkSemaphoreNV", "glSignalVkFenceNV", }; static const char* s_GL_NV_fragment_coverage_to_color[] = { "glFragmentCoverageColorNV", }; static const char* s_GL_NV_framebuffer_blit[] = { "glBlitFramebufferNV", }; static const char* s_GL_NV_framebuffer_mixed_samples[] = { "glCoverageModulationNV", "glCoverageModulationTableNV", "glGetCoverageModulationTableNV", "glRasterSamplesEXT", }; static const char* s_GL_NV_framebuffer_multisample[] = { "glRenderbufferStorageMultisampleNV", }; static const char* s_GL_NV_gpu_shader5[] = { "glGetUniformi64vNV", "glProgramUniform1i64NV", "glProgramUniform1i64vNV", "glProgramUniform1ui64NV", "glProgramUniform1ui64vNV", "glProgramUniform2i64NV", "glProgramUniform2i64vNV", "glProgramUniform2ui64NV", "glProgramUniform2ui64vNV", "glProgramUniform3i64NV", "glProgramUniform3i64vNV", "glProgramUniform3ui64NV", "glProgramUniform3ui64vNV", "glProgramUniform4i64NV", "glProgramUniform4i64vNV", "glProgramUniform4ui64NV", "glProgramUniform4ui64vNV", "glUniform1i64NV", "glUniform1i64vNV", "glUniform1ui64NV", "glUniform1ui64vNV", "glUniform2i64NV", "glUniform2i64vNV", "glUniform2ui64NV", "glUniform2ui64vNV", "glUniform3i64NV", "glUniform3i64vNV", "glUniform3ui64NV", "glUniform3ui64vNV", "glUniform4i64NV", "glUniform4i64vNV", "glUniform4ui64NV", "glUniform4ui64vNV", }; static const char* s_GL_NV_instanced_arrays[] = { "glVertexAttribDivisorNV", }; static const char* s_GL_NV_internalformat_sample_query[] = { "glGetInternalformatSampleivNV", }; static const char* s_GL_NV_memory_attachment[] = { "glBufferAttachMemoryNV", "glGetMemoryObjectDetachedResourcesuivNV", "glNamedBufferAttachMemoryNV", "glResetMemoryObjectParameterNV", "glTexAttachMemoryNV", "glTextureAttachMemoryNV", }; static const char* s_GL_NV_mesh_shader[] = { "glDrawMeshTasksNV", "glDrawMeshTasksIndirectNV", "glMultiDrawMeshTasksIndirectNV", "glMultiDrawMeshTasksIndirectCountNV", }; static const char* s_GL_NV_non_square_matrices[] = { "glUniformMatrix2x3fvNV", "glUniformMatrix2x4fvNV", "glUniformMatrix3x2fvNV", "glUniformMatrix3x4fvNV", "glUniformMatrix4x2fvNV", "glUniformMatrix4x3fvNV", }; static const char* s_GL_NV_path_rendering[] = { "glCopyPathNV", "glCoverFillPathInstancedNV", "glCoverFillPathNV", "glCoverStrokePathInstancedNV", "glCoverStrokePathNV", "glDeletePathsNV", "glGenPathsNV", "glGetPathCommandsNV", "glGetPathCoordsNV", "glGetPathDashArrayNV", "glGetPathLengthNV", "glGetPathMetricRangeNV", "glGetPathMetricsNV", "glGetPathParameterfvNV", "glGetPathParameterivNV", "glGetPathSpacingNV", "glGetProgramResourcefvNV", "glInterpolatePathsNV", "glIsPathNV", "glIsPointInFillPathNV", "glIsPointInStrokePathNV", "glMatrixFrustumEXT", "glMatrixLoad3x2fNV", "glMatrixLoad3x3fNV", "glMatrixLoadIdentityEXT", "glMatrixLoadTranspose3x3fNV", "glMatrixLoadTransposedEXT", "glMatrixLoadTransposefEXT", "glMatrixLoaddEXT", "glMatrixLoadfEXT", "glMatrixMult3x2fNV", "glMatrixMult3x3fNV", "glMatrixMultTranspose3x3fNV", "glMatrixMultTransposedEXT", "glMatrixMultTransposefEXT", "glMatrixMultdEXT", "glMatrixMultfEXT", "glMatrixOrthoEXT", "glMatrixPopEXT", "glMatrixPushEXT", "glMatrixRotatedEXT", "glMatrixRotatefEXT", "glMatrixScaledEXT", "glMatrixScalefEXT", "glMatrixTranslatedEXT", "glMatrixTranslatefEXT", "glPathCommandsNV", "glPathCoordsNV", "glPathCoverDepthFuncNV", "glPathDashArrayNV", "glPathGlyphIndexArrayNV", "glPathGlyphIndexRangeNV", "glPathGlyphRangeNV", "glPathGlyphsNV", "glPathMemoryGlyphIndexArrayNV", "glPathParameterfNV", "glPathParameterfvNV", "glPathParameteriNV", "glPathParameterivNV", "glPathStencilDepthOffsetNV", "glPathStencilFuncNV", "glPathStringNV", "glPathSubCommandsNV", "glPathSubCoordsNV", "glPointAlongPathNV", "glProgramPathFragmentInputGenNV", "glStencilFillPathInstancedNV", "glStencilFillPathNV", "glStencilStrokePathInstancedNV", "glStencilStrokePathNV", "glStencilThenCoverFillPathInstancedNV", "glStencilThenCoverFillPathNV", "glStencilThenCoverStrokePathInstancedNV", "glStencilThenCoverStrokePathNV", "glTransformPathNV", "glWeightPathsNV", }; static const char* s_GL_NV_polygon_mode[] = { "glPolygonModeNV", }; static const char* s_GL_NV_read_buffer[] = { "glReadBufferNV", }; static const char* s_GL_NV_sample_locations[] = { "glFramebufferSampleLocationsfvNV", "glNamedFramebufferSampleLocationsfvNV", "glResolveDepthValuesNV", }; static const char* s_GL_NV_scissor_exclusive[] = { "glScissorExclusiveArrayvNV", "glScissorExclusiveNV", }; static const char* s_GL_NV_shading_rate_image[] = { "glBindShadingRateImageNV", "glGetShadingRateImagePaletteNV", "glGetShadingRateSampleLocationivNV", "glShadingRateImageBarrierNV", "glShadingRateImagePaletteNV", "glShadingRateSampleOrderNV", "glShadingRateSampleOrderCustomNV", }; static const char* s_GL_NV_viewport_array[] = { "glDepthRangeArrayfvNV", "glDepthRangeIndexedfNV", "glDisableiNV", "glEnableiNV", "glGetFloati_vNV", "glIsEnablediNV", "glScissorArrayvNV", "glScissorIndexedNV", "glScissorIndexedvNV", "glViewportArrayvNV", "glViewportIndexedfNV", "glViewportIndexedfvNV", }; static const char* s_GL_NV_viewport_swizzle[] = { "glViewportSwizzleNV", }; static const char* s_GL_OES_copy_image[] = { "glCopyImageSubDataOES", }; static const char* s_GL_OES_draw_buffers_indexed[] = { "glBlendEquationSeparateiOES", "glBlendEquationiOES", "glBlendFuncSeparateiOES", "glBlendFunciOES", "glColorMaskiOES", "glDisableiOES", "glEnableiOES", "glIsEnablediOES", }; static const char* s_GL_OES_draw_elements_base_vertex[] = { "glDrawElementsBaseVertexOES", "glDrawElementsInstancedBaseVertexOES", "glDrawRangeElementsBaseVertexOES", "glMultiDrawElementsBaseVertexEXT", }; static const char* s_GL_OES_geometry_shader[] = { "glFramebufferTextureOES", }; static const char* s_GL_OES_get_program_binary[] = { "glGetProgramBinaryOES", "glProgramBinaryOES", }; static const char* s_GL_OES_primitive_bounding_box[] = { "glPrimitiveBoundingBoxOES", }; static const char* s_GL_OES_sample_shading[] = { "glMinSampleShadingOES", }; static const char* s_GL_OES_tessellation_shader[] = { "glPatchParameteriOES", }; static const char* s_GL_OES_texture_3D[] = { "glCompressedTexImage3DOES", "glCompressedTexSubImage3DOES", "glCopyTexSubImage3DOES", "glFramebufferTexture3DOES", "glTexImage3DOES", "glTexSubImage3DOES", }; static const char* s_GL_OES_texture_border_clamp[] = { "glGetSamplerParameterIivOES", "glGetSamplerParameterIuivOES", "glGetTexParameterIivOES", "glGetTexParameterIuivOES", "glSamplerParameterIivOES", "glSamplerParameterIuivOES", "glTexParameterIivOES", "glTexParameterIuivOES", }; static const char* s_GL_OES_texture_buffer[] = { "glTexBufferOES", "glTexBufferRangeOES", }; static const char* s_GL_OES_texture_storage_multisample_2d_array[] = { "glTexStorage3DMultisampleOES", }; static const char* s_GL_OES_texture_view[] = { "glTextureViewOES", }; static const char* s_GL_OES_viewport_array[] = { "glDepthRangeArrayfvOES", "glDepthRangeIndexedfOES", "glDisableiOES", "glEnableiOES", "glGetFloati_vOES", "glIsEnablediOES", "glScissorArrayvOES", "glScissorIndexedOES", "glScissorIndexedvOES", "glViewportArrayvOES", "glViewportIndexedfOES", "glViewportIndexedfvOES", }; static const char* s_GL_OVR_multiview[] = { "glFramebufferTextureMultiviewOVR", }; static const char* s_GL_OVR_multiview_multisampled_render_to_texture[] = { "glFramebufferTextureMultisampleMultiviewOVR", }; static const char* s_GL_QCOM_alpha_test[] = { "glAlphaFuncQCOM", }; static const char* s_GL_QCOM_framebuffer_foveated[] = { "glFramebufferFoveationConfigQCOM", "glFramebufferFoveationParametersQCOM", }; static const char* s_GL_QCOM_texture_foveated[] = { "glTextureFoveationParametersQCOM", }; static const char* s_GL_QCOM_shader_framebuffer_fetch_noncoherent[] = { "glFramebufferFetchBarrierQCOM", }; static const struct { const char* name; const int numFunctions; const char* const* functions; } s_extensions[] = { { "EGL_ANDROID_blob_cache", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_blob_cache), s_EGL_ANDROID_blob_cache }, { "EGL_ANDROID_create_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_create_native_client_buffer), s_EGL_ANDROID_create_native_client_buffer }, { "EGL_ANDROID_get_native_client_buffer", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_native_client_buffer), s_EGL_ANDROID_get_native_client_buffer }, { "EGL_ANDROID_native_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_native_fence_sync), s_EGL_ANDROID_native_fence_sync }, { "EGL_ANDROID_presentation_time", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_presentation_time), s_EGL_ANDROID_presentation_time }, { "EGL_ANDROID_get_frame_timestamps", DE_LENGTH_OF_ARRAY(s_EGL_ANDROID_get_frame_timestamps), s_EGL_ANDROID_get_frame_timestamps }, { "EGL_ANGLE_query_surface_pointer", DE_LENGTH_OF_ARRAY(s_EGL_ANGLE_query_surface_pointer), s_EGL_ANGLE_query_surface_pointer }, { "EGL_EXT_client_sync", DE_LENGTH_OF_ARRAY(s_EGL_EXT_client_sync), s_EGL_EXT_client_sync }, { "EGL_EXT_device_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_base), s_EGL_EXT_device_base }, { "EGL_EXT_device_enumeration", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_enumeration), s_EGL_EXT_device_enumeration }, { "EGL_EXT_device_query", DE_LENGTH_OF_ARRAY(s_EGL_EXT_device_query), s_EGL_EXT_device_query }, { "EGL_EXT_image_dma_buf_import_modifiers", DE_LENGTH_OF_ARRAY(s_EGL_EXT_image_dma_buf_import_modifiers), s_EGL_EXT_image_dma_buf_import_modifiers }, { "EGL_EXT_output_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_output_base), s_EGL_EXT_output_base }, { "EGL_EXT_platform_base", DE_LENGTH_OF_ARRAY(s_EGL_EXT_platform_base), s_EGL_EXT_platform_base }, { "EGL_EXT_stream_consumer_egloutput", DE_LENGTH_OF_ARRAY(s_EGL_EXT_stream_consumer_egloutput), s_EGL_EXT_stream_consumer_egloutput }, { "EGL_EXT_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_EXT_swap_buffers_with_damage), s_EGL_EXT_swap_buffers_with_damage }, { "EGL_EXT_sync_reuse", DE_LENGTH_OF_ARRAY(s_EGL_EXT_sync_reuse), s_EGL_EXT_sync_reuse }, { "EGL_HI_clientpixmap", DE_LENGTH_OF_ARRAY(s_EGL_HI_clientpixmap), s_EGL_HI_clientpixmap }, { "EGL_KHR_cl_event2", DE_LENGTH_OF_ARRAY(s_EGL_KHR_cl_event2), s_EGL_KHR_cl_event2 }, { "EGL_KHR_debug", DE_LENGTH_OF_ARRAY(s_EGL_KHR_debug), s_EGL_KHR_debug }, { "EGL_KHR_display_reference", DE_LENGTH_OF_ARRAY(s_EGL_KHR_display_reference), s_EGL_KHR_display_reference }, { "EGL_KHR_fence_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_fence_sync), s_EGL_KHR_fence_sync }, { "EGL_KHR_image", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image), s_EGL_KHR_image }, { "EGL_KHR_image_base", DE_LENGTH_OF_ARRAY(s_EGL_KHR_image_base), s_EGL_KHR_image_base }, { "EGL_KHR_lock_surface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface), s_EGL_KHR_lock_surface }, { "EGL_KHR_lock_surface3", DE_LENGTH_OF_ARRAY(s_EGL_KHR_lock_surface3), s_EGL_KHR_lock_surface3 }, { "EGL_KHR_partial_update", DE_LENGTH_OF_ARRAY(s_EGL_KHR_partial_update), s_EGL_KHR_partial_update }, { "EGL_KHR_reusable_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_reusable_sync), s_EGL_KHR_reusable_sync }, { "EGL_KHR_stream", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream), s_EGL_KHR_stream }, { "EGL_KHR_stream_attrib", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_attrib), s_EGL_KHR_stream_attrib }, { "EGL_KHR_stream_consumer_gltexture", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_consumer_gltexture), s_EGL_KHR_stream_consumer_gltexture }, { "EGL_KHR_stream_cross_process_fd", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_cross_process_fd), s_EGL_KHR_stream_cross_process_fd }, { "EGL_KHR_stream_fifo", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_fifo), s_EGL_KHR_stream_fifo }, { "EGL_KHR_stream_producer_eglsurface", DE_LENGTH_OF_ARRAY(s_EGL_KHR_stream_producer_eglsurface), s_EGL_KHR_stream_producer_eglsurface }, { "EGL_KHR_swap_buffers_with_damage", DE_LENGTH_OF_ARRAY(s_EGL_KHR_swap_buffers_with_damage), s_EGL_KHR_swap_buffers_with_damage }, { "EGL_KHR_wait_sync", DE_LENGTH_OF_ARRAY(s_EGL_KHR_wait_sync), s_EGL_KHR_wait_sync }, { "EGL_MESA_drm_image", DE_LENGTH_OF_ARRAY(s_EGL_MESA_drm_image), s_EGL_MESA_drm_image }, { "EGL_MESA_image_dma_buf_export", DE_LENGTH_OF_ARRAY(s_EGL_MESA_image_dma_buf_export), s_EGL_MESA_image_dma_buf_export }, { "EGL_NOK_swap_region", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region), s_EGL_NOK_swap_region }, { "EGL_NOK_swap_region2", DE_LENGTH_OF_ARRAY(s_EGL_NOK_swap_region2), s_EGL_NOK_swap_region2 }, { "EGL_NV_native_query", DE_LENGTH_OF_ARRAY(s_EGL_NV_native_query), s_EGL_NV_native_query }, { "EGL_NV_post_sub_buffer", DE_LENGTH_OF_ARRAY(s_EGL_NV_post_sub_buffer), s_EGL_NV_post_sub_buffer }, { "EGL_NV_stream_consumer_gltexture_yuv", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_consumer_gltexture_yuv), s_EGL_NV_stream_consumer_gltexture_yuv }, { "EGL_NV_stream_flush", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_flush), s_EGL_NV_stream_flush }, { "EGL_NV_stream_metadata", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_metadata), s_EGL_NV_stream_metadata }, { "EGL_NV_stream_reset", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_reset), s_EGL_NV_stream_reset }, { "EGL_NV_stream_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_stream_sync), s_EGL_NV_stream_sync }, { "EGL_NV_sync", DE_LENGTH_OF_ARRAY(s_EGL_NV_sync), s_EGL_NV_sync }, { "EGL_NV_system_time", DE_LENGTH_OF_ARRAY(s_EGL_NV_system_time), s_EGL_NV_system_time }, { "EGL_EXT_compositor", DE_LENGTH_OF_ARRAY(s_EGL_EXT_compositor), s_EGL_EXT_compositor }, { "GL_APPLE_copy_texture_levels", DE_LENGTH_OF_ARRAY(s_GL_APPLE_copy_texture_levels), s_GL_APPLE_copy_texture_levels }, { "GL_APPLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_APPLE_framebuffer_multisample), s_GL_APPLE_framebuffer_multisample }, { "GL_APPLE_sync", DE_LENGTH_OF_ARRAY(s_GL_APPLE_sync), s_GL_APPLE_sync }, { "GL_EXT_debug_marker", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_marker), s_GL_EXT_debug_marker }, { "GL_EXT_discard_framebuffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_discard_framebuffer), s_GL_EXT_discard_framebuffer }, { "GL_EXT_map_buffer_range", DE_LENGTH_OF_ARRAY(s_GL_EXT_map_buffer_range), s_GL_EXT_map_buffer_range }, { "GL_EXT_multi_draw_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_arrays), s_GL_EXT_multi_draw_arrays }, { "GL_EXT_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_multisampled_render_to_texture), s_GL_EXT_multisampled_render_to_texture }, { "GL_EXT_robustness", DE_LENGTH_OF_ARRAY(s_GL_EXT_robustness), s_GL_EXT_robustness }, { "GL_EXT_texture_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_storage), s_GL_EXT_texture_storage }, { "GL_IMG_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_multisampled_render_to_texture), s_GL_IMG_multisampled_render_to_texture }, { "GL_IMG_user_clip_plane", DE_LENGTH_OF_ARRAY(s_GL_IMG_user_clip_plane), s_GL_IMG_user_clip_plane }, { "GL_NV_fence", DE_LENGTH_OF_ARRAY(s_GL_NV_fence), s_GL_NV_fence }, { "GL_OES_EGL_image", DE_LENGTH_OF_ARRAY(s_GL_OES_EGL_image), s_GL_OES_EGL_image }, { "GL_OES_blend_equation_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_equation_separate), s_GL_OES_blend_equation_separate }, { "GL_OES_blend_func_separate", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_func_separate), s_GL_OES_blend_func_separate }, { "GL_OES_blend_subtract", DE_LENGTH_OF_ARRAY(s_GL_OES_blend_subtract), s_GL_OES_blend_subtract }, { "GL_OES_draw_texture", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_texture), s_GL_OES_draw_texture }, { "GL_OES_fixed_point", DE_LENGTH_OF_ARRAY(s_GL_OES_fixed_point), s_GL_OES_fixed_point }, { "GL_OES_framebuffer_object", DE_LENGTH_OF_ARRAY(s_GL_OES_framebuffer_object), s_GL_OES_framebuffer_object }, { "GL_OES_mapbuffer", DE_LENGTH_OF_ARRAY(s_GL_OES_mapbuffer), s_GL_OES_mapbuffer }, { "GL_OES_matrix_palette", DE_LENGTH_OF_ARRAY(s_GL_OES_matrix_palette), s_GL_OES_matrix_palette }, { "GL_OES_point_size_array", DE_LENGTH_OF_ARRAY(s_GL_OES_point_size_array), s_GL_OES_point_size_array }, { "GL_OES_query_matrix", DE_LENGTH_OF_ARRAY(s_GL_OES_query_matrix), s_GL_OES_query_matrix }, { "GL_OES_single_precision", DE_LENGTH_OF_ARRAY(s_GL_OES_single_precision), s_GL_OES_single_precision }, { "GL_OES_texture_cube_map", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_cube_map), s_GL_OES_texture_cube_map }, { "GL_OES_vertex_array_object", DE_LENGTH_OF_ARRAY(s_GL_OES_vertex_array_object), s_GL_OES_vertex_array_object }, { "GL_QCOM_driver_control", DE_LENGTH_OF_ARRAY(s_GL_QCOM_driver_control), s_GL_QCOM_driver_control }, { "GL_QCOM_extended_get", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get), s_GL_QCOM_extended_get }, { "GL_QCOM_extended_get2", DE_LENGTH_OF_ARRAY(s_GL_QCOM_extended_get2), s_GL_QCOM_extended_get2 }, { "GL_QCOM_tiled_rendering", DE_LENGTH_OF_ARRAY(s_GL_QCOM_tiled_rendering), s_GL_QCOM_tiled_rendering }, { "GL_AMD_framebuffer_multisample_advanced", DE_LENGTH_OF_ARRAY(s_GL_AMD_framebuffer_multisample_advanced), s_GL_AMD_framebuffer_multisample_advanced }, { "GL_AMD_performance_monitor", DE_LENGTH_OF_ARRAY(s_GL_AMD_performance_monitor), s_GL_AMD_performance_monitor }, { "GL_ANGLE_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_blit), s_GL_ANGLE_framebuffer_blit }, { "GL_ANGLE_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_framebuffer_multisample), s_GL_ANGLE_framebuffer_multisample }, { "GL_ANGLE_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_instanced_arrays), s_GL_ANGLE_instanced_arrays }, { "GL_ANGLE_translated_shader_source", DE_LENGTH_OF_ARRAY(s_GL_ANGLE_translated_shader_source), s_GL_ANGLE_translated_shader_source }, { "GL_EXT_EGL_image_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_EGL_image_storage), s_GL_EXT_EGL_image_storage }, { "GL_EXT_base_instance", DE_LENGTH_OF_ARRAY(s_GL_EXT_base_instance), s_GL_EXT_base_instance }, { "GL_EXT_blend_func_extended", DE_LENGTH_OF_ARRAY(s_GL_EXT_blend_func_extended), s_GL_EXT_blend_func_extended }, { "GL_EXT_buffer_storage", DE_LENGTH_OF_ARRAY(s_GL_EXT_buffer_storage), s_GL_EXT_buffer_storage }, { "GL_EXT_clear_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_clear_texture), s_GL_EXT_clear_texture }, { "GL_EXT_clip_control", DE_LENGTH_OF_ARRAY(s_GL_EXT_clip_control), s_GL_EXT_clip_control }, { "GL_EXT_copy_image", DE_LENGTH_OF_ARRAY(s_GL_EXT_copy_image), s_GL_EXT_copy_image }, { "GL_EXT_debug_label", DE_LENGTH_OF_ARRAY(s_GL_EXT_debug_label), s_GL_EXT_debug_label }, { "GL_EXT_disjoint_timer_query", DE_LENGTH_OF_ARRAY(s_GL_EXT_disjoint_timer_query), s_GL_EXT_disjoint_timer_query }, { "GL_EXT_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers), s_GL_EXT_draw_buffers }, { "GL_EXT_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_buffers_indexed), s_GL_EXT_draw_buffers_indexed }, { "GL_EXT_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_elements_base_vertex), s_GL_EXT_draw_elements_base_vertex }, { "GL_EXT_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_instanced), s_GL_EXT_draw_instanced }, { "GL_EXT_draw_transform_feedback", DE_LENGTH_OF_ARRAY(s_GL_EXT_draw_transform_feedback), s_GL_EXT_draw_transform_feedback }, { "GL_EXT_external_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_external_buffer), s_GL_EXT_external_buffer }, { "GL_EXT_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_geometry_shader), s_GL_EXT_geometry_shader }, { "GL_EXT_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_EXT_instanced_arrays), s_GL_EXT_instanced_arrays }, { "GL_EXT_memory_object", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object), s_GL_EXT_memory_object }, { "GL_EXT_memory_object_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_fd), s_GL_EXT_memory_object_fd }, { "GL_EXT_memory_object_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_memory_object_win32), s_GL_EXT_memory_object_win32 }, { "GL_EXT_multi_draw_indirect", DE_LENGTH_OF_ARRAY(s_GL_EXT_multi_draw_indirect), s_GL_EXT_multi_draw_indirect }, { "GL_EXT_multiview_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_EXT_multiview_draw_buffers), s_GL_EXT_multiview_draw_buffers }, { "GL_EXT_occlusion_query_boolean", DE_LENGTH_OF_ARRAY(s_GL_EXT_occlusion_query_boolean), s_GL_EXT_occlusion_query_boolean }, { "GL_EXT_polygon_offset_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_polygon_offset_clamp), s_GL_EXT_polygon_offset_clamp }, { "GL_EXT_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_EXT_primitive_bounding_box), s_GL_EXT_primitive_bounding_box }, { "GL_EXT_raster_multisample", DE_LENGTH_OF_ARRAY(s_GL_EXT_raster_multisample), s_GL_EXT_raster_multisample }, { "GL_EXT_semaphore", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore), s_GL_EXT_semaphore }, { "GL_EXT_semaphore_fd", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_fd), s_GL_EXT_semaphore_fd }, { "GL_EXT_semaphore_win32", DE_LENGTH_OF_ARRAY(s_GL_EXT_semaphore_win32), s_GL_EXT_semaphore_win32 }, { "GL_EXT_separate_shader_objects", DE_LENGTH_OF_ARRAY(s_GL_EXT_separate_shader_objects), s_GL_EXT_separate_shader_objects }, { "GL_EXT_shader_framebuffer_fetch_non_coherent", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_framebuffer_fetch_non_coherent), s_GL_EXT_shader_framebuffer_fetch_non_coherent }, { "GL_EXT_shader_pixel_local_storage2", DE_LENGTH_OF_ARRAY(s_GL_EXT_shader_pixel_local_storage2), s_GL_EXT_shader_pixel_local_storage2 }, { "GL_EXT_sparse_texture", DE_LENGTH_OF_ARRAY(s_GL_EXT_sparse_texture), s_GL_EXT_sparse_texture }, { "GL_EXT_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_EXT_tessellation_shader), s_GL_EXT_tessellation_shader }, { "GL_EXT_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_border_clamp), s_GL_EXT_texture_border_clamp }, { "GL_EXT_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_buffer), s_GL_EXT_texture_buffer }, { "GL_EXT_texture_view", DE_LENGTH_OF_ARRAY(s_GL_EXT_texture_view), s_GL_EXT_texture_view }, { "GL_EXT_win32_keyed_mutex", DE_LENGTH_OF_ARRAY(s_GL_EXT_win32_keyed_mutex), s_GL_EXT_win32_keyed_mutex }, { "GL_EXT_window_rectangles", DE_LENGTH_OF_ARRAY(s_GL_EXT_window_rectangles), s_GL_EXT_window_rectangles }, { "GL_IMG_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_IMG_bindless_texture), s_GL_IMG_bindless_texture }, { "GL_IMG_framebuffer_downsample", DE_LENGTH_OF_ARRAY(s_GL_IMG_framebuffer_downsample), s_GL_IMG_framebuffer_downsample }, { "GL_INTEL_framebuffer_CMAA", DE_LENGTH_OF_ARRAY(s_GL_INTEL_framebuffer_CMAA), s_GL_INTEL_framebuffer_CMAA }, { "GL_INTEL_performance_query", DE_LENGTH_OF_ARRAY(s_GL_INTEL_performance_query), s_GL_INTEL_performance_query }, { "GL_KHR_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_KHR_blend_equation_advanced), s_GL_KHR_blend_equation_advanced }, { "GL_KHR_debug", DE_LENGTH_OF_ARRAY(s_GL_KHR_debug), s_GL_KHR_debug }, { "GL_KHR_robustness", DE_LENGTH_OF_ARRAY(s_GL_KHR_robustness), s_GL_KHR_robustness }, { "GL_KHR_parallel_shader_compile", DE_LENGTH_OF_ARRAY(s_GL_KHR_parallel_shader_compile), s_GL_KHR_parallel_shader_compile }, { "GL_NV_bindless_texture", DE_LENGTH_OF_ARRAY(s_GL_NV_bindless_texture), s_GL_NV_bindless_texture }, { "GL_NV_blend_equation_advanced", DE_LENGTH_OF_ARRAY(s_GL_NV_blend_equation_advanced), s_GL_NV_blend_equation_advanced }, { "GL_NV_clip_space_w_scaling", DE_LENGTH_OF_ARRAY(s_GL_NV_clip_space_w_scaling), s_GL_NV_clip_space_w_scaling }, { "GL_NV_conditional_render", DE_LENGTH_OF_ARRAY(s_GL_NV_conditional_render), s_GL_NV_conditional_render }, { "GL_NV_conservative_raster", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster), s_GL_NV_conservative_raster }, { "GL_NV_conservative_raster_pre_snap_triangles", DE_LENGTH_OF_ARRAY(s_GL_NV_conservative_raster_pre_snap_triangles), s_GL_NV_conservative_raster_pre_snap_triangles }, { "GL_NV_copy_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_copy_buffer), s_GL_NV_copy_buffer }, { "GL_NV_coverage_sample", DE_LENGTH_OF_ARRAY(s_GL_NV_coverage_sample), s_GL_NV_coverage_sample }, { "GL_NV_draw_buffers", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_buffers), s_GL_NV_draw_buffers }, { "GL_NV_draw_instanced", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_instanced), s_GL_NV_draw_instanced }, { "GL_NV_draw_vulkan_image", DE_LENGTH_OF_ARRAY(s_GL_NV_draw_vulkan_image), s_GL_NV_draw_vulkan_image }, { "GL_NV_fragment_coverage_to_color", DE_LENGTH_OF_ARRAY(s_GL_NV_fragment_coverage_to_color), s_GL_NV_fragment_coverage_to_color }, { "GL_NV_framebuffer_blit", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_blit), s_GL_NV_framebuffer_blit }, { "GL_NV_framebuffer_mixed_samples", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_mixed_samples), s_GL_NV_framebuffer_mixed_samples }, { "GL_NV_framebuffer_multisample", DE_LENGTH_OF_ARRAY(s_GL_NV_framebuffer_multisample), s_GL_NV_framebuffer_multisample }, { "GL_NV_gpu_shader5", DE_LENGTH_OF_ARRAY(s_GL_NV_gpu_shader5), s_GL_NV_gpu_shader5 }, { "GL_NV_instanced_arrays", DE_LENGTH_OF_ARRAY(s_GL_NV_instanced_arrays), s_GL_NV_instanced_arrays }, { "GL_NV_internalformat_sample_query", DE_LENGTH_OF_ARRAY(s_GL_NV_internalformat_sample_query), s_GL_NV_internalformat_sample_query }, { "GL_NV_memory_attachment", DE_LENGTH_OF_ARRAY(s_GL_NV_memory_attachment), s_GL_NV_memory_attachment }, { "GL_NV_mesh_shader", DE_LENGTH_OF_ARRAY(s_GL_NV_mesh_shader), s_GL_NV_mesh_shader }, { "GL_NV_non_square_matrices", DE_LENGTH_OF_ARRAY(s_GL_NV_non_square_matrices), s_GL_NV_non_square_matrices }, { "GL_NV_path_rendering", DE_LENGTH_OF_ARRAY(s_GL_NV_path_rendering), s_GL_NV_path_rendering }, { "GL_NV_polygon_mode", DE_LENGTH_OF_ARRAY(s_GL_NV_polygon_mode), s_GL_NV_polygon_mode }, { "GL_NV_read_buffer", DE_LENGTH_OF_ARRAY(s_GL_NV_read_buffer), s_GL_NV_read_buffer }, { "GL_NV_sample_locations", DE_LENGTH_OF_ARRAY(s_GL_NV_sample_locations), s_GL_NV_sample_locations }, { "GL_NV_scissor_exclusive", DE_LENGTH_OF_ARRAY(s_GL_NV_scissor_exclusive), s_GL_NV_scissor_exclusive }, { "GL_NV_shading_rate_image", DE_LENGTH_OF_ARRAY(s_GL_NV_shading_rate_image), s_GL_NV_shading_rate_image }, { "GL_NV_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_array), s_GL_NV_viewport_array }, { "GL_NV_viewport_swizzle", DE_LENGTH_OF_ARRAY(s_GL_NV_viewport_swizzle), s_GL_NV_viewport_swizzle }, { "GL_OES_copy_image", DE_LENGTH_OF_ARRAY(s_GL_OES_copy_image), s_GL_OES_copy_image }, { "GL_OES_draw_buffers_indexed", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_buffers_indexed), s_GL_OES_draw_buffers_indexed }, { "GL_OES_draw_elements_base_vertex", DE_LENGTH_OF_ARRAY(s_GL_OES_draw_elements_base_vertex), s_GL_OES_draw_elements_base_vertex }, { "GL_OES_geometry_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_geometry_shader), s_GL_OES_geometry_shader }, { "GL_OES_get_program_binary", DE_LENGTH_OF_ARRAY(s_GL_OES_get_program_binary), s_GL_OES_get_program_binary }, { "GL_OES_primitive_bounding_box", DE_LENGTH_OF_ARRAY(s_GL_OES_primitive_bounding_box), s_GL_OES_primitive_bounding_box }, { "GL_OES_sample_shading", DE_LENGTH_OF_ARRAY(s_GL_OES_sample_shading), s_GL_OES_sample_shading }, { "GL_OES_tessellation_shader", DE_LENGTH_OF_ARRAY(s_GL_OES_tessellation_shader), s_GL_OES_tessellation_shader }, { "GL_OES_texture_3D", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_3D), s_GL_OES_texture_3D }, { "GL_OES_texture_border_clamp", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_border_clamp), s_GL_OES_texture_border_clamp }, { "GL_OES_texture_buffer", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_buffer), s_GL_OES_texture_buffer }, { "GL_OES_texture_storage_multisample_2d_array", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_storage_multisample_2d_array), s_GL_OES_texture_storage_multisample_2d_array }, { "GL_OES_texture_view", DE_LENGTH_OF_ARRAY(s_GL_OES_texture_view), s_GL_OES_texture_view }, { "GL_OES_viewport_array", DE_LENGTH_OF_ARRAY(s_GL_OES_viewport_array), s_GL_OES_viewport_array }, { "GL_OVR_multiview", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview), s_GL_OVR_multiview }, { "GL_OVR_multiview_multisampled_render_to_texture", DE_LENGTH_OF_ARRAY(s_GL_OVR_multiview_multisampled_render_to_texture), s_GL_OVR_multiview_multisampled_render_to_texture }, { "GL_QCOM_alpha_test", DE_LENGTH_OF_ARRAY(s_GL_QCOM_alpha_test), s_GL_QCOM_alpha_test }, { "GL_QCOM_framebuffer_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_framebuffer_foveated), s_GL_QCOM_framebuffer_foveated }, { "GL_QCOM_texture_foveated", DE_LENGTH_OF_ARRAY(s_GL_QCOM_texture_foveated), s_GL_QCOM_texture_foveated }, { "GL_QCOM_shader_framebuffer_fetch_noncoherent", DE_LENGTH_OF_ARRAY(s_GL_QCOM_shader_framebuffer_fetch_noncoherent), s_GL_QCOM_shader_framebuffer_fetch_noncoherent }, };