# Print defined gl.* functions not in GL ES 1.1 or in
# (FIXME, none of these should be part of the ABI)
-# GL_EXT_discard_framebuffer
-# GL_OES_fixed_point
-# GL_OES_single_precision
+# GL_EXT_multi_draw_arrays
+# GL_OES_EGL_image
# or in extensions that are part of the ES 1.1 extension pack.
# (see http://www.khronos.org/registry/gles/specs/1.1/opengles_spec_1_1_extension_pack.pdf)
glActiveTexture
glAlphaFunc
glAlphaFuncx
-glAlphaFuncxOES
glBindBuffer
-glBindFramebufferOES
-glBindRenderbufferOES
glBindTexture
-glBlendEquationOES
-glBlendEquationSeparateOES
glBlendFunc
-glBlendFuncSeparateOES
glBufferData
glBufferSubData
-glCheckFramebufferStatusOES
glClear
glClearColor
glClearColorx
-glClearColorxOES
glClearDepthf
-glClearDepthfOES
glClearDepthx
-glClearDepthxOES
glClearStencil
glClientActiveTexture
glClipPlanef
-glClipPlanefOES
glClipPlanex
-glClipPlanexOES
glColor4f
glColor4ub
glColor4x
-glColor4xOES
glColorMask
glColorPointer
glCompressedTexImage2D
glCopyTexSubImage2D
glCullFace
glDeleteBuffers
-glDeleteFramebuffersOES
-glDeleteRenderbuffersOES
glDeleteTextures
glDepthFunc
glDepthMask
glDepthRangef
-glDepthRangefOES
glDepthRangex
-glDepthRangexOES
glDisable
glDisableClientState
-glDiscardFramebufferEXT
glDrawArrays
glDrawElements
-glDrawTexfOES
-glDrawTexfvOES
-glDrawTexiOES
-glDrawTexivOES
-glDrawTexsOES
-glDrawTexsvOES
-glDrawTexxOES
-glDrawTexxvOES
glEGLImageTargetRenderbufferStorageOES
glEGLImageTargetTexture2DOES
glEnable
glEnableClientState
glFinish
glFlush
-glFlushMappedBufferRangeEXT
glFogf
glFogfv
glFogx
-glFogxOES
glFogxv
-glFogxvOES
-glFramebufferRenderbufferOES
-glFramebufferTexture2DOES
glFrontFace
glFrustumf
-glFrustumfOES
glFrustumx
-glFrustumxOES
glGenBuffers
-glGenerateMipmapOES
-glGenFramebuffersOES
-glGenRenderbuffersOES
glGenTextures
glGetBooleanv
glGetBufferParameteriv
-glGetBufferPointervOES
glGetClipPlanef
-glGetClipPlanefOES
glGetClipPlanex
-glGetClipPlanexOES
glGetError
glGetFixedv
-glGetFixedvOES
glGetFloatv
-glGetFramebufferAttachmentParameterivOES
glGetIntegerv
glGetLightfv
glGetLightxv
-glGetLightxvOES
glGetMaterialfv
glGetMaterialxv
-glGetMaterialxvOES
glGetPointerv
-glGetRenderbufferParameterivOES
glGetString
glGetTexEnvfv
glGetTexEnviv
glGetTexEnvxv
-glGetTexEnvxvOES
-glGetTexGenfvOES
-glGetTexGenivOES
-glGetTexGenxvOES
glGetTexParameterfv
glGetTexParameteriv
glGetTexParameterxv
-glGetTexParameterxvOES
glHint
glIsBuffer
glIsEnabled
-glIsFramebufferOES
-glIsRenderbufferOES
glIsTexture
glLightf
glLightfv
glLightModelf
glLightModelfv
glLightModelx
-glLightModelxOES
glLightModelxv
-glLightModelxvOES
glLightx
-glLightxOES
glLightxv
-glLightxvOES
glLineWidth
glLineWidthx
-glLineWidthxOES
glLoadIdentity
glLoadMatrixf
glLoadMatrixx
-glLoadMatrixxOES
glLogicOp
-glMapBufferOES
-glMapBufferRangeEXT
glMaterialf
glMaterialfv
glMaterialx
-glMaterialxOES
glMaterialxv
-glMaterialxvOES
glMatrixMode
glMultiDrawArraysEXT
glMultiDrawElementsEXT
glMultiTexCoord4f
glMultiTexCoord4x
-glMultiTexCoord4xOES
glMultMatrixf
glMultMatrixx
-glMultMatrixxOES
glNormal3f
glNormal3x
-glNormal3xOES
glNormalPointer
glOrthof
-glOrthofOES
glOrthox
-glOrthoxOES
glPixelStorei
glPointParameterf
glPointParameterfv
glPointParameterx
-glPointParameterxOES
glPointParameterxv
-glPointParameterxvOES
glPointSize
-glPointSizePointerOES
glPointSizex
-glPointSizexOES
glPolygonOffset
glPolygonOffsetx
-glPolygonOffsetxOES
glPopMatrix
glPushMatrix
-glQueryMatrixxOES
glReadPixels
-glRenderbufferStorageOES
glRotatef
glRotatex
-glRotatexOES
glSampleCoverage
glSampleCoveragex
-glSampleCoveragexOES
glScalef
glScalex
-glScalexOES
glScissor
glShadeModel
glStencilFunc
glTexEnvi
glTexEnviv
glTexEnvx
-glTexEnvxOES
glTexEnvxv
-glTexEnvxvOES
-glTexGenfOES
-glTexGenfvOES
-glTexGeniOES
-glTexGenivOES
-glTexGenxOES
-glTexGenxvOES
glTexImage2D
glTexParameterf
glTexParameterfv
glTexParameteri
glTexParameteriv
glTexParameterx
-glTexParameterxOES
glTexParameterxv
-glTexParameterxvOES
glTexSubImage2D
glTranslatef
glTranslatex
-glTranslatexOES
-glUnmapBufferOES
glVertexPointer
glViewport
EOF
# Print defined gl.* functions not in GL ES 3.0 or in
# (FIXME, none of these should be part of the ABI)
-# GL_EXT_discard_framebuffer
-# GL_EXT_map_buffer_range
# GL_EXT_multi_draw_arrays
-# GL_NV_draw_buffers
-# GL_NV_read_buffer
# GL_OES_EGL_image
-# GL_OES_get_program_binary
-# GL_OES_mapbuffer
-# GL_OES_texture_3D
-# GL_OES_vertex_array_object
FUNCS=$(nm -D --defined-only ${1-.libs/libGLESv2.so.2} | grep -o 'T gl.*' | cut -c 3- | while read func; do
( grep -q "^$func$" || echo $func ) <<EOF
glBindTexture
glBindTransformFeedback
glBindVertexArray
-glBindVertexArrayOES
glBlendColor
glBlendEquation
glBlendEquationSeparate
glCompileShader
glCompressedTexImage2D
glCompressedTexImage3D
-glCompressedTexImage3DOES
glCompressedTexSubImage2D
glCompressedTexSubImage3D
-glCompressedTexSubImage3DOES
glCopyBufferSubData
glCopyTexImage2D
glCopyTexSubImage2D
glCopyTexSubImage3D
-glCopyTexSubImage3DOES
glCreateProgram
glCreateShader
glCullFace
glDeleteTextures
glDeleteTransformFeedbacks
glDeleteVertexArrays
-glDeleteVertexArraysOES
glDepthFunc
glDepthMask
glDepthRangef
glDetachShader
glDisable
glDisableVertexAttribArray
-glDiscardFramebufferEXT
glDrawArrays
glDrawArraysInstanced
glDrawBuffers
-glDrawBuffersNV
glDrawElements
glDrawElementsInstanced
glDrawRangeElements
glFinish
glFlush
glFlushMappedBufferRange
-glFlushMappedBufferRangeEXT
glFramebufferRenderbuffer
glFramebufferTexture2D
-glFramebufferTexture3DOES
glFramebufferTextureLayer
glFrontFace
glGenBuffers
glGenTextures
glGenTransformFeedbacks
glGenVertexArrays
-glGenVertexArraysOES
glGetActiveAttrib
glGetActiveUniform
glGetActiveUniformBlockiv
glGetBufferParameteri64v
glGetBufferParameteriv
glGetBufferPointerv
-glGetBufferPointervOES
glGetError
glGetFloatv
glGetFragDataLocation
glGetIntegerv
glGetInternalformativ
glGetProgramBinary
-glGetProgramBinaryOES
glGetProgramInfoLog
glGetProgramiv
glGetQueryiv
glIsTexture
glIsTransformFeedback
glIsVertexArray
-glIsVertexArrayOES
glLineWidth
glLinkProgram
-glMapBufferOES
glMapBufferRange
-glMapBufferRangeEXT
glMultiDrawArraysEXT
glMultiDrawElementsEXT
glPauseTransformFeedback
glPixelStorei
glPolygonOffset
glProgramBinary
-glProgramBinaryOES
glProgramParameteri
glReadBuffer
-glReadBufferNV
glReadPixels
glReleaseShaderCompiler
glRenderbufferStorage
glStencilOpSeparate
glTexImage2D
glTexImage3D
-glTexImage3DOES
glTexParameterf
glTexParameterfv
glTexParameteri
glTexStorage3D
glTexSubImage2D
glTexSubImage3D
-glTexSubImage3DOES
glTransformFeedbackVaryings
glUniform1f
glUniform1fv
glUniformMatrix4x2fv
glUniformMatrix4x3fv
glUnmapBuffer
-glUnmapBufferOES
glUseProgram
glValidateProgram
glVertexAttrib1f