1#!/bin/sh 2set -eu 3 4# Print defined gl.* functions not in GL ES 1.1 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# or in extensions that are part of the ES 1.1 extension pack. 10# (see http://www.khronos.org/registry/gles/specs/1.1/opengles_spec_1_1_extension_pack.pdf) 11 12case "$(uname)" in 13Darwin) 14 LIB=${1-es1api/.libs/libGLESv1_CM.dylib} 15 ;; 16CYGWIN*) 17 LIB=${1-es1api/.libs/cygGLESv1_CM-1.dll} 18 ;; 19*) 20 LIB=${1-es1api/.libs/libGLESv1_CM.so.1} 21 ;; 22esac 23 24if ! [ -f "$LIB" ] 25then 26 exit 1 27fi 28 29FUNCS=$(nm -D --defined-only $LIB | grep -o 'T gl.*' | cut -c 3- | while read func; do 30( grep -q "^$func$" || echo $func ) <<EOF 31glActiveTexture 32glAlphaFunc 33glAlphaFuncx 34glBindBuffer 35glBindTexture 36glBlendFunc 37glBufferData 38glBufferSubData 39glClear 40glClearColor 41glClearColorx 42glClearDepthf 43glClearDepthx 44glClearStencil 45glClientActiveTexture 46glClipPlanef 47glClipPlanex 48glColor4f 49glColor4ub 50glColor4x 51glColorMask 52glColorPointer 53glCompressedTexImage2D 54glCompressedTexSubImage2D 55glCopyTexImage2D 56glCopyTexSubImage2D 57glCullFace 58glDeleteBuffers 59glDeleteTextures 60glDepthFunc 61glDepthMask 62glDepthRangef 63glDepthRangex 64glDisable 65glDisableClientState 66glDrawArrays 67glDrawElements 68glEGLImageTargetRenderbufferStorageOES 69glEGLImageTargetTexture2DOES 70glEnable 71glEnableClientState 72glFinish 73glFlush 74glFogf 75glFogfv 76glFogx 77glFogxv 78glFrontFace 79glFrustumf 80glFrustumx 81glGenBuffers 82glGenTextures 83glGetBooleanv 84glGetBufferParameteriv 85glGetClipPlanef 86glGetClipPlanex 87glGetError 88glGetFixedv 89glGetFloatv 90glGetIntegerv 91glGetLightfv 92glGetLightxv 93glGetMaterialfv 94glGetMaterialxv 95glGetPointerv 96glGetString 97glGetTexEnvfv 98glGetTexEnviv 99glGetTexEnvxv 100glGetTexParameterfv 101glGetTexParameteriv 102glGetTexParameterxv 103glHint 104glIsBuffer 105glIsEnabled 106glIsTexture 107glLightf 108glLightfv 109glLightModelf 110glLightModelfv 111glLightModelx 112glLightModelxv 113glLightx 114glLightxv 115glLineWidth 116glLineWidthx 117glLoadIdentity 118glLoadMatrixf 119glLoadMatrixx 120glLogicOp 121glMaterialf 122glMaterialfv 123glMaterialx 124glMaterialxv 125glMatrixMode 126glMultiDrawArraysEXT 127glMultiDrawElementsEXT 128glMultiTexCoord4f 129glMultiTexCoord4x 130glMultMatrixf 131glMultMatrixx 132glNormal3f 133glNormal3x 134glNormalPointer 135glOrthof 136glOrthox 137glPixelStorei 138glPointParameterf 139glPointParameterfv 140glPointParameterx 141glPointParameterxv 142glPointSize 143glPointSizePointerOES 144glPointSizex 145glPolygonOffset 146glPolygonOffsetx 147glPopMatrix 148glPushMatrix 149glReadPixels 150glRotatef 151glRotatex 152glSampleCoverage 153glSampleCoveragex 154glScalef 155glScalex 156glScissor 157glShadeModel 158glStencilFunc 159glStencilMask 160glStencilOp 161glTexCoordPointer 162glTexEnvf 163glTexEnvfv 164glTexEnvi 165glTexEnviv 166glTexEnvx 167glTexEnvxv 168glTexImage2D 169glTexParameterf 170glTexParameterfv 171glTexParameteri 172glTexParameteriv 173glTexParameterx 174glTexParameterxv 175glTexSubImage2D 176glTranslatef 177glTranslatex 178glVertexPointer 179glViewport 180EOF 181done) 182 183test ! -n "$FUNCS" || echo $FUNCS 184test ! -n "$FUNCS" 185