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