| /* 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_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_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_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_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_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_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 }, |
| }; |