1#!/usr/bin/env bash 2 3# Print defined gl.* functions not in GL ES 3.0 or in 4# (FIXME, none of these should be part of the ABI) 5# GL_EXT_multi_draw_arrays 6# GL_OES_EGL_image 7 8FUNCS=$(nm -D --defined-only ${1-.libs/libGLESv2.so.2} | grep -o 'T gl.*' | cut -c 3- | while read func; do 9( grep -q "^$func$" || echo $func ) <<EOF 10glActiveTexture 11glAttachShader 12glBeginQuery 13glBeginTransformFeedback 14glBindAttribLocation 15glBindBuffer 16glBindBufferBase 17glBindBufferRange 18glBindFramebuffer 19glBindRenderbuffer 20glBindSampler 21glBindTexture 22glBindTransformFeedback 23glBindVertexArray 24glBlendColor 25glBlendEquation 26glBlendEquationSeparate 27glBlendFunc 28glBlendFuncSeparate 29glBlitFramebuffer 30glBufferData 31glBufferSubData 32glCheckFramebufferStatus 33glClear 34glClearBufferfi 35glClearBufferfv 36glClearBufferiv 37glClearBufferuiv 38glClearColor 39glClearDepthf 40glClearStencil 41glClientWaitSync 42glColorMask 43glCompileShader 44glCompressedTexImage2D 45glCompressedTexImage3D 46glCompressedTexSubImage2D 47glCompressedTexSubImage3D 48glCopyBufferSubData 49glCopyTexImage2D 50glCopyTexSubImage2D 51glCopyTexSubImage3D 52glCreateProgram 53glCreateShader 54glCullFace 55glDeleteBuffers 56glDeleteFramebuffers 57glDeleteProgram 58glDeleteQueries 59glDeleteRenderbuffers 60glDeleteSamplers 61glDeleteShader 62glDeleteSync 63glDeleteTextures 64glDeleteTransformFeedbacks 65glDeleteVertexArrays 66glDepthFunc 67glDepthMask 68glDepthRangef 69glDetachShader 70glDisable 71glDisableVertexAttribArray 72glDrawArrays 73glDrawArraysInstanced 74glDrawBuffers 75glDrawElements 76glDrawElementsInstanced 77glDrawRangeElements 78glEGLImageTargetRenderbufferStorageOES 79glEGLImageTargetTexture2DOES 80glEnable 81glEnableVertexAttribArray 82glEndQuery 83glEndTransformFeedback 84glFenceSync 85glFinish 86glFlush 87glFlushMappedBufferRange 88glFramebufferRenderbuffer 89glFramebufferTexture2D 90glFramebufferTextureLayer 91glFrontFace 92glGenBuffers 93glGenerateMipmap 94glGenFramebuffers 95glGenQueries 96glGenRenderbuffers 97glGenSamplers 98glGenTextures 99glGenTransformFeedbacks 100glGenVertexArrays 101glGetActiveAttrib 102glGetActiveUniform 103glGetActiveUniformBlockiv 104glGetActiveUniformBlockName 105glGetActiveUniformsiv 106glGetAttachedShaders 107glGetAttribLocation 108glGetBooleanv 109glGetBufferParameteri64v 110glGetBufferParameteriv 111glGetBufferPointerv 112glGetError 113glGetFloatv 114glGetFragDataLocation 115glGetFramebufferAttachmentParameteriv 116glGetInteger64i_v 117glGetInteger64v 118glGetIntegeri_v 119glGetIntegerv 120glGetInternalformativ 121glGetProgramBinary 122glGetProgramInfoLog 123glGetProgramiv 124glGetQueryiv 125glGetQueryObjectuiv 126glGetRenderbufferParameteriv 127glGetSamplerParameterfv 128glGetSamplerParameteriv 129glGetShaderInfoLog 130glGetShaderiv 131glGetShaderPrecisionFormat 132glGetShaderSource 133glGetString 134glGetStringi 135glGetSynciv 136glGetTexParameterfv 137glGetTexParameteriv 138glGetTransformFeedbackVarying 139glGetUniformBlockIndex 140glGetUniformfv 141glGetUniformIndices 142glGetUniformiv 143glGetUniformLocation 144glGetUniformuiv 145glGetVertexAttribfv 146glGetVertexAttribIiv 147glGetVertexAttribIuiv 148glGetVertexAttribiv 149glGetVertexAttribPointerv 150glHint 151glInvalidateFramebuffer 152glInvalidateSubFramebuffer 153glIsBuffer 154glIsEnabled 155glIsFramebuffer 156glIsProgram 157glIsQuery 158glIsRenderbuffer 159glIsSampler 160glIsShader 161glIsSync 162glIsTexture 163glIsTransformFeedback 164glIsVertexArray 165glLineWidth 166glLinkProgram 167glMapBufferRange 168glMultiDrawArraysEXT 169glMultiDrawElementsEXT 170glPauseTransformFeedback 171glPixelStorei 172glPolygonOffset 173glProgramBinary 174glProgramParameteri 175glReadBuffer 176glReadPixels 177glReleaseShaderCompiler 178glRenderbufferStorage 179glRenderbufferStorageMultisample 180glResumeTransformFeedback 181glSampleCoverage 182glSamplerParameterf 183glSamplerParameterfv 184glSamplerParameteri 185glSamplerParameteriv 186glScissor 187glShaderBinary 188glShaderSource 189glStencilFunc 190glStencilFuncSeparate 191glStencilMask 192glStencilMaskSeparate 193glStencilOp 194glStencilOpSeparate 195glTexImage2D 196glTexImage3D 197glTexParameterf 198glTexParameterfv 199glTexParameteri 200glTexParameteriv 201glTexStorage2D 202glTexStorage3D 203glTexSubImage2D 204glTexSubImage3D 205glTransformFeedbackVaryings 206glUniform1f 207glUniform1fv 208glUniform1i 209glUniform1iv 210glUniform1ui 211glUniform1uiv 212glUniform2f 213glUniform2fv 214glUniform2i 215glUniform2iv 216glUniform2ui 217glUniform2uiv 218glUniform3f 219glUniform3fv 220glUniform3i 221glUniform3iv 222glUniform3ui 223glUniform3uiv 224glUniform4f 225glUniform4fv 226glUniform4i 227glUniform4iv 228glUniform4ui 229glUniform4uiv 230glUniformBlockBinding 231glUniformMatrix2fv 232glUniformMatrix2x3fv 233glUniformMatrix2x4fv 234glUniformMatrix3fv 235glUniformMatrix3x2fv 236glUniformMatrix3x4fv 237glUniformMatrix4fv 238glUniformMatrix4x2fv 239glUniformMatrix4x3fv 240glUnmapBuffer 241glUseProgram 242glValidateProgram 243glVertexAttrib1f 244glVertexAttrib1fv 245glVertexAttrib2f 246glVertexAttrib2fv 247glVertexAttrib3f 248glVertexAttrib3fv 249glVertexAttrib4f 250glVertexAttrib4fv 251glVertexAttribDivisor 252glVertexAttribI4i 253glVertexAttribI4iv 254glVertexAttribI4ui 255glVertexAttribI4uiv 256glVertexAttribIPointer 257glVertexAttribPointer 258glViewport 259glWaitSync 260EOF 261done) 262 263test ! -n "$FUNCS" || echo $FUNCS 264test ! -n "$FUNCS" 265