1 /*
2 ** Copyright 2011, The Android Open Source Project
3 **
4 ** Licensed under the Apache License, Version 2.0 (the "License");
5 ** you may not use this file except in compliance with the License.
6 ** You may obtain a copy of the License at
7 **
8 ** http://www.apache.org/licenses/LICENSE-2.0
9 **
10 ** Unless required by applicable law or agreed to in writing, software
11 ** distributed under the License is distributed on an "AS IS" BASIS,
12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 ** See the License for the specific language governing permissions and
14 ** limitations under the License.
15 */
16
17 // auto generated by generate_caller_cpp.py
18 // implement declarations in caller.h
19
20 #include "header.h"
21
22 namespace android {
23
24 static const int * GenerateCall_glCompressedTexImage2D(DbgContext * const dbg,
25 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
26 static const int * GenerateCall_glCompressedTexSubImage2D(DbgContext * const dbg,
27 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
28 static const int * GenerateCall_glDrawElements(DbgContext * const dbg,
29 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
30 static const int * GenerateCall_glGenBuffers(DbgContext * const dbg,
31 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
32 static const int * GenerateCall_glGenFramebuffers(DbgContext * const dbg,
33 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
34 static const int * GenerateCall_glGenRenderbuffers(DbgContext * const dbg,
35 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
36 static const int * GenerateCall_glGenTextures(DbgContext * const dbg,
37 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
38 static const int * GenerateCall_glGetActiveAttrib(DbgContext * const dbg,
39 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
40 static const int * GenerateCall_glGetActiveUniform(DbgContext * const dbg,
41 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
42 static const int * GenerateCall_glGetAttachedShaders(DbgContext * const dbg,
43 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
44 static const int * GenerateCall_glGetBooleanv(DbgContext * const dbg,
45 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
46 static const int * GenerateCall_glGetBufferParameteriv(DbgContext * const dbg,
47 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
48 static const int * GenerateCall_glGetFloatv(DbgContext * const dbg,
49 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
50 static const int * GenerateCall_glGetFramebufferAttachmentParameteriv(DbgContext * const dbg,
51 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
52 static const int * GenerateCall_glGetIntegerv(DbgContext * const dbg,
53 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
54 static const int * GenerateCall_glGetProgramiv(DbgContext * const dbg,
55 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
56 static const int * GenerateCall_glGetProgramInfoLog(DbgContext * const dbg,
57 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
58 static const int * GenerateCall_glGetRenderbufferParameteriv(DbgContext * const dbg,
59 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
60 static const int * GenerateCall_glGetShaderiv(DbgContext * const dbg,
61 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
62 static const int * GenerateCall_glGetShaderInfoLog(DbgContext * const dbg,
63 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
64 static const int * GenerateCall_glGetShaderPrecisionFormat(DbgContext * const dbg,
65 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
66 static const int * GenerateCall_glGetShaderSource(DbgContext * const dbg,
67 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
68 static const int * GenerateCall_glGetString(DbgContext * const dbg,
69 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
70 static const int * GenerateCall_glGetTexParameterfv(DbgContext * const dbg,
71 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
72 static const int * GenerateCall_glGetTexParameteriv(DbgContext * const dbg,
73 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
74 static const int * GenerateCall_glGetUniformfv(DbgContext * const dbg,
75 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
76 static const int * GenerateCall_glGetUniformiv(DbgContext * const dbg,
77 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
78 static const int * GenerateCall_glGetVertexAttribfv(DbgContext * const dbg,
79 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
80 static const int * GenerateCall_glGetVertexAttribiv(DbgContext * const dbg,
81 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
82 static const int * GenerateCall_glGetVertexAttribPointerv(DbgContext * const dbg,
83 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
84 static const int * GenerateCall_glReadPixels(DbgContext * const dbg,
85 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
86 static const int * GenerateCall_glShaderBinary(DbgContext * const dbg,
87 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
88 static const int * GenerateCall_glShaderSource(DbgContext * const dbg,
89 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
90 static const int * GenerateCall_glTexImage2D(DbgContext * const dbg,
91 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
92 static const int * GenerateCall_glTexParameterfv(DbgContext * const dbg,
93 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
94 static const int * GenerateCall_glTexParameteriv(DbgContext * const dbg,
95 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
96 static const int * GenerateCall_glTexSubImage2D(DbgContext * const dbg,
97 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
98 static const int * GenerateCall_glVertexAttribPointer(DbgContext * const dbg,
99 const glesv2debugger::Message & cmd, glesv2debugger::Message & msg, const int * const prevRet);
100
101 #include "caller.h"
102
GenerateCall(DbgContext * const dbg,const glesv2debugger::Message & cmd,glesv2debugger::Message & msg,const int * const prevRet)103 const int * GenerateCall(DbgContext * const dbg, const glesv2debugger::Message & cmd,
104 glesv2debugger::Message & msg, const int * const prevRet)
105 {
106 LOGD("GenerateCall function=%u", cmd.function());
107 const int * ret = prevRet; // only some functions have return value
108 nsecs_t c0 = systemTime(timeMode);
109 switch (cmd.function()) { case glesv2debugger::Message_Function_glActiveTexture:
110 dbg->hooks->gl.glActiveTexture(
111 static_cast<GLenum>(cmd.arg0()));
112 break;
113 case glesv2debugger::Message_Function_glAttachShader:
114 dbg->hooks->gl.glAttachShader(
115 static_cast<GLuint>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
116 );
117 break;
118 case glesv2debugger::Message_Function_glBindAttribLocation:
119 dbg->hooks->gl.glBindAttribLocation(
120 static_cast<GLuint>(cmd.arg0()), static_cast<GLuint>(cmd.arg1()),
121 reinterpret_cast<GLchar*>(const_cast<char *>(cmd.data().data()))
122 );
123 break;
124 case glesv2debugger::Message_Function_glBindBuffer:
125 dbg->hooks->gl.glBindBuffer(
126 static_cast<GLenum>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
127 );
128 break;
129 case glesv2debugger::Message_Function_glBindFramebuffer:
130 dbg->hooks->gl.glBindFramebuffer(
131 static_cast<GLenum>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
132 );
133 break;
134 case glesv2debugger::Message_Function_glBindRenderbuffer:
135 dbg->hooks->gl.glBindRenderbuffer(
136 static_cast<GLenum>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
137 );
138 break;
139 case glesv2debugger::Message_Function_glBindTexture:
140 dbg->hooks->gl.glBindTexture(
141 static_cast<GLenum>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
142 );
143 break;
144 case glesv2debugger::Message_Function_glBlendColor:
145 dbg->hooks->gl.glBlendColor(
146 static_cast<GLclampf>(cmd.arg0()), static_cast<GLclampf>(cmd.arg1()),
147 static_cast<GLclampf>(cmd.arg2()), static_cast<GLclampf>(cmd.arg3())
148 );
149 break;
150 case glesv2debugger::Message_Function_glBlendEquation:
151 dbg->hooks->gl.glBlendEquation(
152 static_cast<GLenum>(cmd.arg0()));
153 break;
154 case glesv2debugger::Message_Function_glBlendEquationSeparate:
155 dbg->hooks->gl.glBlendEquationSeparate(
156 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1())
157 );
158 break;
159 case glesv2debugger::Message_Function_glBlendFunc:
160 dbg->hooks->gl.glBlendFunc(
161 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1())
162 );
163 break;
164 case glesv2debugger::Message_Function_glBlendFuncSeparate:
165 dbg->hooks->gl.glBlendFuncSeparate(
166 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
167 static_cast<GLenum>(cmd.arg2()), static_cast<GLenum>(cmd.arg3())
168 );
169 break;
170 case glesv2debugger::Message_Function_glBufferData:
171 dbg->hooks->gl.glBufferData(
172 static_cast<GLenum>(cmd.arg0()), static_cast<GLsizeiptr>(cmd.arg1()),
173 reinterpret_cast<GLvoid*>(const_cast<char *>(cmd.data().data())),
174 static_cast<GLenum>(cmd.arg3()));
175 break;
176 case glesv2debugger::Message_Function_glBufferSubData:
177 dbg->hooks->gl.glBufferSubData(
178 static_cast<GLenum>(cmd.arg0()), static_cast<GLintptr>(cmd.arg1()),
179 static_cast<GLsizeiptr>(cmd.arg2()), reinterpret_cast<GLvoid*>(const_cast<char *>(cmd.data().data()))
180 );
181 break;
182 case glesv2debugger::Message_Function_glCheckFramebufferStatus:
183 msg.set_ret(static_cast<int>(dbg->hooks->gl.glCheckFramebufferStatus(
184 static_cast<GLenum>(cmd.arg0()))));
185 if (cmd.has_ret())
186 ret = reinterpret_cast<int *>(msg.ret());
187 break;
188 case glesv2debugger::Message_Function_glClear:
189 dbg->hooks->gl.glClear(
190 static_cast<GLbitfield>(cmd.arg0()));
191 break;
192 case glesv2debugger::Message_Function_glClearColor:
193 dbg->hooks->gl.glClearColor(
194 static_cast<GLclampf>(cmd.arg0()), static_cast<GLclampf>(cmd.arg1()),
195 static_cast<GLclampf>(cmd.arg2()), static_cast<GLclampf>(cmd.arg3())
196 );
197 break;
198 case glesv2debugger::Message_Function_glClearDepthf:
199 dbg->hooks->gl.glClearDepthf(
200 static_cast<GLclampf>(cmd.arg0()));
201 break;
202 case glesv2debugger::Message_Function_glClearStencil:
203 dbg->hooks->gl.glClearStencil(
204 static_cast<GLint>(cmd.arg0()));
205 break;
206 case glesv2debugger::Message_Function_glColorMask:
207 dbg->hooks->gl.glColorMask(
208 GLboolean(cmd.arg0()), GLboolean(cmd.arg1()), GLboolean(cmd.arg2()),
209 GLboolean(cmd.arg3()));
210 break;
211 case glesv2debugger::Message_Function_glCompileShader:
212 dbg->hooks->gl.glCompileShader(
213 static_cast<GLuint>(cmd.arg0()));
214 break;
215 case glesv2debugger::Message_Function_glCompressedTexImage2D:
216 ret = GenerateCall_glCompressedTexImage2D(dbg, cmd, msg, prevRet);
217 break;
218 case glesv2debugger::Message_Function_glCompressedTexSubImage2D:
219 ret = GenerateCall_glCompressedTexSubImage2D(dbg, cmd, msg, prevRet);
220 break;
221 case glesv2debugger::Message_Function_glCopyTexImage2D:
222 dbg->hooks->gl.glCopyTexImage2D(
223 static_cast<GLenum>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
224 static_cast<GLenum>(cmd.arg2()), static_cast<GLint>(cmd.arg3()),
225 static_cast<GLint>(cmd.arg4()), static_cast<GLsizei>(cmd.arg5()),
226 static_cast<GLsizei>(cmd.arg6()), static_cast<GLint>(cmd.arg7())
227 );
228 break;
229 case glesv2debugger::Message_Function_glCopyTexSubImage2D:
230 dbg->hooks->gl.glCopyTexSubImage2D(
231 static_cast<GLenum>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
232 static_cast<GLint>(cmd.arg2()), static_cast<GLint>(cmd.arg3()),
233 static_cast<GLint>(cmd.arg4()), static_cast<GLint>(cmd.arg5()),
234 static_cast<GLsizei>(cmd.arg6()), static_cast<GLsizei>(cmd.arg7())
235 );
236 break;
237 case glesv2debugger::Message_Function_glCreateProgram:
238 msg.set_ret(static_cast<int>(dbg->hooks->gl.glCreateProgram(
239 )));
240 if (cmd.has_ret())
241 ret = reinterpret_cast<int *>(msg.ret());
242 break;
243 case glesv2debugger::Message_Function_glCreateShader:
244 msg.set_ret(static_cast<int>(dbg->hooks->gl.glCreateShader(
245 static_cast<GLenum>(cmd.arg0()))));
246 if (cmd.has_ret())
247 ret = reinterpret_cast<int *>(msg.ret());
248 break;
249 case glesv2debugger::Message_Function_glCullFace:
250 dbg->hooks->gl.glCullFace(
251 static_cast<GLenum>(cmd.arg0()));
252 break;
253 case glesv2debugger::Message_Function_glDeleteBuffers:
254 dbg->hooks->gl.glDeleteBuffers(
255 static_cast<GLsizei>(cmd.arg0()), reinterpret_cast<GLuint*>(const_cast<char *>(cmd.data().data()))
256 );
257 break;
258 case glesv2debugger::Message_Function_glDeleteFramebuffers:
259 dbg->hooks->gl.glDeleteFramebuffers(
260 static_cast<GLsizei>(cmd.arg0()), reinterpret_cast<GLuint*>(const_cast<char *>(cmd.data().data()))
261 );
262 break;
263 case glesv2debugger::Message_Function_glDeleteProgram:
264 dbg->hooks->gl.glDeleteProgram(
265 static_cast<GLuint>(cmd.arg0()));
266 break;
267 case glesv2debugger::Message_Function_glDeleteRenderbuffers:
268 dbg->hooks->gl.glDeleteRenderbuffers(
269 static_cast<GLsizei>(cmd.arg0()), reinterpret_cast<GLuint*>(const_cast<char *>(cmd.data().data()))
270 );
271 break;
272 case glesv2debugger::Message_Function_glDeleteShader:
273 dbg->hooks->gl.glDeleteShader(
274 static_cast<GLuint>(cmd.arg0()));
275 break;
276 case glesv2debugger::Message_Function_glDeleteTextures:
277 dbg->hooks->gl.glDeleteTextures(
278 static_cast<GLsizei>(cmd.arg0()), reinterpret_cast<GLuint*>(const_cast<char *>(cmd.data().data()))
279 );
280 break;
281 case glesv2debugger::Message_Function_glDepthFunc:
282 dbg->hooks->gl.glDepthFunc(
283 static_cast<GLenum>(cmd.arg0()));
284 break;
285 case glesv2debugger::Message_Function_glDepthMask:
286 dbg->hooks->gl.glDepthMask(
287 GLboolean(cmd.arg0()));
288 break;
289 case glesv2debugger::Message_Function_glDepthRangef:
290 dbg->hooks->gl.glDepthRangef(
291 static_cast<GLclampf>(cmd.arg0()), static_cast<GLclampf>(cmd.arg1())
292 );
293 break;
294 case glesv2debugger::Message_Function_glDetachShader:
295 dbg->hooks->gl.glDetachShader(
296 static_cast<GLuint>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
297 );
298 break;
299 case glesv2debugger::Message_Function_glDisable:
300 dbg->hooks->gl.glDisable(
301 static_cast<GLenum>(cmd.arg0()));
302 break;
303 case glesv2debugger::Message_Function_glDisableVertexAttribArray:
304 dbg->hooks->gl.glDisableVertexAttribArray(
305 static_cast<GLuint>(cmd.arg0()));
306 break;
307 case glesv2debugger::Message_Function_glDrawArrays:
308 dbg->hooks->gl.glDrawArrays(
309 static_cast<GLenum>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
310 static_cast<GLsizei>(cmd.arg2()));
311 break;
312 case glesv2debugger::Message_Function_glDrawElements:
313 ret = GenerateCall_glDrawElements(dbg, cmd, msg, prevRet);
314 break;
315 case glesv2debugger::Message_Function_glEnable:
316 dbg->hooks->gl.glEnable(
317 static_cast<GLenum>(cmd.arg0()));
318 break;
319 case glesv2debugger::Message_Function_glEnableVertexAttribArray:
320 dbg->hooks->gl.glEnableVertexAttribArray(
321 static_cast<GLuint>(cmd.arg0()));
322 break;
323 case glesv2debugger::Message_Function_glFinish:
324 dbg->hooks->gl.glFinish(
325 );
326 break;
327 case glesv2debugger::Message_Function_glFlush:
328 dbg->hooks->gl.glFlush(
329 );
330 break;
331 case glesv2debugger::Message_Function_glFramebufferRenderbuffer:
332 dbg->hooks->gl.glFramebufferRenderbuffer(
333 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
334 static_cast<GLenum>(cmd.arg2()), static_cast<GLuint>(cmd.arg3())
335 );
336 break;
337 case glesv2debugger::Message_Function_glFramebufferTexture2D:
338 dbg->hooks->gl.glFramebufferTexture2D(
339 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
340 static_cast<GLenum>(cmd.arg2()), static_cast<GLuint>(cmd.arg3()),
341 static_cast<GLint>(cmd.arg4()));
342 break;
343 case glesv2debugger::Message_Function_glFrontFace:
344 dbg->hooks->gl.glFrontFace(
345 static_cast<GLenum>(cmd.arg0()));
346 break;
347 case glesv2debugger::Message_Function_glGenBuffers:
348 ret = GenerateCall_glGenBuffers(dbg, cmd, msg, prevRet);
349 break; // annotated output pointers
350 case glesv2debugger::Message_Function_glGenerateMipmap:
351 dbg->hooks->gl.glGenerateMipmap(
352 static_cast<GLenum>(cmd.arg0()));
353 break;
354 case glesv2debugger::Message_Function_glGenFramebuffers:
355 ret = GenerateCall_glGenFramebuffers(dbg, cmd, msg, prevRet);
356 break; // annotated output pointers
357 case glesv2debugger::Message_Function_glGenRenderbuffers:
358 ret = GenerateCall_glGenRenderbuffers(dbg, cmd, msg, prevRet);
359 break; // annotated output pointers
360 case glesv2debugger::Message_Function_glGenTextures:
361 ret = GenerateCall_glGenTextures(dbg, cmd, msg, prevRet);
362 break; // annotated output pointers
363 case glesv2debugger::Message_Function_glGetActiveAttrib:
364 ret = GenerateCall_glGetActiveAttrib(dbg, cmd, msg, prevRet);
365 break;
366 case glesv2debugger::Message_Function_glGetActiveUniform:
367 ret = GenerateCall_glGetActiveUniform(dbg, cmd, msg, prevRet);
368 break;
369 case glesv2debugger::Message_Function_glGetAttachedShaders:
370 ret = GenerateCall_glGetAttachedShaders(dbg, cmd, msg, prevRet);
371 break;
372 case glesv2debugger::Message_Function_glGetAttribLocation:
373 msg.set_ret(static_cast<int>(dbg->hooks->gl.glGetAttribLocation(
374 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLchar*>(const_cast<char *>(cmd.data().data()))
375 )));
376 if (cmd.has_ret())
377 ret = reinterpret_cast<int *>(msg.ret());
378 break;
379 case glesv2debugger::Message_Function_glGetBooleanv:
380 ret = GenerateCall_glGetBooleanv(dbg, cmd, msg, prevRet);
381 break;
382 case glesv2debugger::Message_Function_glGetBufferParameteriv:
383 ret = GenerateCall_glGetBufferParameteriv(dbg, cmd, msg, prevRet);
384 break;
385 case glesv2debugger::Message_Function_glGetError:
386 msg.set_ret(static_cast<int>(dbg->hooks->gl.glGetError(
387 )));
388 if (cmd.has_ret())
389 ret = reinterpret_cast<int *>(msg.ret());
390 break;
391 case glesv2debugger::Message_Function_glGetFloatv:
392 ret = GenerateCall_glGetFloatv(dbg, cmd, msg, prevRet);
393 break;
394 case glesv2debugger::Message_Function_glGetFramebufferAttachmentParameteriv:
395 ret = GenerateCall_glGetFramebufferAttachmentParameteriv(dbg, cmd, msg, prevRet);
396 break;
397 case glesv2debugger::Message_Function_glGetIntegerv:
398 ret = GenerateCall_glGetIntegerv(dbg, cmd, msg, prevRet);
399 break;
400 case glesv2debugger::Message_Function_glGetProgramiv:
401 ret = GenerateCall_glGetProgramiv(dbg, cmd, msg, prevRet);
402 break; // annotated output pointers
403 case glesv2debugger::Message_Function_glGetProgramInfoLog:
404 ret = GenerateCall_glGetProgramInfoLog(dbg, cmd, msg, prevRet);
405 break;
406 case glesv2debugger::Message_Function_glGetRenderbufferParameteriv:
407 ret = GenerateCall_glGetRenderbufferParameteriv(dbg, cmd, msg, prevRet);
408 break;
409 case glesv2debugger::Message_Function_glGetShaderiv:
410 ret = GenerateCall_glGetShaderiv(dbg, cmd, msg, prevRet);
411 break; // annotated output pointers
412 case glesv2debugger::Message_Function_glGetShaderInfoLog:
413 ret = GenerateCall_glGetShaderInfoLog(dbg, cmd, msg, prevRet);
414 break;
415 case glesv2debugger::Message_Function_glGetShaderPrecisionFormat:
416 ret = GenerateCall_glGetShaderPrecisionFormat(dbg, cmd, msg, prevRet);
417 break;
418 case glesv2debugger::Message_Function_glGetShaderSource:
419 ret = GenerateCall_glGetShaderSource(dbg, cmd, msg, prevRet);
420 break;
421 case glesv2debugger::Message_Function_glGetString:
422 ret = GenerateCall_glGetString(dbg, cmd, msg, prevRet);
423 break;
424 case glesv2debugger::Message_Function_glGetTexParameterfv:
425 ret = GenerateCall_glGetTexParameterfv(dbg, cmd, msg, prevRet);
426 break;
427 case glesv2debugger::Message_Function_glGetTexParameteriv:
428 ret = GenerateCall_glGetTexParameteriv(dbg, cmd, msg, prevRet);
429 break;
430 case glesv2debugger::Message_Function_glGetUniformfv:
431 ret = GenerateCall_glGetUniformfv(dbg, cmd, msg, prevRet);
432 break;
433 case glesv2debugger::Message_Function_glGetUniformiv:
434 ret = GenerateCall_glGetUniformiv(dbg, cmd, msg, prevRet);
435 break;
436 case glesv2debugger::Message_Function_glGetUniformLocation:
437 msg.set_ret(static_cast<int>(dbg->hooks->gl.glGetUniformLocation(
438 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLchar*>(const_cast<char *>(cmd.data().data()))
439 )));
440 if (cmd.has_ret())
441 ret = reinterpret_cast<int *>(msg.ret());
442 break;
443 case glesv2debugger::Message_Function_glGetVertexAttribfv:
444 ret = GenerateCall_glGetVertexAttribfv(dbg, cmd, msg, prevRet);
445 break;
446 case glesv2debugger::Message_Function_glGetVertexAttribiv:
447 ret = GenerateCall_glGetVertexAttribiv(dbg, cmd, msg, prevRet);
448 break;
449 case glesv2debugger::Message_Function_glGetVertexAttribPointerv:
450 ret = GenerateCall_glGetVertexAttribPointerv(dbg, cmd, msg, prevRet);
451 break;
452 case glesv2debugger::Message_Function_glHint:
453 dbg->hooks->gl.glHint(
454 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1())
455 );
456 break;
457 case glesv2debugger::Message_Function_glIsBuffer:
458 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsBuffer(
459 static_cast<GLuint>(cmd.arg0()))));
460 if (cmd.has_ret())
461 ret = reinterpret_cast<int *>(msg.ret());
462 break;
463 case glesv2debugger::Message_Function_glIsEnabled:
464 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsEnabled(
465 static_cast<GLenum>(cmd.arg0()))));
466 if (cmd.has_ret())
467 ret = reinterpret_cast<int *>(msg.ret());
468 break;
469 case glesv2debugger::Message_Function_glIsFramebuffer:
470 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsFramebuffer(
471 static_cast<GLuint>(cmd.arg0()))));
472 if (cmd.has_ret())
473 ret = reinterpret_cast<int *>(msg.ret());
474 break;
475 case glesv2debugger::Message_Function_glIsProgram:
476 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsProgram(
477 static_cast<GLuint>(cmd.arg0()))));
478 if (cmd.has_ret())
479 ret = reinterpret_cast<int *>(msg.ret());
480 break;
481 case glesv2debugger::Message_Function_glIsRenderbuffer:
482 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsRenderbuffer(
483 static_cast<GLuint>(cmd.arg0()))));
484 if (cmd.has_ret())
485 ret = reinterpret_cast<int *>(msg.ret());
486 break;
487 case glesv2debugger::Message_Function_glIsShader:
488 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsShader(
489 static_cast<GLuint>(cmd.arg0()))));
490 if (cmd.has_ret())
491 ret = reinterpret_cast<int *>(msg.ret());
492 break;
493 case glesv2debugger::Message_Function_glIsTexture:
494 msg.set_ret(static_cast<int>(dbg->hooks->gl.glIsTexture(
495 static_cast<GLuint>(cmd.arg0()))));
496 if (cmd.has_ret())
497 ret = reinterpret_cast<int *>(msg.ret());
498 break;
499 case glesv2debugger::Message_Function_glLineWidth:
500 dbg->hooks->gl.glLineWidth(
501 static_cast<GLfloat>(cmd.arg0()));
502 break;
503 case glesv2debugger::Message_Function_glLinkProgram:
504 dbg->hooks->gl.glLinkProgram(
505 static_cast<GLuint>(cmd.arg0()));
506 break;
507 case glesv2debugger::Message_Function_glPixelStorei:
508 dbg->hooks->gl.glPixelStorei(
509 static_cast<GLenum>(cmd.arg0()), static_cast<GLint>(cmd.arg1())
510 );
511 break;
512 case glesv2debugger::Message_Function_glPolygonOffset:
513 dbg->hooks->gl.glPolygonOffset(
514 static_cast<GLfloat>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1())
515 );
516 break;
517 case glesv2debugger::Message_Function_glReadPixels:
518 ret = GenerateCall_glReadPixels(dbg, cmd, msg, prevRet);
519 break;
520 case glesv2debugger::Message_Function_glReleaseShaderCompiler:
521 dbg->hooks->gl.glReleaseShaderCompiler(
522 );
523 break;
524 case glesv2debugger::Message_Function_glRenderbufferStorage:
525 dbg->hooks->gl.glRenderbufferStorage(
526 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
527 static_cast<GLsizei>(cmd.arg2()), static_cast<GLsizei>(cmd.arg3())
528 );
529 break;
530 case glesv2debugger::Message_Function_glSampleCoverage:
531 dbg->hooks->gl.glSampleCoverage(
532 static_cast<GLclampf>(cmd.arg0()), GLboolean(cmd.arg1()));
533 break;
534 case glesv2debugger::Message_Function_glScissor:
535 dbg->hooks->gl.glScissor(
536 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
537 static_cast<GLsizei>(cmd.arg2()), static_cast<GLsizei>(cmd.arg3())
538 );
539 break;
540 case glesv2debugger::Message_Function_glShaderBinary:
541 ret = GenerateCall_glShaderBinary(dbg, cmd, msg, prevRet);
542 break;
543 case glesv2debugger::Message_Function_glShaderSource:
544 ret = GenerateCall_glShaderSource(dbg, cmd, msg, prevRet);
545 break;
546 case glesv2debugger::Message_Function_glStencilFunc:
547 dbg->hooks->gl.glStencilFunc(
548 static_cast<GLenum>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
549 static_cast<GLuint>(cmd.arg2()));
550 break;
551 case glesv2debugger::Message_Function_glStencilFuncSeparate:
552 dbg->hooks->gl.glStencilFuncSeparate(
553 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
554 static_cast<GLint>(cmd.arg2()), static_cast<GLuint>(cmd.arg3())
555 );
556 break;
557 case glesv2debugger::Message_Function_glStencilMask:
558 dbg->hooks->gl.glStencilMask(
559 static_cast<GLuint>(cmd.arg0()));
560 break;
561 case glesv2debugger::Message_Function_glStencilMaskSeparate:
562 dbg->hooks->gl.glStencilMaskSeparate(
563 static_cast<GLenum>(cmd.arg0()), static_cast<GLuint>(cmd.arg1())
564 );
565 break;
566 case glesv2debugger::Message_Function_glStencilOp:
567 dbg->hooks->gl.glStencilOp(
568 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
569 static_cast<GLenum>(cmd.arg2()));
570 break;
571 case glesv2debugger::Message_Function_glStencilOpSeparate:
572 dbg->hooks->gl.glStencilOpSeparate(
573 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
574 static_cast<GLenum>(cmd.arg2()), static_cast<GLenum>(cmd.arg3())
575 );
576 break;
577 case glesv2debugger::Message_Function_glTexImage2D:
578 ret = GenerateCall_glTexImage2D(dbg, cmd, msg, prevRet);
579 break;
580 case glesv2debugger::Message_Function_glTexParameterf:
581 dbg->hooks->gl.glTexParameterf(
582 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
583 static_cast<GLfloat>(cmd.arg2()));
584 break;
585 case glesv2debugger::Message_Function_glTexParameterfv:
586 ret = GenerateCall_glTexParameterfv(dbg, cmd, msg, prevRet);
587 break;
588 case glesv2debugger::Message_Function_glTexParameteri:
589 dbg->hooks->gl.glTexParameteri(
590 static_cast<GLenum>(cmd.arg0()), static_cast<GLenum>(cmd.arg1()),
591 static_cast<GLint>(cmd.arg2()));
592 break;
593 case glesv2debugger::Message_Function_glTexParameteriv:
594 ret = GenerateCall_glTexParameteriv(dbg, cmd, msg, prevRet);
595 break;
596 case glesv2debugger::Message_Function_glTexSubImage2D:
597 ret = GenerateCall_glTexSubImage2D(dbg, cmd, msg, prevRet);
598 break;
599 case glesv2debugger::Message_Function_glUniform1f:
600 dbg->hooks->gl.glUniform1f(
601 static_cast<GLint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1())
602 );
603 break;
604 case glesv2debugger::Message_Function_glUniform1fv:
605 dbg->hooks->gl.glUniform1fv(
606 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
607 reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
608 );
609 break;
610 case glesv2debugger::Message_Function_glUniform1i:
611 dbg->hooks->gl.glUniform1i(
612 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1())
613 );
614 break;
615 case glesv2debugger::Message_Function_glUniform1iv:
616 dbg->hooks->gl.glUniform1iv(
617 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
618 reinterpret_cast<GLint*>(const_cast<char *>(cmd.data().data()))
619 );
620 break;
621 case glesv2debugger::Message_Function_glUniform2f:
622 dbg->hooks->gl.glUniform2f(
623 static_cast<GLint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
624 static_cast<GLfloat>(cmd.arg2()));
625 break;
626 case glesv2debugger::Message_Function_glUniform2fv:
627 dbg->hooks->gl.glUniform2fv(
628 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
629 reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
630 );
631 break;
632 case glesv2debugger::Message_Function_glUniform2i:
633 dbg->hooks->gl.glUniform2i(
634 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
635 static_cast<GLint>(cmd.arg2()));
636 break;
637 case glesv2debugger::Message_Function_glUniform2iv:
638 dbg->hooks->gl.glUniform2iv(
639 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
640 reinterpret_cast<GLint*>(const_cast<char *>(cmd.data().data()))
641 );
642 break;
643 case glesv2debugger::Message_Function_glUniform3f:
644 dbg->hooks->gl.glUniform3f(
645 static_cast<GLint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
646 static_cast<GLfloat>(cmd.arg2()), static_cast<GLfloat>(cmd.arg3())
647 );
648 break;
649 case glesv2debugger::Message_Function_glUniform3fv:
650 dbg->hooks->gl.glUniform3fv(
651 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
652 reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
653 );
654 break;
655 case glesv2debugger::Message_Function_glUniform3i:
656 dbg->hooks->gl.glUniform3i(
657 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
658 static_cast<GLint>(cmd.arg2()), static_cast<GLint>(cmd.arg3())
659 );
660 break;
661 case glesv2debugger::Message_Function_glUniform3iv:
662 dbg->hooks->gl.glUniform3iv(
663 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
664 reinterpret_cast<GLint*>(const_cast<char *>(cmd.data().data()))
665 );
666 break;
667 case glesv2debugger::Message_Function_glUniform4f:
668 dbg->hooks->gl.glUniform4f(
669 static_cast<GLint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
670 static_cast<GLfloat>(cmd.arg2()), static_cast<GLfloat>(cmd.arg3()),
671 static_cast<GLfloat>(cmd.arg4()));
672 break;
673 case glesv2debugger::Message_Function_glUniform4fv:
674 dbg->hooks->gl.glUniform4fv(
675 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
676 reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
677 );
678 break;
679 case glesv2debugger::Message_Function_glUniform4i:
680 dbg->hooks->gl.glUniform4i(
681 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
682 static_cast<GLint>(cmd.arg2()), static_cast<GLint>(cmd.arg3()),
683 static_cast<GLint>(cmd.arg4()));
684 break;
685 case glesv2debugger::Message_Function_glUniform4iv:
686 dbg->hooks->gl.glUniform4iv(
687 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
688 reinterpret_cast<GLint*>(const_cast<char *>(cmd.data().data()))
689 );
690 break;
691 case glesv2debugger::Message_Function_glUniformMatrix2fv:
692 dbg->hooks->gl.glUniformMatrix2fv(
693 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
694 GLboolean(cmd.arg2()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
695 );
696 break;
697 case glesv2debugger::Message_Function_glUniformMatrix3fv:
698 dbg->hooks->gl.glUniformMatrix3fv(
699 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
700 GLboolean(cmd.arg2()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
701 );
702 break;
703 case glesv2debugger::Message_Function_glUniformMatrix4fv:
704 dbg->hooks->gl.glUniformMatrix4fv(
705 static_cast<GLint>(cmd.arg0()), static_cast<GLsizei>(cmd.arg1()),
706 GLboolean(cmd.arg2()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
707 );
708 break;
709 case glesv2debugger::Message_Function_glUseProgram:
710 dbg->hooks->gl.glUseProgram(
711 static_cast<GLuint>(cmd.arg0()));
712 break;
713 case glesv2debugger::Message_Function_glValidateProgram:
714 dbg->hooks->gl.glValidateProgram(
715 static_cast<GLuint>(cmd.arg0()));
716 break;
717 case glesv2debugger::Message_Function_glVertexAttrib1f:
718 dbg->hooks->gl.glVertexAttrib1f(
719 static_cast<GLuint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1())
720 );
721 break;
722 case glesv2debugger::Message_Function_glVertexAttrib1fv:
723 dbg->hooks->gl.glVertexAttrib1fv(
724 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
725 );
726 break;
727 case glesv2debugger::Message_Function_glVertexAttrib2f:
728 dbg->hooks->gl.glVertexAttrib2f(
729 static_cast<GLuint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
730 static_cast<GLfloat>(cmd.arg2()));
731 break;
732 case glesv2debugger::Message_Function_glVertexAttrib2fv:
733 dbg->hooks->gl.glVertexAttrib2fv(
734 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
735 );
736 break;
737 case glesv2debugger::Message_Function_glVertexAttrib3f:
738 dbg->hooks->gl.glVertexAttrib3f(
739 static_cast<GLuint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
740 static_cast<GLfloat>(cmd.arg2()), static_cast<GLfloat>(cmd.arg3())
741 );
742 break;
743 case glesv2debugger::Message_Function_glVertexAttrib3fv:
744 dbg->hooks->gl.glVertexAttrib3fv(
745 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
746 );
747 break;
748 case glesv2debugger::Message_Function_glVertexAttrib4f:
749 dbg->hooks->gl.glVertexAttrib4f(
750 static_cast<GLuint>(cmd.arg0()), static_cast<GLfloat>(cmd.arg1()),
751 static_cast<GLfloat>(cmd.arg2()), static_cast<GLfloat>(cmd.arg3()),
752 static_cast<GLfloat>(cmd.arg4()));
753 break;
754 case glesv2debugger::Message_Function_glVertexAttrib4fv:
755 dbg->hooks->gl.glVertexAttrib4fv(
756 static_cast<GLuint>(cmd.arg0()), reinterpret_cast<GLfloat*>(const_cast<char *>(cmd.data().data()))
757 );
758 break;
759 case glesv2debugger::Message_Function_glVertexAttribPointer:
760 ret = GenerateCall_glVertexAttribPointer(dbg, cmd, msg, prevRet);
761 break;
762 case glesv2debugger::Message_Function_glViewport:
763 dbg->hooks->gl.glViewport(
764 static_cast<GLint>(cmd.arg0()), static_cast<GLint>(cmd.arg1()),
765 static_cast<GLsizei>(cmd.arg2()), static_cast<GLsizei>(cmd.arg3())
766 );
767 break;
768 default:
769 assert(0);
770 }
771 msg.set_time((systemTime(timeMode) - c0) * 1e-6f);
772 msg.set_context_id(reinterpret_cast<int>(dbg));
773 msg.set_function(cmd.function());
774 msg.set_type(glesv2debugger::Message_Type_AfterGeneratedCall);
775 return ret;
776 }
777
778 }; // name space android {
779