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