1b8e80941Smrg#!/bin/sh 2b8e80941Smrgset -eu 3848b8605Smrg 4b8e80941Smrg# Print defined gl.* functions not in GL ES 3.{0..2} 5848b8605Smrg 6b8e80941Smrgcase "$(uname)" in 7b8e80941SmrgDarwin) 8b8e80941Smrg LIB=${1-es2api/.libs/libGLESv2.dylib} 9b8e80941Smrg ;; 10b8e80941SmrgCYGWIN*) 11b8e80941Smrg LIB=${1-es2api/.libs/cygGLESv2-2.dll} 12b8e80941Smrg ;; 13b8e80941Smrg*) 14b8e80941Smrg LIB=${1-es2api/.libs/libGLESv2.so.2} 15b8e80941Smrg ;; 16b8e80941Smrgesac 17b8e80941Smrg 18b8e80941Smrgif ! [ -f "$LIB" ] 19b8e80941Smrgthen 20b8e80941Smrg exit 1 21b8e80941Smrgfi 22b8e80941Smrg 23b8e80941SmrgFUNCS=$($NM -D --defined-only $LIB | grep -o 'T gl.*' | cut -c 3- | while read func; do 24848b8605Smrg( grep -q "^$func$" || echo $func ) <<EOF 25b8e80941SmrgglActiveShaderProgram 26848b8605SmrgglActiveTexture 27848b8605SmrgglAttachShader 28848b8605SmrgglBeginQuery 29848b8605SmrgglBeginTransformFeedback 30848b8605SmrgglBindAttribLocation 31848b8605SmrgglBindBuffer 32848b8605SmrgglBindBufferBase 33848b8605SmrgglBindBufferRange 34848b8605SmrgglBindFramebuffer 35b8e80941SmrgglBindImageTexture 36b8e80941SmrgglBindProgramPipeline 37848b8605SmrgglBindRenderbuffer 38848b8605SmrgglBindSampler 39848b8605SmrgglBindTexture 40848b8605SmrgglBindTransformFeedback 41848b8605SmrgglBindVertexArray 42b8e80941SmrgglBindVertexBuffer 43b8e80941SmrgglBlendBarrier 44848b8605SmrgglBlendColor 45848b8605SmrgglBlendEquation 46848b8605SmrgglBlendEquationSeparate 47b8e80941SmrgglBlendEquationSeparatei 48b8e80941SmrgglBlendEquationi 49848b8605SmrgglBlendFunc 50848b8605SmrgglBlendFuncSeparate 51b8e80941SmrgglBlendFuncSeparatei 52b8e80941SmrgglBlendFunci 53848b8605SmrgglBlitFramebuffer 54848b8605SmrgglBufferData 55848b8605SmrgglBufferSubData 56848b8605SmrgglCheckFramebufferStatus 57848b8605SmrgglClear 58848b8605SmrgglClearBufferfi 59848b8605SmrgglClearBufferfv 60848b8605SmrgglClearBufferiv 61848b8605SmrgglClearBufferuiv 62848b8605SmrgglClearColor 63848b8605SmrgglClearDepthf 64848b8605SmrgglClearStencil 65848b8605SmrgglClientWaitSync 66848b8605SmrgglColorMask 67b8e80941SmrgglColorMaski 68848b8605SmrgglCompileShader 69848b8605SmrgglCompressedTexImage2D 70848b8605SmrgglCompressedTexImage3D 71848b8605SmrgglCompressedTexSubImage2D 72848b8605SmrgglCompressedTexSubImage3D 73848b8605SmrgglCopyBufferSubData 74b8e80941SmrgglCopyImageSubData 75848b8605SmrgglCopyTexImage2D 76848b8605SmrgglCopyTexSubImage2D 77848b8605SmrgglCopyTexSubImage3D 78848b8605SmrgglCreateProgram 79848b8605SmrgglCreateShader 80b8e80941SmrgglCreateShaderProgramv 81848b8605SmrgglCullFace 82b8e80941SmrgglDebugMessageCallback 83b8e80941SmrgglDebugMessageControl 84b8e80941SmrgglDebugMessageInsert 85848b8605SmrgglDeleteBuffers 86848b8605SmrgglDeleteFramebuffers 87848b8605SmrgglDeleteProgram 88b8e80941SmrgglDeleteProgramPipelines 89848b8605SmrgglDeleteQueries 90848b8605SmrgglDeleteRenderbuffers 91848b8605SmrgglDeleteSamplers 92848b8605SmrgglDeleteShader 93848b8605SmrgglDeleteSync 94848b8605SmrgglDeleteTextures 95848b8605SmrgglDeleteTransformFeedbacks 96848b8605SmrgglDeleteVertexArrays 97848b8605SmrgglDepthFunc 98848b8605SmrgglDepthMask 99848b8605SmrgglDepthRangef 100848b8605SmrgglDetachShader 101848b8605SmrgglDisable 102848b8605SmrgglDisableVertexAttribArray 103b8e80941SmrgglDisablei 104b8e80941SmrgglDispatchCompute 105b8e80941SmrgglDispatchComputeIndirect 106848b8605SmrgglDrawArrays 107b8e80941SmrgglDrawArraysIndirect 108848b8605SmrgglDrawArraysInstanced 109848b8605SmrgglDrawBuffers 110848b8605SmrgglDrawElements 111b8e80941SmrgglDrawElementsBaseVertex 112b8e80941SmrgglDrawElementsIndirect 113848b8605SmrgglDrawElementsInstanced 114b8e80941SmrgglDrawElementsInstancedBaseVertex 115848b8605SmrgglDrawRangeElements 116b8e80941SmrgglDrawRangeElementsBaseVertex 117848b8605SmrgglEnable 118848b8605SmrgglEnableVertexAttribArray 119b8e80941SmrgglEnablei 120848b8605SmrgglEndQuery 121848b8605SmrgglEndTransformFeedback 122848b8605SmrgglFenceSync 123848b8605SmrgglFinish 124848b8605SmrgglFlush 125848b8605SmrgglFlushMappedBufferRange 126b8e80941SmrgglFramebufferParameteri 127848b8605SmrgglFramebufferRenderbuffer 128b8e80941SmrgglFramebufferTexture 129848b8605SmrgglFramebufferTexture2D 130848b8605SmrgglFramebufferTextureLayer 131848b8605SmrgglFrontFace 132848b8605SmrgglGenBuffers 133848b8605SmrgglGenFramebuffers 134b8e80941SmrgglGenProgramPipelines 135848b8605SmrgglGenQueries 136848b8605SmrgglGenRenderbuffers 137848b8605SmrgglGenSamplers 138848b8605SmrgglGenTextures 139848b8605SmrgglGenTransformFeedbacks 140848b8605SmrgglGenVertexArrays 141b8e80941SmrgglGenerateMipmap 142848b8605SmrgglGetActiveAttrib 143848b8605SmrgglGetActiveUniform 144848b8605SmrgglGetActiveUniformBlockName 145b8e80941SmrgglGetActiveUniformBlockiv 146848b8605SmrgglGetActiveUniformsiv 147848b8605SmrgglGetAttachedShaders 148848b8605SmrgglGetAttribLocation 149b8e80941SmrgglGetBooleani_v 150848b8605SmrgglGetBooleanv 151848b8605SmrgglGetBufferParameteri64v 152848b8605SmrgglGetBufferParameteriv 153848b8605SmrgglGetBufferPointerv 154b8e80941SmrgglGetDebugMessageLog 155848b8605SmrgglGetError 156848b8605SmrgglGetFloatv 157848b8605SmrgglGetFragDataLocation 158848b8605SmrgglGetFramebufferAttachmentParameteriv 159b8e80941SmrgglGetFramebufferParameteriv 160b8e80941SmrgglGetGraphicsResetStatus 161848b8605SmrgglGetInteger64i_v 162848b8605SmrgglGetInteger64v 163848b8605SmrgglGetIntegeri_v 164848b8605SmrgglGetIntegerv 165848b8605SmrgglGetInternalformativ 166b8e80941SmrgglGetMultisamplefv 167b8e80941SmrgglGetObjectLabel 168b8e80941SmrgglGetObjectPtrLabel 169b8e80941SmrgglGetPointerv 170848b8605SmrgglGetProgramBinary 171848b8605SmrgglGetProgramInfoLog 172b8e80941SmrgglGetProgramInterfaceiv 173b8e80941SmrgglGetProgramPipelineInfoLog 174b8e80941SmrgglGetProgramPipelineiv 175b8e80941SmrgglGetProgramResourceIndex 176b8e80941SmrgglGetProgramResourceLocation 177b8e80941SmrgglGetProgramResourceName 178b8e80941SmrgglGetProgramResourceiv 179848b8605SmrgglGetProgramiv 180848b8605SmrgglGetQueryObjectuiv 181b8e80941SmrgglGetQueryiv 182848b8605SmrgglGetRenderbufferParameteriv 183b8e80941SmrgglGetSamplerParameterIiv 184b8e80941SmrgglGetSamplerParameterIuiv 185848b8605SmrgglGetSamplerParameterfv 186848b8605SmrgglGetSamplerParameteriv 187848b8605SmrgglGetShaderInfoLog 188848b8605SmrgglGetShaderPrecisionFormat 189848b8605SmrgglGetShaderSource 190b8e80941SmrgglGetShaderiv 191848b8605SmrgglGetString 192848b8605SmrgglGetStringi 193848b8605SmrgglGetSynciv 194b8e80941SmrgglGetTexLevelParameterfv 195b8e80941SmrgglGetTexLevelParameteriv 196b8e80941SmrgglGetTexParameterIiv 197b8e80941SmrgglGetTexParameterIuiv 198848b8605SmrgglGetTexParameterfv 199848b8605SmrgglGetTexParameteriv 200848b8605SmrgglGetTransformFeedbackVarying 201848b8605SmrgglGetUniformBlockIndex 202848b8605SmrgglGetUniformIndices 203848b8605SmrgglGetUniformLocation 204b8e80941SmrgglGetUniformfv 205b8e80941SmrgglGetUniformiv 206848b8605SmrgglGetUniformuiv 207848b8605SmrgglGetVertexAttribIiv 208848b8605SmrgglGetVertexAttribIuiv 209848b8605SmrgglGetVertexAttribPointerv 210b8e80941SmrgglGetVertexAttribfv 211b8e80941SmrgglGetVertexAttribiv 212b8e80941SmrgglGetnUniformfv 213b8e80941SmrgglGetnUniformiv 214b8e80941SmrgglGetnUniformuiv 215848b8605SmrgglHint 216848b8605SmrgglInvalidateFramebuffer 217848b8605SmrgglInvalidateSubFramebuffer 218848b8605SmrgglIsBuffer 219848b8605SmrgglIsEnabled 220b8e80941SmrgglIsEnabledi 221848b8605SmrgglIsFramebuffer 222848b8605SmrgglIsProgram 223b8e80941SmrgglIsProgramPipeline 224848b8605SmrgglIsQuery 225848b8605SmrgglIsRenderbuffer 226848b8605SmrgglIsSampler 227848b8605SmrgglIsShader 228848b8605SmrgglIsSync 229848b8605SmrgglIsTexture 230848b8605SmrgglIsTransformFeedback 231848b8605SmrgglIsVertexArray 232848b8605SmrgglLineWidth 233848b8605SmrgglLinkProgram 234848b8605SmrgglMapBufferRange 235b8e80941SmrgglMemoryBarrier 236b8e80941SmrgglMemoryBarrierByRegion 237b8e80941SmrgglMinSampleShading 238b8e80941SmrgglObjectLabel 239b8e80941SmrgglObjectPtrLabel 240b8e80941SmrgglPatchParameteri 241848b8605SmrgglPauseTransformFeedback 242848b8605SmrgglPixelStorei 243848b8605SmrgglPolygonOffset 244b8e80941SmrgglPopDebugGroup 245b8e80941SmrgglPrimitiveBoundingBox 246848b8605SmrgglProgramBinary 247848b8605SmrgglProgramParameteri 248b8e80941SmrgglProgramUniform1f 249b8e80941SmrgglProgramUniform1fv 250b8e80941SmrgglProgramUniform1i 251b8e80941SmrgglProgramUniform1iv 252b8e80941SmrgglProgramUniform1ui 253b8e80941SmrgglProgramUniform1uiv 254b8e80941SmrgglProgramUniform2f 255b8e80941SmrgglProgramUniform2fv 256b8e80941SmrgglProgramUniform2i 257b8e80941SmrgglProgramUniform2iv 258b8e80941SmrgglProgramUniform2ui 259b8e80941SmrgglProgramUniform2uiv 260b8e80941SmrgglProgramUniform3f 261b8e80941SmrgglProgramUniform3fv 262b8e80941SmrgglProgramUniform3i 263b8e80941SmrgglProgramUniform3iv 264b8e80941SmrgglProgramUniform3ui 265b8e80941SmrgglProgramUniform3uiv 266b8e80941SmrgglProgramUniform4f 267b8e80941SmrgglProgramUniform4fv 268b8e80941SmrgglProgramUniform4i 269b8e80941SmrgglProgramUniform4iv 270b8e80941SmrgglProgramUniform4ui 271b8e80941SmrgglProgramUniform4uiv 272b8e80941SmrgglProgramUniformMatrix2fv 273b8e80941SmrgglProgramUniformMatrix2x3fv 274b8e80941SmrgglProgramUniformMatrix2x4fv 275b8e80941SmrgglProgramUniformMatrix3fv 276b8e80941SmrgglProgramUniformMatrix3x2fv 277b8e80941SmrgglProgramUniformMatrix3x4fv 278b8e80941SmrgglProgramUniformMatrix4fv 279b8e80941SmrgglProgramUniformMatrix4x2fv 280b8e80941SmrgglProgramUniformMatrix4x3fv 281b8e80941SmrgglPushDebugGroup 282848b8605SmrgglReadBuffer 283848b8605SmrgglReadPixels 284b8e80941SmrgglReadnPixels 285848b8605SmrgglReleaseShaderCompiler 286848b8605SmrgglRenderbufferStorage 287848b8605SmrgglRenderbufferStorageMultisample 288848b8605SmrgglResumeTransformFeedback 289848b8605SmrgglSampleCoverage 290b8e80941SmrgglSampleMaski 291b8e80941SmrgglSamplerParameterIiv 292b8e80941SmrgglSamplerParameterIuiv 293848b8605SmrgglSamplerParameterf 294848b8605SmrgglSamplerParameterfv 295848b8605SmrgglSamplerParameteri 296848b8605SmrgglSamplerParameteriv 297848b8605SmrgglScissor 298848b8605SmrgglShaderBinary 299848b8605SmrgglShaderSource 300848b8605SmrgglStencilFunc 301848b8605SmrgglStencilFuncSeparate 302848b8605SmrgglStencilMask 303848b8605SmrgglStencilMaskSeparate 304848b8605SmrgglStencilOp 305848b8605SmrgglStencilOpSeparate 306b8e80941SmrgglTexBuffer 307b8e80941SmrgglTexBufferRange 308848b8605SmrgglTexImage2D 309848b8605SmrgglTexImage3D 310b8e80941SmrgglTexParameterIiv 311b8e80941SmrgglTexParameterIuiv 312848b8605SmrgglTexParameterf 313848b8605SmrgglTexParameterfv 314848b8605SmrgglTexParameteri 315848b8605SmrgglTexParameteriv 316848b8605SmrgglTexStorage2D 317b8e80941SmrgglTexStorage2DMultisample 318848b8605SmrgglTexStorage3D 319b8e80941SmrgglTexStorage3DMultisample 320848b8605SmrgglTexSubImage2D 321848b8605SmrgglTexSubImage3D 322848b8605SmrgglTransformFeedbackVaryings 323848b8605SmrgglUniform1f 324848b8605SmrgglUniform1fv 325848b8605SmrgglUniform1i 326848b8605SmrgglUniform1iv 327848b8605SmrgglUniform1ui 328848b8605SmrgglUniform1uiv 329848b8605SmrgglUniform2f 330848b8605SmrgglUniform2fv 331848b8605SmrgglUniform2i 332848b8605SmrgglUniform2iv 333848b8605SmrgglUniform2ui 334848b8605SmrgglUniform2uiv 335848b8605SmrgglUniform3f 336848b8605SmrgglUniform3fv 337848b8605SmrgglUniform3i 338848b8605SmrgglUniform3iv 339848b8605SmrgglUniform3ui 340848b8605SmrgglUniform3uiv 341848b8605SmrgglUniform4f 342848b8605SmrgglUniform4fv 343848b8605SmrgglUniform4i 344848b8605SmrgglUniform4iv 345848b8605SmrgglUniform4ui 346848b8605SmrgglUniform4uiv 347848b8605SmrgglUniformBlockBinding 348848b8605SmrgglUniformMatrix2fv 349848b8605SmrgglUniformMatrix2x3fv 350848b8605SmrgglUniformMatrix2x4fv 351848b8605SmrgglUniformMatrix3fv 352848b8605SmrgglUniformMatrix3x2fv 353848b8605SmrgglUniformMatrix3x4fv 354848b8605SmrgglUniformMatrix4fv 355848b8605SmrgglUniformMatrix4x2fv 356848b8605SmrgglUniformMatrix4x3fv 357848b8605SmrgglUnmapBuffer 358848b8605SmrgglUseProgram 359b8e80941SmrgglUseProgramStages 360848b8605SmrgglValidateProgram 361b8e80941SmrgglValidateProgramPipeline 362848b8605SmrgglVertexAttrib1f 363848b8605SmrgglVertexAttrib1fv 364848b8605SmrgglVertexAttrib2f 365848b8605SmrgglVertexAttrib2fv 366848b8605SmrgglVertexAttrib3f 367848b8605SmrgglVertexAttrib3fv 368848b8605SmrgglVertexAttrib4f 369848b8605SmrgglVertexAttrib4fv 370b8e80941SmrgglVertexAttribBinding 371848b8605SmrgglVertexAttribDivisor 372b8e80941SmrgglVertexAttribFormat 373848b8605SmrgglVertexAttribI4i 374848b8605SmrgglVertexAttribI4iv 375848b8605SmrgglVertexAttribI4ui 376848b8605SmrgglVertexAttribI4uiv 377b8e80941SmrgglVertexAttribIFormat 378848b8605SmrgglVertexAttribIPointer 379848b8605SmrgglVertexAttribPointer 380b8e80941SmrgglVertexBindingDivisor 381848b8605SmrgglViewport 382848b8605SmrgglWaitSync 383848b8605SmrgEOF 384848b8605Smrgdone) 385848b8605Smrg 386848b8605Smrgtest ! -n "$FUNCS" || echo $FUNCS 387848b8605Smrgtest ! -n "$FUNCS" 388