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