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