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