1 #!/bin/sh 2 set -eu 3 4 # Print defined gl.* functions not in GL ES 3.0 or in 5 # (FIXME, none of these should be part of the ABI) 6 # GL_EXT_multi_draw_arrays 7 # GL_OES_EGL_image 8 9 case "$(uname)" in 10 Darwin) 11 LIB=${1-es2api/.libs/libGLESv2.dylib} 12 ;; 13 CYGWIN*) 14 LIB=${1-es2api/.libs/cygGLESv2-2.dll} 15 ;; 16 *) 17 LIB=${1-es2api/.libs/libGLESv2.so.2} 18 ;; 19 esac 20 21 if ! [ -f "$LIB" ] 22 then 23 exit 1 24 fi 25 26 FUNCS=$(nm -D --defined-only $LIB | grep -o 'T gl.*' | cut -c 3- | while read func; do 27 ( grep -q "^$func$" || echo $func ) <<EOF 28 glActiveShaderProgram 29 glActiveTexture 30 glAttachShader 31 glBeginQuery 32 glBeginTransformFeedback 33 glBindAttribLocation 34 glBindBuffer 35 glBindBufferBase 36 glBindBufferRange 37 glBindFragDataLocationEXT 38 glBindFramebuffer 39 glBindImageTexture 40 glBindProgramPipeline 41 glBindRenderbuffer 42 glBindSampler 43 glBindTexture 44 glBindTransformFeedback 45 glBindVertexArray 46 glBindVertexBuffer 47 glBlendBarrier 48 glBlendColor 49 glBlendEquation 50 glBlendEquationSeparate 51 glBlendEquationSeparatei 52 glBlendEquationi 53 glBlendFunc 54 glBlendFuncSeparate 55 glBlendFuncSeparatei 56 glBlendFunci 57 glBlitFramebuffer 58 glBufferData 59 glBufferSubData 60 glCheckFramebufferStatus 61 glClear 62 glClearBufferfi 63 glClearBufferfv 64 glClearBufferiv 65 glClearBufferuiv 66 glClearColor 67 glClearDepthf 68 glClearStencil 69 glClientWaitSync 70 glColorMask 71 glColorMaski 72 glCompileShader 73 glCompressedTexImage2D 74 glCompressedTexImage3D 75 glCompressedTexSubImage2D 76 glCompressedTexSubImage3D 77 glCopyBufferSubData 78 glCopyImageSubData 79 glCopyTexImage2D 80 glCopyTexSubImage2D 81 glCopyTexSubImage3D 82 glCreateProgram 83 glCreateShader 84 glCreateShaderProgramv 85 glCullFace 86 glDebugMessageCallback 87 glDebugMessageControl 88 glDebugMessageInsert 89 glDeleteBuffers 90 glDeleteFramebuffers 91 glDeleteProgram 92 glDeleteProgramPipelines 93 glDeleteQueries 94 glDeleteRenderbuffers 95 glDeleteSamplers 96 glDeleteShader 97 glDeleteSync 98 glDeleteTextures 99 glDeleteTransformFeedbacks 100 glDeleteVertexArrays 101 glDepthFunc 102 glDepthMask 103 glDepthRangef 104 glDetachShader 105 glDisable 106 glDisableVertexAttribArray 107 glDisablei 108 glDispatchCompute 109 glDispatchComputeIndirect 110 glDrawArrays 111 glDrawArraysIndirect 112 glDrawArraysInstanced 113 glDrawBuffers 114 glDrawElements 115 glDrawElementsBaseVertex 116 glDrawElementsIndirect 117 glDrawElementsInstanced 118 glDrawElementsInstancedBaseVertex 119 glDrawRangeElements 120 glDrawRangeElementsBaseVertex 121 glEGLImageTargetRenderbufferStorageOES 122 glEGLImageTargetTexture2DOES 123 glEnable 124 glEnableVertexAttribArray 125 glEnablei 126 glEndQuery 127 glEndTransformFeedback 128 glFenceSync 129 glFinish 130 glFlush 131 glFlushMappedBufferRange 132 glFramebufferParameteri 133 glFramebufferRenderbuffer 134 glFramebufferTexture 135 glFramebufferTexture2D 136 glFramebufferTextureLayer 137 glFrontFace 138 glGenBuffers 139 glGenFramebuffers 140 glGenProgramPipelines 141 glGenQueries 142 glGenRenderbuffers 143 glGenSamplers 144 glGenTextures 145 glGenTransformFeedbacks 146 glGenVertexArrays 147 glGenerateMipmap 148 glGetActiveAttrib 149 glGetActiveUniform 150 glGetActiveUniformBlockName 151 glGetActiveUniformBlockiv 152 glGetActiveUniformsiv 153 glGetAttachedShaders 154 glGetAttribLocation 155 glGetBooleani_v 156 glGetBooleanv 157 glGetBufferParameteri64v 158 glGetBufferParameteriv 159 glGetBufferPointerv 160 glGetDebugMessageLog 161 glGetError 162 glGetFloatv 163 glGetFragDataLocation 164 glGetFramebufferAttachmentParameteriv 165 glGetFramebufferParameteriv 166 glGetGraphicsResetStatus 167 glGetInteger64i_v 168 glGetInteger64v 169 glGetIntegeri_v 170 glGetIntegerv 171 glGetInternalformativ 172 glGetMultisamplefv 173 glGetObjectLabel 174 glGetObjectPtrLabel 175 glGetPointerv 176 glGetProgramBinary 177 glGetProgramInfoLog 178 glGetProgramInterfaceiv 179 glGetProgramPipelineInfoLog 180 glGetProgramPipelineiv 181 glGetProgramResourceIndex 182 glGetProgramResourceLocation 183 glGetProgramResourceName 184 glGetProgramResourceiv 185 glGetProgramiv 186 glGetQueryObjectuiv 187 glGetQueryiv 188 glGetRenderbufferParameteriv 189 glGetSamplerParameterIiv 190 glGetSamplerParameterIuiv 191 glGetSamplerParameterfv 192 glGetSamplerParameteriv 193 glGetShaderInfoLog 194 glGetShaderPrecisionFormat 195 glGetShaderSource 196 glGetShaderiv 197 glGetString 198 glGetStringi 199 glGetSynciv 200 glGetTexLevelParameterfv 201 glGetTexLevelParameteriv 202 glGetTexParameterIiv 203 glGetTexParameterIivEXT 204 glGetTexParameterIuiv 205 glGetTexParameterIuivEXT 206 glGetTexParameterfv 207 glGetTexParameteriv 208 glGetTransformFeedbackVarying 209 glGetUniformBlockIndex 210 glGetUniformIndices 211 glGetUniformLocation 212 glGetUniformfv 213 glGetUniformiv 214 glGetUniformuiv 215 glGetVertexAttribIiv 216 glGetVertexAttribIuiv 217 glGetVertexAttribPointerv 218 glGetVertexAttribfv 219 glGetVertexAttribiv 220 glGetnUniformfv 221 glGetnUniformiv 222 glGetnUniformuiv 223 glHint 224 glInvalidateFramebuffer 225 glInvalidateSubFramebuffer 226 glIsBuffer 227 glIsEnabled 228 glIsEnabledi 229 glIsFramebuffer 230 glIsProgram 231 glIsProgramPipeline 232 glIsQuery 233 glIsRenderbuffer 234 glIsSampler 235 glIsShader 236 glIsSync 237 glIsTexture 238 glIsTransformFeedback 239 glIsVertexArray 240 glLineWidth 241 glLinkProgram 242 glMapBufferRange 243 glMemoryBarrier 244 glMemoryBarrierByRegion 245 glMinSampleShading 246 glMultiDrawArraysEXT 247 glMultiDrawElementsEXT 248 glObjectLabel 249 glObjectPtrLabel 250 glPatchParameteri 251 glPauseTransformFeedback 252 glPixelStorei 253 glPolygonOffset 254 glPopDebugGroup 255 glPrimitiveBoundingBox 256 glProgramBinary 257 glProgramParameteri 258 glProgramUniform1f 259 glProgramUniform1fv 260 glProgramUniform1i 261 glProgramUniform1iv 262 glProgramUniform1ui 263 glProgramUniform1uiv 264 glProgramUniform2f 265 glProgramUniform2fv 266 glProgramUniform2i 267 glProgramUniform2iv 268 glProgramUniform2ui 269 glProgramUniform2uiv 270 glProgramUniform3f 271 glProgramUniform3fv 272 glProgramUniform3i 273 glProgramUniform3iv 274 glProgramUniform3ui 275 glProgramUniform3uiv 276 glProgramUniform4f 277 glProgramUniform4fv 278 glProgramUniform4i 279 glProgramUniform4iv 280 glProgramUniform4ui 281 glProgramUniform4uiv 282 glProgramUniformMatrix2fv 283 glProgramUniformMatrix2x3fv 284 glProgramUniformMatrix2x4fv 285 glProgramUniformMatrix3fv 286 glProgramUniformMatrix3x2fv 287 glProgramUniformMatrix3x4fv 288 glProgramUniformMatrix4fv 289 glProgramUniformMatrix4x2fv 290 glProgramUniformMatrix4x3fv 291 glPushDebugGroup 292 glReadBuffer 293 glReadPixels 294 glReadnPixels 295 glReleaseShaderCompiler 296 glRenderbufferStorage 297 glRenderbufferStorageMultisample 298 glResumeTransformFeedback 299 glSampleCoverage 300 glSampleMaski 301 glSamplerParameterIiv 302 glSamplerParameterIuiv 303 glSamplerParameterf 304 glSamplerParameterfv 305 glSamplerParameteri 306 glSamplerParameteriv 307 glScissor 308 glShaderBinary 309 glShaderSource 310 glStencilFunc 311 glStencilFuncSeparate 312 glStencilMask 313 glStencilMaskSeparate 314 glStencilOp 315 glStencilOpSeparate 316 glTexBuffer 317 glTexBufferRange 318 glTexImage2D 319 glTexImage3D 320 glTexParameterIiv 321 glTexParameterIivEXT 322 glTexParameterIuiv 323 glTexParameterIuivEXT 324 glTexParameterf 325 glTexParameterfv 326 glTexParameteri 327 glTexParameteriv 328 glTexStorage2D 329 glTexStorage2DMultisample 330 glTexStorage3D 331 glTexStorage3DMultisample 332 glTexSubImage2D 333 glTexSubImage3D 334 glTransformFeedbackVaryings 335 glUniform1f 336 glUniform1fv 337 glUniform1i 338 glUniform1iv 339 glUniform1ui 340 glUniform1uiv 341 glUniform2f 342 glUniform2fv 343 glUniform2i 344 glUniform2iv 345 glUniform2ui 346 glUniform2uiv 347 glUniform3f 348 glUniform3fv 349 glUniform3i 350 glUniform3iv 351 glUniform3ui 352 glUniform3uiv 353 glUniform4f 354 glUniform4fv 355 glUniform4i 356 glUniform4iv 357 glUniform4ui 358 glUniform4uiv 359 glUniformBlockBinding 360 glUniformMatrix2fv 361 glUniformMatrix2x3fv 362 glUniformMatrix2x4fv 363 glUniformMatrix3fv 364 glUniformMatrix3x2fv 365 glUniformMatrix3x4fv 366 glUniformMatrix4fv 367 glUniformMatrix4x2fv 368 glUniformMatrix4x3fv 369 glUnmapBuffer 370 glUseProgram 371 glUseProgramStages 372 glValidateProgram 373 glValidateProgramPipeline 374 glVertexAttrib1f 375 glVertexAttrib1fv 376 glVertexAttrib2f 377 glVertexAttrib2fv 378 glVertexAttrib3f 379 glVertexAttrib3fv 380 glVertexAttrib4f 381 glVertexAttrib4fv 382 glVertexAttribBinding 383 glVertexAttribDivisor 384 glVertexAttribFormat 385 glVertexAttribI4i 386 glVertexAttribI4iv 387 glVertexAttribI4ui 388 glVertexAttribI4uiv 389 glVertexAttribIFormat 390 glVertexAttribIPointer 391 glVertexAttribPointer 392 glVertexBindingDivisor 393 glViewport 394 glWaitSync 395 EOF 396 done) 397 398 test ! -n "$FUNCS" || echo $FUNCS 399 test ! -n "$FUNCS" 400