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