835882c954a0911719a01b98bcb9f54263994f9e
[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 LIB=${1-es2api/.libs/libGLESv2.so.2}
10
11 if ! [ -f "$LIB" ]
12 then
13 exit 1
14 fi
15
16 FUNCS=$(nm -D --defined-only $LIB | grep -o 'T gl.*' | cut -c 3- | while read func; do
17 ( grep -q "^$func$" || echo $func ) <<EOF
18 glActiveTexture
19 glAttachShader
20 glBeginQuery
21 glBeginTransformFeedback
22 glBindAttribLocation
23 glBindBuffer
24 glBindBufferBase
25 glBindBufferRange
26 glBindFramebuffer
27 glBindRenderbuffer
28 glBindSampler
29 glBindTexture
30 glBindTransformFeedback
31 glBindVertexArray
32 glBlendColor
33 glBlendEquation
34 glBlendEquationSeparate
35 glBlendFunc
36 glBlendFuncSeparate
37 glBlitFramebuffer
38 glBufferData
39 glBufferSubData
40 glCheckFramebufferStatus
41 glClear
42 glClearBufferfi
43 glClearBufferfv
44 glClearBufferiv
45 glClearBufferuiv
46 glClearColor
47 glClearDepthf
48 glClearStencil
49 glClientWaitSync
50 glColorMask
51 glCompileShader
52 glCompressedTexImage2D
53 glCompressedTexImage3D
54 glCompressedTexSubImage2D
55 glCompressedTexSubImage3D
56 glCopyBufferSubData
57 glCopyTexImage2D
58 glCopyTexSubImage2D
59 glCopyTexSubImage3D
60 glCreateProgram
61 glCreateShader
62 glCullFace
63 glDeleteBuffers
64 glDeleteFramebuffers
65 glDeleteProgram
66 glDeleteQueries
67 glDeleteRenderbuffers
68 glDeleteSamplers
69 glDeleteShader
70 glDeleteSync
71 glDeleteTextures
72 glDeleteTransformFeedbacks
73 glDeleteVertexArrays
74 glDepthFunc
75 glDepthMask
76 glDepthRangef
77 glDetachShader
78 glDisable
79 glDisableVertexAttribArray
80 glDrawArrays
81 glDrawArraysInstanced
82 glDrawBuffers
83 glDrawElements
84 glDrawElementsInstanced
85 glDrawRangeElements
86 glEGLImageTargetRenderbufferStorageOES
87 glEGLImageTargetTexture2DOES
88 glEnable
89 glEnableVertexAttribArray
90 glEndQuery
91 glEndTransformFeedback
92 glFenceSync
93 glFinish
94 glFlush
95 glFlushMappedBufferRange
96 glFramebufferRenderbuffer
97 glFramebufferTexture2D
98 glFramebufferTextureLayer
99 glFrontFace
100 glGenBuffers
101 glGenerateMipmap
102 glGenFramebuffers
103 glGenQueries
104 glGenRenderbuffers
105 glGenSamplers
106 glGenTextures
107 glGenTransformFeedbacks
108 glGenVertexArrays
109 glGetActiveAttrib
110 glGetActiveUniform
111 glGetActiveUniformBlockiv
112 glGetActiveUniformBlockName
113 glGetActiveUniformsiv
114 glGetAttachedShaders
115 glGetAttribLocation
116 glGetBooleanv
117 glGetBufferParameteri64v
118 glGetBufferParameteriv
119 glGetBufferPointerv
120 glGetError
121 glGetFloatv
122 glGetFragDataLocation
123 glGetFramebufferAttachmentParameteriv
124 glGetInteger64i_v
125 glGetInteger64v
126 glGetIntegeri_v
127 glGetIntegerv
128 glGetInternalformativ
129 glGetProgramBinary
130 glGetProgramInfoLog
131 glGetProgramiv
132 glGetQueryiv
133 glGetQueryObjectuiv
134 glGetRenderbufferParameteriv
135 glGetSamplerParameterfv
136 glGetSamplerParameteriv
137 glGetShaderInfoLog
138 glGetShaderiv
139 glGetShaderPrecisionFormat
140 glGetShaderSource
141 glGetString
142 glGetStringi
143 glGetSynciv
144 glGetTexParameterfv
145 glGetTexParameteriv
146 glGetTransformFeedbackVarying
147 glGetUniformBlockIndex
148 glGetUniformfv
149 glGetUniformIndices
150 glGetUniformiv
151 glGetUniformLocation
152 glGetUniformuiv
153 glGetVertexAttribfv
154 glGetVertexAttribIiv
155 glGetVertexAttribIuiv
156 glGetVertexAttribiv
157 glGetVertexAttribPointerv
158 glHint
159 glInvalidateFramebuffer
160 glInvalidateSubFramebuffer
161 glIsBuffer
162 glIsEnabled
163 glIsFramebuffer
164 glIsProgram
165 glIsQuery
166 glIsRenderbuffer
167 glIsSampler
168 glIsShader
169 glIsSync
170 glIsTexture
171 glIsTransformFeedback
172 glIsVertexArray
173 glLineWidth
174 glLinkProgram
175 glMapBufferRange
176 glMultiDrawArraysEXT
177 glMultiDrawElementsEXT
178 glPauseTransformFeedback
179 glPixelStorei
180 glPolygonOffset
181 glProgramBinary
182 glProgramParameteri
183 glReadBuffer
184 glReadPixels
185 glReleaseShaderCompiler
186 glRenderbufferStorage
187 glRenderbufferStorageMultisample
188 glResumeTransformFeedback
189 glSampleCoverage
190 glSamplerParameterf
191 glSamplerParameterfv
192 glSamplerParameteri
193 glSamplerParameteriv
194 glScissor
195 glShaderBinary
196 glShaderSource
197 glStencilFunc
198 glStencilFuncSeparate
199 glStencilMask
200 glStencilMaskSeparate
201 glStencilOp
202 glStencilOpSeparate
203 glTexImage2D
204 glTexImage3D
205 glTexParameterf
206 glTexParameterfv
207 glTexParameteri
208 glTexParameteriv
209 glTexStorage2D
210 glTexStorage3D
211 glTexSubImage2D
212 glTexSubImage3D
213 glTransformFeedbackVaryings
214 glUniform1f
215 glUniform1fv
216 glUniform1i
217 glUniform1iv
218 glUniform1ui
219 glUniform1uiv
220 glUniform2f
221 glUniform2fv
222 glUniform2i
223 glUniform2iv
224 glUniform2ui
225 glUniform2uiv
226 glUniform3f
227 glUniform3fv
228 glUniform3i
229 glUniform3iv
230 glUniform3ui
231 glUniform3uiv
232 glUniform4f
233 glUniform4fv
234 glUniform4i
235 glUniform4iv
236 glUniform4ui
237 glUniform4uiv
238 glUniformBlockBinding
239 glUniformMatrix2fv
240 glUniformMatrix2x3fv
241 glUniformMatrix2x4fv
242 glUniformMatrix3fv
243 glUniformMatrix3x2fv
244 glUniformMatrix3x4fv
245 glUniformMatrix4fv
246 glUniformMatrix4x2fv
247 glUniformMatrix4x3fv
248 glUnmapBuffer
249 glUseProgram
250 glValidateProgram
251 glVertexAttrib1f
252 glVertexAttrib1fv
253 glVertexAttrib2f
254 glVertexAttrib2fv
255 glVertexAttrib3f
256 glVertexAttrib3fv
257 glVertexAttrib4f
258 glVertexAttrib4fv
259 glVertexAttribDivisor
260 glVertexAttribI4i
261 glVertexAttribI4iv
262 glVertexAttribI4ui
263 glVertexAttribI4uiv
264 glVertexAttribIPointer
265 glVertexAttribPointer
266 glViewport
267 glWaitSync
268 EOF
269 done)
270
271 test ! -n "$FUNCS" || echo $FUNCS
272 test ! -n "$FUNCS"