blob: 2ae4b1112aa22031992bb48a04d1a0c9c9d2bda9 [file] [log] [blame]
Siva Velusamy0469dd62011-11-30 15:05:37 -08001/*
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 * THIS FILE WAS GENERATED BY A SCRIPT. DO NOT EDIT.
17 */
18
19#include <cutils/log.h>
Siva Velusamy56ac6ff2011-12-15 17:32:05 -080020#include <utils/Timers.h>
Siva Velusamy0469dd62011-11-30 15:05:37 -080021#include <GLES2/gl2.h>
22
23#include "gltrace.pb.h"
24#include "gltrace_context.h"
25#include "gltrace_fixup.h"
26#include "gltrace_transport.h"
27
28namespace android {
29namespace gltrace {
30
Siva Velusamy0469dd62011-11-30 15:05:37 -080031// Definitions for GL2 APIs
32
33void GLTrace_glActiveTexture(GLenum texture) {
34 GLMessage glmsg;
35 GLTraceContext *glContext = getGLTraceContext();
36
Siva Velusamy0469dd62011-11-30 15:05:37 -080037 glmsg.set_function(GLMessage::glActiveTexture);
38
39 // copy argument texture
40 GLMessage_DataType *arg_texture = glmsg.add_args();
41 arg_texture->set_isarray(false);
42 arg_texture->set_type(GLMessage::DataType::ENUM);
43 arg_texture->add_intvalue((int)texture);
44
45 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080046 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
47 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080048 glContext->hooks->gl.glActiveTexture(texture);
Siva Velusamy05df4502012-02-17 10:55:03 -080049 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
50 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080051
Siva Velusamy98011422012-02-27 12:02:47 -080052 void *pointerArgs[] = {
53 };
54
Siva Velusamy05df4502012-02-17 10:55:03 -080055 fixupGLMessage(glContext, wallStartTime, wallEndTime,
56 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080057 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080058 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080059}
60
61void GLTrace_glAttachShader(GLuint program, GLuint shader) {
62 GLMessage glmsg;
63 GLTraceContext *glContext = getGLTraceContext();
64
Siva Velusamy0469dd62011-11-30 15:05:37 -080065 glmsg.set_function(GLMessage::glAttachShader);
66
67 // copy argument program
68 GLMessage_DataType *arg_program = glmsg.add_args();
69 arg_program->set_isarray(false);
70 arg_program->set_type(GLMessage::DataType::INT);
71 arg_program->add_intvalue(program);
72
73 // copy argument shader
74 GLMessage_DataType *arg_shader = glmsg.add_args();
75 arg_shader->set_isarray(false);
76 arg_shader->set_type(GLMessage::DataType::INT);
77 arg_shader->add_intvalue(shader);
78
79 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080080 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
81 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080082 glContext->hooks->gl.glAttachShader(program, shader);
Siva Velusamy05df4502012-02-17 10:55:03 -080083 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
84 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080085
Siva Velusamy98011422012-02-27 12:02:47 -080086 void *pointerArgs[] = {
87 };
88
Siva Velusamy05df4502012-02-17 10:55:03 -080089 fixupGLMessage(glContext, wallStartTime, wallEndTime,
90 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080091 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080092 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080093}
94
95void GLTrace_glBindAttribLocation(GLuint program, GLuint index, const GLchar* name) {
96 GLMessage glmsg;
97 GLTraceContext *glContext = getGLTraceContext();
98
Siva Velusamy0469dd62011-11-30 15:05:37 -080099 glmsg.set_function(GLMessage::glBindAttribLocation);
100
101 // copy argument program
102 GLMessage_DataType *arg_program = glmsg.add_args();
103 arg_program->set_isarray(false);
104 arg_program->set_type(GLMessage::DataType::INT);
105 arg_program->add_intvalue(program);
106
107 // copy argument index
108 GLMessage_DataType *arg_index = glmsg.add_args();
109 arg_index->set_isarray(false);
110 arg_index->set_type(GLMessage::DataType::INT);
111 arg_index->add_intvalue(index);
112
113 // copy argument name
114 GLMessage_DataType *arg_name = glmsg.add_args();
115 arg_name->set_isarray(false);
116 arg_name->set_type(GLMessage::DataType::INT);
117 arg_name->add_intvalue((int)name);
118
119 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800120 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
121 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800122 glContext->hooks->gl.glBindAttribLocation(program, index, name);
Siva Velusamy05df4502012-02-17 10:55:03 -0800123 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
124 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800125
Siva Velusamy98011422012-02-27 12:02:47 -0800126 void *pointerArgs[] = {
127 (void *) name,
128 };
129
Siva Velusamy05df4502012-02-17 10:55:03 -0800130 fixupGLMessage(glContext, wallStartTime, wallEndTime,
131 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800132 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800133 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800134}
135
136void GLTrace_glBindBuffer(GLenum target, GLuint buffer) {
137 GLMessage glmsg;
138 GLTraceContext *glContext = getGLTraceContext();
139
Siva Velusamy0469dd62011-11-30 15:05:37 -0800140 glmsg.set_function(GLMessage::glBindBuffer);
141
142 // copy argument target
143 GLMessage_DataType *arg_target = glmsg.add_args();
144 arg_target->set_isarray(false);
145 arg_target->set_type(GLMessage::DataType::ENUM);
146 arg_target->add_intvalue((int)target);
147
148 // copy argument buffer
149 GLMessage_DataType *arg_buffer = glmsg.add_args();
150 arg_buffer->set_isarray(false);
151 arg_buffer->set_type(GLMessage::DataType::INT);
152 arg_buffer->add_intvalue(buffer);
153
154 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800155 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
156 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800157 glContext->hooks->gl.glBindBuffer(target, buffer);
Siva Velusamy05df4502012-02-17 10:55:03 -0800158 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
159 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800160
Siva Velusamy98011422012-02-27 12:02:47 -0800161 void *pointerArgs[] = {
162 };
163
Siva Velusamy05df4502012-02-17 10:55:03 -0800164 fixupGLMessage(glContext, wallStartTime, wallEndTime,
165 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800166 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800167 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800168}
169
170void GLTrace_glBindFramebuffer(GLenum target, GLuint framebuffer) {
171 GLMessage glmsg;
172 GLTraceContext *glContext = getGLTraceContext();
173
Siva Velusamy0469dd62011-11-30 15:05:37 -0800174 glmsg.set_function(GLMessage::glBindFramebuffer);
175
176 // copy argument target
177 GLMessage_DataType *arg_target = glmsg.add_args();
178 arg_target->set_isarray(false);
179 arg_target->set_type(GLMessage::DataType::ENUM);
180 arg_target->add_intvalue((int)target);
181
182 // copy argument framebuffer
183 GLMessage_DataType *arg_framebuffer = glmsg.add_args();
184 arg_framebuffer->set_isarray(false);
185 arg_framebuffer->set_type(GLMessage::DataType::INT);
186 arg_framebuffer->add_intvalue(framebuffer);
187
188 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800189 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
190 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800191 glContext->hooks->gl.glBindFramebuffer(target, framebuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -0800192 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
193 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800194
Siva Velusamy98011422012-02-27 12:02:47 -0800195 void *pointerArgs[] = {
196 };
197
Siva Velusamy05df4502012-02-17 10:55:03 -0800198 fixupGLMessage(glContext, wallStartTime, wallEndTime,
199 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800200 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800201 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800202}
203
204void GLTrace_glBindRenderbuffer(GLenum target, GLuint renderbuffer) {
205 GLMessage glmsg;
206 GLTraceContext *glContext = getGLTraceContext();
207
Siva Velusamy0469dd62011-11-30 15:05:37 -0800208 glmsg.set_function(GLMessage::glBindRenderbuffer);
209
210 // copy argument target
211 GLMessage_DataType *arg_target = glmsg.add_args();
212 arg_target->set_isarray(false);
213 arg_target->set_type(GLMessage::DataType::ENUM);
214 arg_target->add_intvalue((int)target);
215
216 // copy argument renderbuffer
217 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
218 arg_renderbuffer->set_isarray(false);
219 arg_renderbuffer->set_type(GLMessage::DataType::INT);
220 arg_renderbuffer->add_intvalue(renderbuffer);
221
222 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800223 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
224 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800225 glContext->hooks->gl.glBindRenderbuffer(target, renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -0800226 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
227 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800228
Siva Velusamy98011422012-02-27 12:02:47 -0800229 void *pointerArgs[] = {
230 };
231
Siva Velusamy05df4502012-02-17 10:55:03 -0800232 fixupGLMessage(glContext, wallStartTime, wallEndTime,
233 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800234 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800235 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800236}
237
238void GLTrace_glBindTexture(GLenum target, GLuint texture) {
239 GLMessage glmsg;
240 GLTraceContext *glContext = getGLTraceContext();
241
Siva Velusamy0469dd62011-11-30 15:05:37 -0800242 glmsg.set_function(GLMessage::glBindTexture);
243
244 // copy argument target
245 GLMessage_DataType *arg_target = glmsg.add_args();
246 arg_target->set_isarray(false);
247 arg_target->set_type(GLMessage::DataType::ENUM);
248 arg_target->add_intvalue((int)target);
249
250 // copy argument texture
251 GLMessage_DataType *arg_texture = glmsg.add_args();
252 arg_texture->set_isarray(false);
253 arg_texture->set_type(GLMessage::DataType::INT);
254 arg_texture->add_intvalue(texture);
255
256 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800257 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
258 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800259 glContext->hooks->gl.glBindTexture(target, texture);
Siva Velusamy05df4502012-02-17 10:55:03 -0800260 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
261 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800262
Siva Velusamy98011422012-02-27 12:02:47 -0800263 void *pointerArgs[] = {
264 };
265
Siva Velusamy05df4502012-02-17 10:55:03 -0800266 fixupGLMessage(glContext, wallStartTime, wallEndTime,
267 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800268 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800269 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800270}
271
272void GLTrace_glBlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
273 GLMessage glmsg;
274 GLTraceContext *glContext = getGLTraceContext();
275
Siva Velusamy0469dd62011-11-30 15:05:37 -0800276 glmsg.set_function(GLMessage::glBlendColor);
277
278 // copy argument red
279 GLMessage_DataType *arg_red = glmsg.add_args();
280 arg_red->set_isarray(false);
281 arg_red->set_type(GLMessage::DataType::FLOAT);
282 arg_red->add_floatvalue(red);
283
284 // copy argument green
285 GLMessage_DataType *arg_green = glmsg.add_args();
286 arg_green->set_isarray(false);
287 arg_green->set_type(GLMessage::DataType::FLOAT);
288 arg_green->add_floatvalue(green);
289
290 // copy argument blue
291 GLMessage_DataType *arg_blue = glmsg.add_args();
292 arg_blue->set_isarray(false);
293 arg_blue->set_type(GLMessage::DataType::FLOAT);
294 arg_blue->add_floatvalue(blue);
295
296 // copy argument alpha
297 GLMessage_DataType *arg_alpha = glmsg.add_args();
298 arg_alpha->set_isarray(false);
299 arg_alpha->set_type(GLMessage::DataType::FLOAT);
300 arg_alpha->add_floatvalue(alpha);
301
302 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800303 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
304 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800305 glContext->hooks->gl.glBlendColor(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -0800306 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
307 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800308
Siva Velusamy98011422012-02-27 12:02:47 -0800309 void *pointerArgs[] = {
310 };
311
Siva Velusamy05df4502012-02-17 10:55:03 -0800312 fixupGLMessage(glContext, wallStartTime, wallEndTime,
313 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800314 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800315 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800316}
317
318void GLTrace_glBlendEquation(GLenum mode) {
319 GLMessage glmsg;
320 GLTraceContext *glContext = getGLTraceContext();
321
Siva Velusamy0469dd62011-11-30 15:05:37 -0800322 glmsg.set_function(GLMessage::glBlendEquation);
323
324 // copy argument mode
325 GLMessage_DataType *arg_mode = glmsg.add_args();
326 arg_mode->set_isarray(false);
327 arg_mode->set_type(GLMessage::DataType::ENUM);
328 arg_mode->add_intvalue((int)mode);
329
330 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800331 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
332 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800333 glContext->hooks->gl.glBlendEquation(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -0800334 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
335 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800336
Siva Velusamy98011422012-02-27 12:02:47 -0800337 void *pointerArgs[] = {
338 };
339
Siva Velusamy05df4502012-02-17 10:55:03 -0800340 fixupGLMessage(glContext, wallStartTime, wallEndTime,
341 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800342 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800343 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800344}
345
346void GLTrace_glBlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) {
347 GLMessage glmsg;
348 GLTraceContext *glContext = getGLTraceContext();
349
Siva Velusamy0469dd62011-11-30 15:05:37 -0800350 glmsg.set_function(GLMessage::glBlendEquationSeparate);
351
352 // copy argument modeRGB
353 GLMessage_DataType *arg_modeRGB = glmsg.add_args();
354 arg_modeRGB->set_isarray(false);
355 arg_modeRGB->set_type(GLMessage::DataType::ENUM);
356 arg_modeRGB->add_intvalue((int)modeRGB);
357
358 // copy argument modeAlpha
359 GLMessage_DataType *arg_modeAlpha = glmsg.add_args();
360 arg_modeAlpha->set_isarray(false);
361 arg_modeAlpha->set_type(GLMessage::DataType::ENUM);
362 arg_modeAlpha->add_intvalue((int)modeAlpha);
363
364 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800365 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
366 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800367 glContext->hooks->gl.glBlendEquationSeparate(modeRGB, modeAlpha);
Siva Velusamy05df4502012-02-17 10:55:03 -0800368 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
369 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800370
Siva Velusamy98011422012-02-27 12:02:47 -0800371 void *pointerArgs[] = {
372 };
373
Siva Velusamy05df4502012-02-17 10:55:03 -0800374 fixupGLMessage(glContext, wallStartTime, wallEndTime,
375 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800376 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800377 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800378}
379
380void GLTrace_glBlendFunc(GLenum sfactor, GLenum dfactor) {
381 GLMessage glmsg;
382 GLTraceContext *glContext = getGLTraceContext();
383
Siva Velusamy0469dd62011-11-30 15:05:37 -0800384 glmsg.set_function(GLMessage::glBlendFunc);
385
386 // copy argument sfactor
387 GLMessage_DataType *arg_sfactor = glmsg.add_args();
388 arg_sfactor->set_isarray(false);
389 arg_sfactor->set_type(GLMessage::DataType::ENUM);
390 arg_sfactor->add_intvalue((int)sfactor);
391
392 // copy argument dfactor
393 GLMessage_DataType *arg_dfactor = glmsg.add_args();
394 arg_dfactor->set_isarray(false);
395 arg_dfactor->set_type(GLMessage::DataType::ENUM);
396 arg_dfactor->add_intvalue((int)dfactor);
397
398 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800399 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
400 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800401 glContext->hooks->gl.glBlendFunc(sfactor, dfactor);
Siva Velusamy05df4502012-02-17 10:55:03 -0800402 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
403 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800404
Siva Velusamy98011422012-02-27 12:02:47 -0800405 void *pointerArgs[] = {
406 };
407
Siva Velusamy05df4502012-02-17 10:55:03 -0800408 fixupGLMessage(glContext, wallStartTime, wallEndTime,
409 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800410 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800411 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800412}
413
414void GLTrace_glBlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
415 GLMessage glmsg;
416 GLTraceContext *glContext = getGLTraceContext();
417
Siva Velusamy0469dd62011-11-30 15:05:37 -0800418 glmsg.set_function(GLMessage::glBlendFuncSeparate);
419
420 // copy argument srcRGB
421 GLMessage_DataType *arg_srcRGB = glmsg.add_args();
422 arg_srcRGB->set_isarray(false);
423 arg_srcRGB->set_type(GLMessage::DataType::ENUM);
424 arg_srcRGB->add_intvalue((int)srcRGB);
425
426 // copy argument dstRGB
427 GLMessage_DataType *arg_dstRGB = glmsg.add_args();
428 arg_dstRGB->set_isarray(false);
429 arg_dstRGB->set_type(GLMessage::DataType::ENUM);
430 arg_dstRGB->add_intvalue((int)dstRGB);
431
432 // copy argument srcAlpha
433 GLMessage_DataType *arg_srcAlpha = glmsg.add_args();
434 arg_srcAlpha->set_isarray(false);
435 arg_srcAlpha->set_type(GLMessage::DataType::ENUM);
436 arg_srcAlpha->add_intvalue((int)srcAlpha);
437
438 // copy argument dstAlpha
439 GLMessage_DataType *arg_dstAlpha = glmsg.add_args();
440 arg_dstAlpha->set_isarray(false);
441 arg_dstAlpha->set_type(GLMessage::DataType::ENUM);
442 arg_dstAlpha->add_intvalue((int)dstAlpha);
443
444 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800445 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
446 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800447 glContext->hooks->gl.glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
Siva Velusamy05df4502012-02-17 10:55:03 -0800448 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
449 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800450
Siva Velusamy98011422012-02-27 12:02:47 -0800451 void *pointerArgs[] = {
452 };
453
Siva Velusamy05df4502012-02-17 10:55:03 -0800454 fixupGLMessage(glContext, wallStartTime, wallEndTime,
455 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800456 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800457 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800458}
459
460void GLTrace_glBufferData(GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage) {
461 GLMessage glmsg;
462 GLTraceContext *glContext = getGLTraceContext();
463
Siva Velusamy0469dd62011-11-30 15:05:37 -0800464 glmsg.set_function(GLMessage::glBufferData);
465
466 // copy argument target
467 GLMessage_DataType *arg_target = glmsg.add_args();
468 arg_target->set_isarray(false);
469 arg_target->set_type(GLMessage::DataType::ENUM);
470 arg_target->add_intvalue((int)target);
471
472 // copy argument size
473 GLMessage_DataType *arg_size = glmsg.add_args();
474 arg_size->set_isarray(false);
475 arg_size->set_type(GLMessage::DataType::INT);
Siva Velusamy98011422012-02-27 12:02:47 -0800476 arg_size->add_intvalue(size);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800477
478 // copy argument data
479 GLMessage_DataType *arg_data = glmsg.add_args();
480 arg_data->set_isarray(false);
481 arg_data->set_type(GLMessage::DataType::INT);
482 arg_data->add_intvalue((int)data);
483
484 // copy argument usage
485 GLMessage_DataType *arg_usage = glmsg.add_args();
486 arg_usage->set_isarray(false);
487 arg_usage->set_type(GLMessage::DataType::ENUM);
488 arg_usage->add_intvalue((int)usage);
489
490 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800491 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
492 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800493 glContext->hooks->gl.glBufferData(target, size, data, usage);
Siva Velusamy05df4502012-02-17 10:55:03 -0800494 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
495 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800496
Siva Velusamy98011422012-02-27 12:02:47 -0800497 void *pointerArgs[] = {
498 (void *) data,
499 };
500
Siva Velusamy05df4502012-02-17 10:55:03 -0800501 fixupGLMessage(glContext, wallStartTime, wallEndTime,
502 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800503 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800504 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800505}
506
507void GLTrace_glBufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data) {
508 GLMessage glmsg;
509 GLTraceContext *glContext = getGLTraceContext();
510
Siva Velusamy0469dd62011-11-30 15:05:37 -0800511 glmsg.set_function(GLMessage::glBufferSubData);
512
513 // copy argument target
514 GLMessage_DataType *arg_target = glmsg.add_args();
515 arg_target->set_isarray(false);
516 arg_target->set_type(GLMessage::DataType::ENUM);
517 arg_target->add_intvalue((int)target);
518
519 // copy argument offset
520 GLMessage_DataType *arg_offset = glmsg.add_args();
521 arg_offset->set_isarray(false);
522 arg_offset->set_type(GLMessage::DataType::INT);
Siva Velusamy98011422012-02-27 12:02:47 -0800523 arg_offset->add_intvalue(offset);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800524
525 // copy argument size
526 GLMessage_DataType *arg_size = glmsg.add_args();
527 arg_size->set_isarray(false);
528 arg_size->set_type(GLMessage::DataType::INT);
Siva Velusamy98011422012-02-27 12:02:47 -0800529 arg_size->add_intvalue(size);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800530
531 // copy argument data
532 GLMessage_DataType *arg_data = glmsg.add_args();
533 arg_data->set_isarray(false);
534 arg_data->set_type(GLMessage::DataType::INT);
535 arg_data->add_intvalue((int)data);
536
537 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800538 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
539 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800540 glContext->hooks->gl.glBufferSubData(target, offset, size, data);
Siva Velusamy05df4502012-02-17 10:55:03 -0800541 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
542 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800543
Siva Velusamy98011422012-02-27 12:02:47 -0800544 void *pointerArgs[] = {
545 (void *) data,
546 };
547
Siva Velusamy05df4502012-02-17 10:55:03 -0800548 fixupGLMessage(glContext, wallStartTime, wallEndTime,
549 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800550 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800551 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800552}
553
554GLenum GLTrace_glCheckFramebufferStatus(GLenum target) {
555 GLMessage glmsg;
556 GLTraceContext *glContext = getGLTraceContext();
557
Siva Velusamy0469dd62011-11-30 15:05:37 -0800558 glmsg.set_function(GLMessage::glCheckFramebufferStatus);
559
560 // copy argument target
561 GLMessage_DataType *arg_target = glmsg.add_args();
562 arg_target->set_isarray(false);
563 arg_target->set_type(GLMessage::DataType::ENUM);
564 arg_target->add_intvalue((int)target);
565
566 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800567 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
568 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800569 GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatus(target);
Siva Velusamy05df4502012-02-17 10:55:03 -0800570 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
571 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800572
573 // set return value
574 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
575 rt->set_isarray(false);
576 rt->set_type(GLMessage::DataType::ENUM);
577 rt->add_intvalue((int)retValue);
578
Siva Velusamy98011422012-02-27 12:02:47 -0800579 void *pointerArgs[] = {
580 };
581
Siva Velusamy05df4502012-02-17 10:55:03 -0800582 fixupGLMessage(glContext, wallStartTime, wallEndTime,
583 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800584 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800585 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800586
587 return retValue;
588}
589
590void GLTrace_glClear(GLbitfield mask) {
591 GLMessage glmsg;
592 GLTraceContext *glContext = getGLTraceContext();
593
Siva Velusamy0469dd62011-11-30 15:05:37 -0800594 glmsg.set_function(GLMessage::glClear);
595
596 // copy argument mask
597 GLMessage_DataType *arg_mask = glmsg.add_args();
598 arg_mask->set_isarray(false);
599 arg_mask->set_type(GLMessage::DataType::INT);
600 arg_mask->add_intvalue(mask);
601
602 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800603 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
604 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800605 glContext->hooks->gl.glClear(mask);
Siva Velusamy05df4502012-02-17 10:55:03 -0800606 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
607 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800608
Siva Velusamy98011422012-02-27 12:02:47 -0800609 void *pointerArgs[] = {
610 };
611
Siva Velusamy05df4502012-02-17 10:55:03 -0800612 fixupGLMessage(glContext, wallStartTime, wallEndTime,
613 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800614 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800615 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800616}
617
618void GLTrace_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) {
619 GLMessage glmsg;
620 GLTraceContext *glContext = getGLTraceContext();
621
Siva Velusamy0469dd62011-11-30 15:05:37 -0800622 glmsg.set_function(GLMessage::glClearColor);
623
624 // copy argument red
625 GLMessage_DataType *arg_red = glmsg.add_args();
626 arg_red->set_isarray(false);
627 arg_red->set_type(GLMessage::DataType::FLOAT);
628 arg_red->add_floatvalue(red);
629
630 // copy argument green
631 GLMessage_DataType *arg_green = glmsg.add_args();
632 arg_green->set_isarray(false);
633 arg_green->set_type(GLMessage::DataType::FLOAT);
634 arg_green->add_floatvalue(green);
635
636 // copy argument blue
637 GLMessage_DataType *arg_blue = glmsg.add_args();
638 arg_blue->set_isarray(false);
639 arg_blue->set_type(GLMessage::DataType::FLOAT);
640 arg_blue->add_floatvalue(blue);
641
642 // copy argument alpha
643 GLMessage_DataType *arg_alpha = glmsg.add_args();
644 arg_alpha->set_isarray(false);
645 arg_alpha->set_type(GLMessage::DataType::FLOAT);
646 arg_alpha->add_floatvalue(alpha);
647
648 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800649 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
650 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800651 glContext->hooks->gl.glClearColor(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -0800652 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
653 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800654
Siva Velusamy98011422012-02-27 12:02:47 -0800655 void *pointerArgs[] = {
656 };
657
Siva Velusamy05df4502012-02-17 10:55:03 -0800658 fixupGLMessage(glContext, wallStartTime, wallEndTime,
659 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800660 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800661 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800662}
663
664void GLTrace_glClearDepthf(GLclampf depth) {
665 GLMessage glmsg;
666 GLTraceContext *glContext = getGLTraceContext();
667
Siva Velusamy0469dd62011-11-30 15:05:37 -0800668 glmsg.set_function(GLMessage::glClearDepthf);
669
670 // copy argument depth
671 GLMessage_DataType *arg_depth = glmsg.add_args();
672 arg_depth->set_isarray(false);
673 arg_depth->set_type(GLMessage::DataType::FLOAT);
674 arg_depth->add_floatvalue(depth);
675
676 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800677 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
678 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800679 glContext->hooks->gl.glClearDepthf(depth);
Siva Velusamy05df4502012-02-17 10:55:03 -0800680 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
681 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800682
Siva Velusamy98011422012-02-27 12:02:47 -0800683 void *pointerArgs[] = {
684 };
685
Siva Velusamy05df4502012-02-17 10:55:03 -0800686 fixupGLMessage(glContext, wallStartTime, wallEndTime,
687 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800688 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800689 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800690}
691
692void GLTrace_glClearStencil(GLint s) {
693 GLMessage glmsg;
694 GLTraceContext *glContext = getGLTraceContext();
695
Siva Velusamy0469dd62011-11-30 15:05:37 -0800696 glmsg.set_function(GLMessage::glClearStencil);
697
698 // copy argument s
699 GLMessage_DataType *arg_s = glmsg.add_args();
700 arg_s->set_isarray(false);
701 arg_s->set_type(GLMessage::DataType::INT);
702 arg_s->add_intvalue(s);
703
704 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800705 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
706 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800707 glContext->hooks->gl.glClearStencil(s);
Siva Velusamy05df4502012-02-17 10:55:03 -0800708 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
709 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800710
Siva Velusamy98011422012-02-27 12:02:47 -0800711 void *pointerArgs[] = {
712 };
713
Siva Velusamy05df4502012-02-17 10:55:03 -0800714 fixupGLMessage(glContext, wallStartTime, wallEndTime,
715 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800716 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800717 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800718}
719
720void GLTrace_glColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) {
721 GLMessage glmsg;
722 GLTraceContext *glContext = getGLTraceContext();
723
Siva Velusamy0469dd62011-11-30 15:05:37 -0800724 glmsg.set_function(GLMessage::glColorMask);
725
726 // copy argument red
727 GLMessage_DataType *arg_red = glmsg.add_args();
728 arg_red->set_isarray(false);
729 arg_red->set_type(GLMessage::DataType::BOOL);
730 arg_red->add_boolvalue(red);
731
732 // copy argument green
733 GLMessage_DataType *arg_green = glmsg.add_args();
734 arg_green->set_isarray(false);
735 arg_green->set_type(GLMessage::DataType::BOOL);
736 arg_green->add_boolvalue(green);
737
738 // copy argument blue
739 GLMessage_DataType *arg_blue = glmsg.add_args();
740 arg_blue->set_isarray(false);
741 arg_blue->set_type(GLMessage::DataType::BOOL);
742 arg_blue->add_boolvalue(blue);
743
744 // copy argument alpha
745 GLMessage_DataType *arg_alpha = glmsg.add_args();
746 arg_alpha->set_isarray(false);
747 arg_alpha->set_type(GLMessage::DataType::BOOL);
748 arg_alpha->add_boolvalue(alpha);
749
750 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800751 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
752 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800753 glContext->hooks->gl.glColorMask(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -0800754 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
755 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800756
Siva Velusamy98011422012-02-27 12:02:47 -0800757 void *pointerArgs[] = {
758 };
759
Siva Velusamy05df4502012-02-17 10:55:03 -0800760 fixupGLMessage(glContext, wallStartTime, wallEndTime,
761 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800762 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800763 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800764}
765
766void GLTrace_glCompileShader(GLuint shader) {
767 GLMessage glmsg;
768 GLTraceContext *glContext = getGLTraceContext();
769
Siva Velusamy0469dd62011-11-30 15:05:37 -0800770 glmsg.set_function(GLMessage::glCompileShader);
771
772 // copy argument shader
773 GLMessage_DataType *arg_shader = glmsg.add_args();
774 arg_shader->set_isarray(false);
775 arg_shader->set_type(GLMessage::DataType::INT);
776 arg_shader->add_intvalue(shader);
777
778 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800779 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
780 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800781 glContext->hooks->gl.glCompileShader(shader);
Siva Velusamy05df4502012-02-17 10:55:03 -0800782 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
783 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800784
Siva Velusamy98011422012-02-27 12:02:47 -0800785 void *pointerArgs[] = {
786 };
787
Siva Velusamy05df4502012-02-17 10:55:03 -0800788 fixupGLMessage(glContext, wallStartTime, wallEndTime,
789 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800790 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800791 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800792}
793
794void GLTrace_glCompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data) {
795 GLMessage glmsg;
796 GLTraceContext *glContext = getGLTraceContext();
797
Siva Velusamy0469dd62011-11-30 15:05:37 -0800798 glmsg.set_function(GLMessage::glCompressedTexImage2D);
799
800 // copy argument target
801 GLMessage_DataType *arg_target = glmsg.add_args();
802 arg_target->set_isarray(false);
803 arg_target->set_type(GLMessage::DataType::ENUM);
804 arg_target->add_intvalue((int)target);
805
806 // copy argument level
807 GLMessage_DataType *arg_level = glmsg.add_args();
808 arg_level->set_isarray(false);
809 arg_level->set_type(GLMessage::DataType::INT);
810 arg_level->add_intvalue(level);
811
812 // copy argument internalformat
813 GLMessage_DataType *arg_internalformat = glmsg.add_args();
814 arg_internalformat->set_isarray(false);
815 arg_internalformat->set_type(GLMessage::DataType::ENUM);
816 arg_internalformat->add_intvalue((int)internalformat);
817
818 // copy argument width
819 GLMessage_DataType *arg_width = glmsg.add_args();
820 arg_width->set_isarray(false);
821 arg_width->set_type(GLMessage::DataType::INT);
822 arg_width->add_intvalue(width);
823
824 // copy argument height
825 GLMessage_DataType *arg_height = glmsg.add_args();
826 arg_height->set_isarray(false);
827 arg_height->set_type(GLMessage::DataType::INT);
828 arg_height->add_intvalue(height);
829
830 // copy argument border
831 GLMessage_DataType *arg_border = glmsg.add_args();
832 arg_border->set_isarray(false);
833 arg_border->set_type(GLMessage::DataType::INT);
834 arg_border->add_intvalue(border);
835
836 // copy argument imageSize
837 GLMessage_DataType *arg_imageSize = glmsg.add_args();
838 arg_imageSize->set_isarray(false);
839 arg_imageSize->set_type(GLMessage::DataType::INT);
840 arg_imageSize->add_intvalue(imageSize);
841
842 // copy argument data
843 GLMessage_DataType *arg_data = glmsg.add_args();
844 arg_data->set_isarray(false);
845 arg_data->set_type(GLMessage::DataType::INT);
846 arg_data->add_intvalue((int)data);
847
848 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800849 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
850 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800851 glContext->hooks->gl.glCompressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
Siva Velusamy05df4502012-02-17 10:55:03 -0800852 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
853 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800854
Siva Velusamy98011422012-02-27 12:02:47 -0800855 void *pointerArgs[] = {
856 (void *) data,
857 };
858
Siva Velusamy05df4502012-02-17 10:55:03 -0800859 fixupGLMessage(glContext, wallStartTime, wallEndTime,
860 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800861 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800862 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800863}
864
865void GLTrace_glCompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data) {
866 GLMessage glmsg;
867 GLTraceContext *glContext = getGLTraceContext();
868
Siva Velusamy0469dd62011-11-30 15:05:37 -0800869 glmsg.set_function(GLMessage::glCompressedTexSubImage2D);
870
871 // copy argument target
872 GLMessage_DataType *arg_target = glmsg.add_args();
873 arg_target->set_isarray(false);
874 arg_target->set_type(GLMessage::DataType::ENUM);
875 arg_target->add_intvalue((int)target);
876
877 // copy argument level
878 GLMessage_DataType *arg_level = glmsg.add_args();
879 arg_level->set_isarray(false);
880 arg_level->set_type(GLMessage::DataType::INT);
881 arg_level->add_intvalue(level);
882
883 // copy argument xoffset
884 GLMessage_DataType *arg_xoffset = glmsg.add_args();
885 arg_xoffset->set_isarray(false);
886 arg_xoffset->set_type(GLMessage::DataType::INT);
887 arg_xoffset->add_intvalue(xoffset);
888
889 // copy argument yoffset
890 GLMessage_DataType *arg_yoffset = glmsg.add_args();
891 arg_yoffset->set_isarray(false);
892 arg_yoffset->set_type(GLMessage::DataType::INT);
893 arg_yoffset->add_intvalue(yoffset);
894
895 // copy argument width
896 GLMessage_DataType *arg_width = glmsg.add_args();
897 arg_width->set_isarray(false);
898 arg_width->set_type(GLMessage::DataType::INT);
899 arg_width->add_intvalue(width);
900
901 // copy argument height
902 GLMessage_DataType *arg_height = glmsg.add_args();
903 arg_height->set_isarray(false);
904 arg_height->set_type(GLMessage::DataType::INT);
905 arg_height->add_intvalue(height);
906
907 // copy argument format
908 GLMessage_DataType *arg_format = glmsg.add_args();
909 arg_format->set_isarray(false);
910 arg_format->set_type(GLMessage::DataType::ENUM);
911 arg_format->add_intvalue((int)format);
912
913 // copy argument imageSize
914 GLMessage_DataType *arg_imageSize = glmsg.add_args();
915 arg_imageSize->set_isarray(false);
916 arg_imageSize->set_type(GLMessage::DataType::INT);
917 arg_imageSize->add_intvalue(imageSize);
918
919 // copy argument data
920 GLMessage_DataType *arg_data = glmsg.add_args();
921 arg_data->set_isarray(false);
922 arg_data->set_type(GLMessage::DataType::INT);
923 arg_data->add_intvalue((int)data);
924
925 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800926 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
927 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800928 glContext->hooks->gl.glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
Siva Velusamy05df4502012-02-17 10:55:03 -0800929 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
930 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800931
Siva Velusamy98011422012-02-27 12:02:47 -0800932 void *pointerArgs[] = {
933 (void *) data,
934 };
935
Siva Velusamy05df4502012-02-17 10:55:03 -0800936 fixupGLMessage(glContext, wallStartTime, wallEndTime,
937 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -0800938 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -0800939 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800940}
941
942void GLTrace_glCopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) {
943 GLMessage glmsg;
944 GLTraceContext *glContext = getGLTraceContext();
945
Siva Velusamy0469dd62011-11-30 15:05:37 -0800946 glmsg.set_function(GLMessage::glCopyTexImage2D);
947
948 // copy argument target
949 GLMessage_DataType *arg_target = glmsg.add_args();
950 arg_target->set_isarray(false);
951 arg_target->set_type(GLMessage::DataType::ENUM);
952 arg_target->add_intvalue((int)target);
953
954 // copy argument level
955 GLMessage_DataType *arg_level = glmsg.add_args();
956 arg_level->set_isarray(false);
957 arg_level->set_type(GLMessage::DataType::INT);
958 arg_level->add_intvalue(level);
959
960 // copy argument internalformat
961 GLMessage_DataType *arg_internalformat = glmsg.add_args();
962 arg_internalformat->set_isarray(false);
963 arg_internalformat->set_type(GLMessage::DataType::ENUM);
964 arg_internalformat->add_intvalue((int)internalformat);
965
966 // copy argument x
967 GLMessage_DataType *arg_x = glmsg.add_args();
968 arg_x->set_isarray(false);
969 arg_x->set_type(GLMessage::DataType::INT);
970 arg_x->add_intvalue(x);
971
972 // copy argument y
973 GLMessage_DataType *arg_y = glmsg.add_args();
974 arg_y->set_isarray(false);
975 arg_y->set_type(GLMessage::DataType::INT);
976 arg_y->add_intvalue(y);
977
978 // copy argument width
979 GLMessage_DataType *arg_width = glmsg.add_args();
980 arg_width->set_isarray(false);
981 arg_width->set_type(GLMessage::DataType::INT);
982 arg_width->add_intvalue(width);
983
984 // copy argument height
985 GLMessage_DataType *arg_height = glmsg.add_args();
986 arg_height->set_isarray(false);
987 arg_height->set_type(GLMessage::DataType::INT);
988 arg_height->add_intvalue(height);
989
990 // copy argument border
991 GLMessage_DataType *arg_border = glmsg.add_args();
992 arg_border->set_isarray(false);
993 arg_border->set_type(GLMessage::DataType::INT);
994 arg_border->add_intvalue(border);
995
996 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -0800997 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
998 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -0800999 glContext->hooks->gl.glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
Siva Velusamy05df4502012-02-17 10:55:03 -08001000 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1001 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001002
Siva Velusamy98011422012-02-27 12:02:47 -08001003 void *pointerArgs[] = {
1004 };
1005
Siva Velusamy05df4502012-02-17 10:55:03 -08001006 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1007 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001008 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001009 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001010}
1011
1012void GLTrace_glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
1013 GLMessage glmsg;
1014 GLTraceContext *glContext = getGLTraceContext();
1015
Siva Velusamy0469dd62011-11-30 15:05:37 -08001016 glmsg.set_function(GLMessage::glCopyTexSubImage2D);
1017
1018 // copy argument target
1019 GLMessage_DataType *arg_target = glmsg.add_args();
1020 arg_target->set_isarray(false);
1021 arg_target->set_type(GLMessage::DataType::ENUM);
1022 arg_target->add_intvalue((int)target);
1023
1024 // copy argument level
1025 GLMessage_DataType *arg_level = glmsg.add_args();
1026 arg_level->set_isarray(false);
1027 arg_level->set_type(GLMessage::DataType::INT);
1028 arg_level->add_intvalue(level);
1029
1030 // copy argument xoffset
1031 GLMessage_DataType *arg_xoffset = glmsg.add_args();
1032 arg_xoffset->set_isarray(false);
1033 arg_xoffset->set_type(GLMessage::DataType::INT);
1034 arg_xoffset->add_intvalue(xoffset);
1035
1036 // copy argument yoffset
1037 GLMessage_DataType *arg_yoffset = glmsg.add_args();
1038 arg_yoffset->set_isarray(false);
1039 arg_yoffset->set_type(GLMessage::DataType::INT);
1040 arg_yoffset->add_intvalue(yoffset);
1041
1042 // copy argument x
1043 GLMessage_DataType *arg_x = glmsg.add_args();
1044 arg_x->set_isarray(false);
1045 arg_x->set_type(GLMessage::DataType::INT);
1046 arg_x->add_intvalue(x);
1047
1048 // copy argument y
1049 GLMessage_DataType *arg_y = glmsg.add_args();
1050 arg_y->set_isarray(false);
1051 arg_y->set_type(GLMessage::DataType::INT);
1052 arg_y->add_intvalue(y);
1053
1054 // copy argument width
1055 GLMessage_DataType *arg_width = glmsg.add_args();
1056 arg_width->set_isarray(false);
1057 arg_width->set_type(GLMessage::DataType::INT);
1058 arg_width->add_intvalue(width);
1059
1060 // copy argument height
1061 GLMessage_DataType *arg_height = glmsg.add_args();
1062 arg_height->set_isarray(false);
1063 arg_height->set_type(GLMessage::DataType::INT);
1064 arg_height->add_intvalue(height);
1065
1066 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001067 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1068 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001069 glContext->hooks->gl.glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08001070 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1071 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001072
Siva Velusamy98011422012-02-27 12:02:47 -08001073 void *pointerArgs[] = {
1074 };
1075
Siva Velusamy05df4502012-02-17 10:55:03 -08001076 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1077 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001078 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001079 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001080}
1081
1082GLuint GLTrace_glCreateProgram(void) {
1083 GLMessage glmsg;
1084 GLTraceContext *glContext = getGLTraceContext();
1085
Siva Velusamy0469dd62011-11-30 15:05:37 -08001086 glmsg.set_function(GLMessage::glCreateProgram);
1087
1088 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001089 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1090 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001091 GLuint retValue = glContext->hooks->gl.glCreateProgram();
Siva Velusamy05df4502012-02-17 10:55:03 -08001092 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1093 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001094
1095 // set return value
1096 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
1097 rt->set_isarray(false);
1098 rt->set_type(GLMessage::DataType::INT);
1099 rt->add_intvalue(retValue);
1100
Siva Velusamy98011422012-02-27 12:02:47 -08001101 void *pointerArgs[] = {
1102 };
1103
Siva Velusamy05df4502012-02-17 10:55:03 -08001104 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1105 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001106 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001107 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001108
1109 return retValue;
1110}
1111
1112GLuint GLTrace_glCreateShader(GLenum type) {
1113 GLMessage glmsg;
1114 GLTraceContext *glContext = getGLTraceContext();
1115
Siva Velusamy0469dd62011-11-30 15:05:37 -08001116 glmsg.set_function(GLMessage::glCreateShader);
1117
1118 // copy argument type
1119 GLMessage_DataType *arg_type = glmsg.add_args();
1120 arg_type->set_isarray(false);
1121 arg_type->set_type(GLMessage::DataType::ENUM);
1122 arg_type->add_intvalue((int)type);
1123
1124 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001125 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1126 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001127 GLuint retValue = glContext->hooks->gl.glCreateShader(type);
Siva Velusamy05df4502012-02-17 10:55:03 -08001128 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1129 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001130
1131 // set return value
1132 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
1133 rt->set_isarray(false);
1134 rt->set_type(GLMessage::DataType::INT);
1135 rt->add_intvalue(retValue);
1136
Siva Velusamy98011422012-02-27 12:02:47 -08001137 void *pointerArgs[] = {
1138 };
1139
Siva Velusamy05df4502012-02-17 10:55:03 -08001140 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1141 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001142 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001143 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001144
1145 return retValue;
1146}
1147
1148void GLTrace_glCullFace(GLenum mode) {
1149 GLMessage glmsg;
1150 GLTraceContext *glContext = getGLTraceContext();
1151
Siva Velusamy0469dd62011-11-30 15:05:37 -08001152 glmsg.set_function(GLMessage::glCullFace);
1153
1154 // copy argument mode
1155 GLMessage_DataType *arg_mode = glmsg.add_args();
1156 arg_mode->set_isarray(false);
1157 arg_mode->set_type(GLMessage::DataType::ENUM);
1158 arg_mode->add_intvalue((int)mode);
1159
1160 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001161 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1162 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001163 glContext->hooks->gl.glCullFace(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -08001164 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1165 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001166
Siva Velusamy98011422012-02-27 12:02:47 -08001167 void *pointerArgs[] = {
1168 };
1169
Siva Velusamy05df4502012-02-17 10:55:03 -08001170 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1171 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001172 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001173 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001174}
1175
1176void GLTrace_glDeleteBuffers(GLsizei n, const GLuint* buffers) {
1177 GLMessage glmsg;
1178 GLTraceContext *glContext = getGLTraceContext();
1179
Siva Velusamy0469dd62011-11-30 15:05:37 -08001180 glmsg.set_function(GLMessage::glDeleteBuffers);
1181
1182 // copy argument n
1183 GLMessage_DataType *arg_n = glmsg.add_args();
1184 arg_n->set_isarray(false);
1185 arg_n->set_type(GLMessage::DataType::INT);
1186 arg_n->add_intvalue(n);
1187
1188 // copy argument buffers
1189 GLMessage_DataType *arg_buffers = glmsg.add_args();
1190 arg_buffers->set_isarray(false);
1191 arg_buffers->set_type(GLMessage::DataType::INT);
1192 arg_buffers->add_intvalue((int)buffers);
1193
1194 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001195 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1196 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001197 glContext->hooks->gl.glDeleteBuffers(n, buffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001198 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1199 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001200
Siva Velusamy98011422012-02-27 12:02:47 -08001201 void *pointerArgs[] = {
1202 (void *) buffers,
1203 };
1204
Siva Velusamy05df4502012-02-17 10:55:03 -08001205 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1206 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001207 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001208 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001209}
1210
1211void GLTrace_glDeleteFramebuffers(GLsizei n, const GLuint* framebuffers) {
1212 GLMessage glmsg;
1213 GLTraceContext *glContext = getGLTraceContext();
1214
Siva Velusamy0469dd62011-11-30 15:05:37 -08001215 glmsg.set_function(GLMessage::glDeleteFramebuffers);
1216
1217 // copy argument n
1218 GLMessage_DataType *arg_n = glmsg.add_args();
1219 arg_n->set_isarray(false);
1220 arg_n->set_type(GLMessage::DataType::INT);
1221 arg_n->add_intvalue(n);
1222
1223 // copy argument framebuffers
1224 GLMessage_DataType *arg_framebuffers = glmsg.add_args();
1225 arg_framebuffers->set_isarray(false);
1226 arg_framebuffers->set_type(GLMessage::DataType::INT);
1227 arg_framebuffers->add_intvalue((int)framebuffers);
1228
1229 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001230 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1231 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001232 glContext->hooks->gl.glDeleteFramebuffers(n, framebuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001233 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1234 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001235
Siva Velusamy98011422012-02-27 12:02:47 -08001236 void *pointerArgs[] = {
1237 (void *) framebuffers,
1238 };
1239
Siva Velusamy05df4502012-02-17 10:55:03 -08001240 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1241 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001242 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001243 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001244}
1245
1246void GLTrace_glDeleteProgram(GLuint program) {
1247 GLMessage glmsg;
1248 GLTraceContext *glContext = getGLTraceContext();
1249
Siva Velusamy0469dd62011-11-30 15:05:37 -08001250 glmsg.set_function(GLMessage::glDeleteProgram);
1251
1252 // copy argument program
1253 GLMessage_DataType *arg_program = glmsg.add_args();
1254 arg_program->set_isarray(false);
1255 arg_program->set_type(GLMessage::DataType::INT);
1256 arg_program->add_intvalue(program);
1257
1258 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001259 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1260 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001261 glContext->hooks->gl.glDeleteProgram(program);
Siva Velusamy05df4502012-02-17 10:55:03 -08001262 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1263 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001264
Siva Velusamy98011422012-02-27 12:02:47 -08001265 void *pointerArgs[] = {
1266 };
1267
Siva Velusamy05df4502012-02-17 10:55:03 -08001268 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1269 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001270 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001271 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001272}
1273
1274void GLTrace_glDeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) {
1275 GLMessage glmsg;
1276 GLTraceContext *glContext = getGLTraceContext();
1277
Siva Velusamy0469dd62011-11-30 15:05:37 -08001278 glmsg.set_function(GLMessage::glDeleteRenderbuffers);
1279
1280 // copy argument n
1281 GLMessage_DataType *arg_n = glmsg.add_args();
1282 arg_n->set_isarray(false);
1283 arg_n->set_type(GLMessage::DataType::INT);
1284 arg_n->add_intvalue(n);
1285
1286 // copy argument renderbuffers
1287 GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
1288 arg_renderbuffers->set_isarray(false);
1289 arg_renderbuffers->set_type(GLMessage::DataType::INT);
1290 arg_renderbuffers->add_intvalue((int)renderbuffers);
1291
1292 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001293 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1294 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001295 glContext->hooks->gl.glDeleteRenderbuffers(n, renderbuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001296 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1297 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001298
Siva Velusamy98011422012-02-27 12:02:47 -08001299 void *pointerArgs[] = {
1300 (void *) renderbuffers,
1301 };
1302
Siva Velusamy05df4502012-02-17 10:55:03 -08001303 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1304 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001305 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001306 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001307}
1308
1309void GLTrace_glDeleteShader(GLuint shader) {
1310 GLMessage glmsg;
1311 GLTraceContext *glContext = getGLTraceContext();
1312
Siva Velusamy0469dd62011-11-30 15:05:37 -08001313 glmsg.set_function(GLMessage::glDeleteShader);
1314
1315 // copy argument shader
1316 GLMessage_DataType *arg_shader = glmsg.add_args();
1317 arg_shader->set_isarray(false);
1318 arg_shader->set_type(GLMessage::DataType::INT);
1319 arg_shader->add_intvalue(shader);
1320
1321 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001322 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1323 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001324 glContext->hooks->gl.glDeleteShader(shader);
Siva Velusamy05df4502012-02-17 10:55:03 -08001325 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1326 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001327
Siva Velusamy98011422012-02-27 12:02:47 -08001328 void *pointerArgs[] = {
1329 };
1330
Siva Velusamy05df4502012-02-17 10:55:03 -08001331 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1332 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001333 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001334 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001335}
1336
1337void GLTrace_glDeleteTextures(GLsizei n, const GLuint* textures) {
1338 GLMessage glmsg;
1339 GLTraceContext *glContext = getGLTraceContext();
1340
Siva Velusamy0469dd62011-11-30 15:05:37 -08001341 glmsg.set_function(GLMessage::glDeleteTextures);
1342
1343 // copy argument n
1344 GLMessage_DataType *arg_n = glmsg.add_args();
1345 arg_n->set_isarray(false);
1346 arg_n->set_type(GLMessage::DataType::INT);
1347 arg_n->add_intvalue(n);
1348
1349 // copy argument textures
1350 GLMessage_DataType *arg_textures = glmsg.add_args();
1351 arg_textures->set_isarray(false);
1352 arg_textures->set_type(GLMessage::DataType::INT);
1353 arg_textures->add_intvalue((int)textures);
1354
1355 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001356 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1357 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001358 glContext->hooks->gl.glDeleteTextures(n, textures);
Siva Velusamy05df4502012-02-17 10:55:03 -08001359 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1360 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001361
Siva Velusamy98011422012-02-27 12:02:47 -08001362 void *pointerArgs[] = {
1363 (void *) textures,
1364 };
1365
Siva Velusamy05df4502012-02-17 10:55:03 -08001366 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1367 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001368 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001369 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001370}
1371
1372void GLTrace_glDepthFunc(GLenum func) {
1373 GLMessage glmsg;
1374 GLTraceContext *glContext = getGLTraceContext();
1375
Siva Velusamy0469dd62011-11-30 15:05:37 -08001376 glmsg.set_function(GLMessage::glDepthFunc);
1377
1378 // copy argument func
1379 GLMessage_DataType *arg_func = glmsg.add_args();
1380 arg_func->set_isarray(false);
1381 arg_func->set_type(GLMessage::DataType::ENUM);
1382 arg_func->add_intvalue((int)func);
1383
1384 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001385 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1386 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001387 glContext->hooks->gl.glDepthFunc(func);
Siva Velusamy05df4502012-02-17 10:55:03 -08001388 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1389 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001390
Siva Velusamy98011422012-02-27 12:02:47 -08001391 void *pointerArgs[] = {
1392 };
1393
Siva Velusamy05df4502012-02-17 10:55:03 -08001394 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1395 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001396 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001397 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001398}
1399
1400void GLTrace_glDepthMask(GLboolean flag) {
1401 GLMessage glmsg;
1402 GLTraceContext *glContext = getGLTraceContext();
1403
Siva Velusamy0469dd62011-11-30 15:05:37 -08001404 glmsg.set_function(GLMessage::glDepthMask);
1405
1406 // copy argument flag
1407 GLMessage_DataType *arg_flag = glmsg.add_args();
1408 arg_flag->set_isarray(false);
1409 arg_flag->set_type(GLMessage::DataType::BOOL);
1410 arg_flag->add_boolvalue(flag);
1411
1412 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001413 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1414 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001415 glContext->hooks->gl.glDepthMask(flag);
Siva Velusamy05df4502012-02-17 10:55:03 -08001416 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1417 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001418
Siva Velusamy98011422012-02-27 12:02:47 -08001419 void *pointerArgs[] = {
1420 };
1421
Siva Velusamy05df4502012-02-17 10:55:03 -08001422 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1423 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001424 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001425 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001426}
1427
1428void GLTrace_glDepthRangef(GLclampf zNear, GLclampf zFar) {
1429 GLMessage glmsg;
1430 GLTraceContext *glContext = getGLTraceContext();
1431
Siva Velusamy0469dd62011-11-30 15:05:37 -08001432 glmsg.set_function(GLMessage::glDepthRangef);
1433
1434 // copy argument zNear
1435 GLMessage_DataType *arg_zNear = glmsg.add_args();
1436 arg_zNear->set_isarray(false);
1437 arg_zNear->set_type(GLMessage::DataType::FLOAT);
1438 arg_zNear->add_floatvalue(zNear);
1439
1440 // copy argument zFar
1441 GLMessage_DataType *arg_zFar = glmsg.add_args();
1442 arg_zFar->set_isarray(false);
1443 arg_zFar->set_type(GLMessage::DataType::FLOAT);
1444 arg_zFar->add_floatvalue(zFar);
1445
1446 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001447 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1448 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001449 glContext->hooks->gl.glDepthRangef(zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -08001450 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1451 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001452
Siva Velusamy98011422012-02-27 12:02:47 -08001453 void *pointerArgs[] = {
1454 };
1455
Siva Velusamy05df4502012-02-17 10:55:03 -08001456 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1457 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001458 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001459 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001460}
1461
1462void GLTrace_glDetachShader(GLuint program, GLuint shader) {
1463 GLMessage glmsg;
1464 GLTraceContext *glContext = getGLTraceContext();
1465
Siva Velusamy0469dd62011-11-30 15:05:37 -08001466 glmsg.set_function(GLMessage::glDetachShader);
1467
1468 // copy argument program
1469 GLMessage_DataType *arg_program = glmsg.add_args();
1470 arg_program->set_isarray(false);
1471 arg_program->set_type(GLMessage::DataType::INT);
1472 arg_program->add_intvalue(program);
1473
1474 // copy argument shader
1475 GLMessage_DataType *arg_shader = glmsg.add_args();
1476 arg_shader->set_isarray(false);
1477 arg_shader->set_type(GLMessage::DataType::INT);
1478 arg_shader->add_intvalue(shader);
1479
1480 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001481 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1482 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001483 glContext->hooks->gl.glDetachShader(program, shader);
Siva Velusamy05df4502012-02-17 10:55:03 -08001484 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1485 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001486
Siva Velusamy98011422012-02-27 12:02:47 -08001487 void *pointerArgs[] = {
1488 };
1489
Siva Velusamy05df4502012-02-17 10:55:03 -08001490 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1491 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001492 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001493 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001494}
1495
1496void GLTrace_glDisable(GLenum cap) {
1497 GLMessage glmsg;
1498 GLTraceContext *glContext = getGLTraceContext();
1499
Siva Velusamy0469dd62011-11-30 15:05:37 -08001500 glmsg.set_function(GLMessage::glDisable);
1501
1502 // copy argument cap
1503 GLMessage_DataType *arg_cap = glmsg.add_args();
1504 arg_cap->set_isarray(false);
1505 arg_cap->set_type(GLMessage::DataType::ENUM);
1506 arg_cap->add_intvalue((int)cap);
1507
1508 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001509 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1510 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001511 glContext->hooks->gl.glDisable(cap);
Siva Velusamy05df4502012-02-17 10:55:03 -08001512 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1513 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001514
Siva Velusamy98011422012-02-27 12:02:47 -08001515 void *pointerArgs[] = {
1516 };
1517
Siva Velusamy05df4502012-02-17 10:55:03 -08001518 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1519 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001520 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001521 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001522}
1523
1524void GLTrace_glDisableVertexAttribArray(GLuint index) {
1525 GLMessage glmsg;
1526 GLTraceContext *glContext = getGLTraceContext();
1527
Siva Velusamy0469dd62011-11-30 15:05:37 -08001528 glmsg.set_function(GLMessage::glDisableVertexAttribArray);
1529
1530 // copy argument index
1531 GLMessage_DataType *arg_index = glmsg.add_args();
1532 arg_index->set_isarray(false);
1533 arg_index->set_type(GLMessage::DataType::INT);
1534 arg_index->add_intvalue(index);
1535
1536 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001537 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1538 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001539 glContext->hooks->gl.glDisableVertexAttribArray(index);
Siva Velusamy05df4502012-02-17 10:55:03 -08001540 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1541 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001542
Siva Velusamy98011422012-02-27 12:02:47 -08001543 void *pointerArgs[] = {
1544 };
1545
Siva Velusamy05df4502012-02-17 10:55:03 -08001546 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1547 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001548 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001549 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001550}
1551
1552void GLTrace_glDrawArrays(GLenum mode, GLint first, GLsizei count) {
1553 GLMessage glmsg;
1554 GLTraceContext *glContext = getGLTraceContext();
1555
Siva Velusamy0469dd62011-11-30 15:05:37 -08001556 glmsg.set_function(GLMessage::glDrawArrays);
1557
1558 // copy argument mode
1559 GLMessage_DataType *arg_mode = glmsg.add_args();
1560 arg_mode->set_isarray(false);
1561 arg_mode->set_type(GLMessage::DataType::ENUM);
1562 arg_mode->add_intvalue((int)mode);
1563
1564 // copy argument first
1565 GLMessage_DataType *arg_first = glmsg.add_args();
1566 arg_first->set_isarray(false);
1567 arg_first->set_type(GLMessage::DataType::INT);
1568 arg_first->add_intvalue(first);
1569
1570 // copy argument count
1571 GLMessage_DataType *arg_count = glmsg.add_args();
1572 arg_count->set_isarray(false);
1573 arg_count->set_type(GLMessage::DataType::INT);
1574 arg_count->add_intvalue(count);
1575
1576 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001577 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1578 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001579 glContext->hooks->gl.glDrawArrays(mode, first, count);
Siva Velusamy05df4502012-02-17 10:55:03 -08001580 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1581 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001582
Siva Velusamy98011422012-02-27 12:02:47 -08001583 void *pointerArgs[] = {
1584 };
1585
Siva Velusamy05df4502012-02-17 10:55:03 -08001586 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1587 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001588 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001589 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001590}
1591
1592void GLTrace_glDrawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) {
1593 GLMessage glmsg;
1594 GLTraceContext *glContext = getGLTraceContext();
1595
Siva Velusamy0469dd62011-11-30 15:05:37 -08001596 glmsg.set_function(GLMessage::glDrawElements);
1597
1598 // copy argument mode
1599 GLMessage_DataType *arg_mode = glmsg.add_args();
1600 arg_mode->set_isarray(false);
1601 arg_mode->set_type(GLMessage::DataType::ENUM);
1602 arg_mode->add_intvalue((int)mode);
1603
1604 // copy argument count
1605 GLMessage_DataType *arg_count = glmsg.add_args();
1606 arg_count->set_isarray(false);
1607 arg_count->set_type(GLMessage::DataType::INT);
1608 arg_count->add_intvalue(count);
1609
1610 // copy argument type
1611 GLMessage_DataType *arg_type = glmsg.add_args();
1612 arg_type->set_isarray(false);
1613 arg_type->set_type(GLMessage::DataType::ENUM);
1614 arg_type->add_intvalue((int)type);
1615
1616 // copy argument indices
1617 GLMessage_DataType *arg_indices = glmsg.add_args();
1618 arg_indices->set_isarray(false);
1619 arg_indices->set_type(GLMessage::DataType::INT);
1620 arg_indices->add_intvalue((int)indices);
1621
1622 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001623 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1624 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001625 glContext->hooks->gl.glDrawElements(mode, count, type, indices);
Siva Velusamy05df4502012-02-17 10:55:03 -08001626 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1627 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001628
Siva Velusamy98011422012-02-27 12:02:47 -08001629 void *pointerArgs[] = {
1630 (void *) indices,
1631 };
1632
Siva Velusamy05df4502012-02-17 10:55:03 -08001633 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1634 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001635 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001636 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001637}
1638
1639void GLTrace_glEnable(GLenum cap) {
1640 GLMessage glmsg;
1641 GLTraceContext *glContext = getGLTraceContext();
1642
Siva Velusamy0469dd62011-11-30 15:05:37 -08001643 glmsg.set_function(GLMessage::glEnable);
1644
1645 // copy argument cap
1646 GLMessage_DataType *arg_cap = glmsg.add_args();
1647 arg_cap->set_isarray(false);
1648 arg_cap->set_type(GLMessage::DataType::ENUM);
1649 arg_cap->add_intvalue((int)cap);
1650
1651 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001652 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1653 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001654 glContext->hooks->gl.glEnable(cap);
Siva Velusamy05df4502012-02-17 10:55:03 -08001655 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1656 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001657
Siva Velusamy98011422012-02-27 12:02:47 -08001658 void *pointerArgs[] = {
1659 };
1660
Siva Velusamy05df4502012-02-17 10:55:03 -08001661 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1662 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001663 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001664 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001665}
1666
1667void GLTrace_glEnableVertexAttribArray(GLuint index) {
1668 GLMessage glmsg;
1669 GLTraceContext *glContext = getGLTraceContext();
1670
Siva Velusamy0469dd62011-11-30 15:05:37 -08001671 glmsg.set_function(GLMessage::glEnableVertexAttribArray);
1672
1673 // copy argument index
1674 GLMessage_DataType *arg_index = glmsg.add_args();
1675 arg_index->set_isarray(false);
1676 arg_index->set_type(GLMessage::DataType::INT);
1677 arg_index->add_intvalue(index);
1678
1679 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001680 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1681 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001682 glContext->hooks->gl.glEnableVertexAttribArray(index);
Siva Velusamy05df4502012-02-17 10:55:03 -08001683 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1684 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001685
Siva Velusamy98011422012-02-27 12:02:47 -08001686 void *pointerArgs[] = {
1687 };
1688
Siva Velusamy05df4502012-02-17 10:55:03 -08001689 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1690 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001691 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001692 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001693}
1694
1695void GLTrace_glFinish(void) {
1696 GLMessage glmsg;
1697 GLTraceContext *glContext = getGLTraceContext();
1698
Siva Velusamy0469dd62011-11-30 15:05:37 -08001699 glmsg.set_function(GLMessage::glFinish);
1700
1701 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001702 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1703 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001704 glContext->hooks->gl.glFinish();
Siva Velusamy05df4502012-02-17 10:55:03 -08001705 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1706 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001707
Siva Velusamy98011422012-02-27 12:02:47 -08001708 void *pointerArgs[] = {
1709 };
1710
Siva Velusamy05df4502012-02-17 10:55:03 -08001711 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1712 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001713 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001714 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001715}
1716
1717void GLTrace_glFlush(void) {
1718 GLMessage glmsg;
1719 GLTraceContext *glContext = getGLTraceContext();
1720
Siva Velusamy0469dd62011-11-30 15:05:37 -08001721 glmsg.set_function(GLMessage::glFlush);
1722
1723 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001724 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1725 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001726 glContext->hooks->gl.glFlush();
Siva Velusamy05df4502012-02-17 10:55:03 -08001727 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1728 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001729
Siva Velusamy98011422012-02-27 12:02:47 -08001730 void *pointerArgs[] = {
1731 };
1732
Siva Velusamy05df4502012-02-17 10:55:03 -08001733 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1734 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001735 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001736 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001737}
1738
1739void GLTrace_glFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
1740 GLMessage glmsg;
1741 GLTraceContext *glContext = getGLTraceContext();
1742
Siva Velusamy0469dd62011-11-30 15:05:37 -08001743 glmsg.set_function(GLMessage::glFramebufferRenderbuffer);
1744
1745 // copy argument target
1746 GLMessage_DataType *arg_target = glmsg.add_args();
1747 arg_target->set_isarray(false);
1748 arg_target->set_type(GLMessage::DataType::ENUM);
1749 arg_target->add_intvalue((int)target);
1750
1751 // copy argument attachment
1752 GLMessage_DataType *arg_attachment = glmsg.add_args();
1753 arg_attachment->set_isarray(false);
1754 arg_attachment->set_type(GLMessage::DataType::ENUM);
1755 arg_attachment->add_intvalue((int)attachment);
1756
1757 // copy argument renderbuffertarget
1758 GLMessage_DataType *arg_renderbuffertarget = glmsg.add_args();
1759 arg_renderbuffertarget->set_isarray(false);
1760 arg_renderbuffertarget->set_type(GLMessage::DataType::ENUM);
1761 arg_renderbuffertarget->add_intvalue((int)renderbuffertarget);
1762
1763 // copy argument renderbuffer
1764 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
1765 arg_renderbuffer->set_isarray(false);
1766 arg_renderbuffer->set_type(GLMessage::DataType::INT);
1767 arg_renderbuffer->add_intvalue(renderbuffer);
1768
1769 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001770 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1771 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001772 glContext->hooks->gl.glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -08001773 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1774 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001775
Siva Velusamy98011422012-02-27 12:02:47 -08001776 void *pointerArgs[] = {
1777 };
1778
Siva Velusamy05df4502012-02-17 10:55:03 -08001779 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1780 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001781 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001782 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001783}
1784
1785void GLTrace_glFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
1786 GLMessage glmsg;
1787 GLTraceContext *glContext = getGLTraceContext();
1788
Siva Velusamy0469dd62011-11-30 15:05:37 -08001789 glmsg.set_function(GLMessage::glFramebufferTexture2D);
1790
1791 // copy argument target
1792 GLMessage_DataType *arg_target = glmsg.add_args();
1793 arg_target->set_isarray(false);
1794 arg_target->set_type(GLMessage::DataType::ENUM);
1795 arg_target->add_intvalue((int)target);
1796
1797 // copy argument attachment
1798 GLMessage_DataType *arg_attachment = glmsg.add_args();
1799 arg_attachment->set_isarray(false);
1800 arg_attachment->set_type(GLMessage::DataType::ENUM);
1801 arg_attachment->add_intvalue((int)attachment);
1802
1803 // copy argument textarget
1804 GLMessage_DataType *arg_textarget = glmsg.add_args();
1805 arg_textarget->set_isarray(false);
1806 arg_textarget->set_type(GLMessage::DataType::ENUM);
1807 arg_textarget->add_intvalue((int)textarget);
1808
1809 // copy argument texture
1810 GLMessage_DataType *arg_texture = glmsg.add_args();
1811 arg_texture->set_isarray(false);
1812 arg_texture->set_type(GLMessage::DataType::INT);
1813 arg_texture->add_intvalue(texture);
1814
1815 // copy argument level
1816 GLMessage_DataType *arg_level = glmsg.add_args();
1817 arg_level->set_isarray(false);
1818 arg_level->set_type(GLMessage::DataType::INT);
1819 arg_level->add_intvalue(level);
1820
1821 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001822 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1823 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001824 glContext->hooks->gl.glFramebufferTexture2D(target, attachment, textarget, texture, level);
Siva Velusamy05df4502012-02-17 10:55:03 -08001825 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1826 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001827
Siva Velusamy98011422012-02-27 12:02:47 -08001828 void *pointerArgs[] = {
1829 };
1830
Siva Velusamy05df4502012-02-17 10:55:03 -08001831 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1832 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001833 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001834 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001835}
1836
1837void GLTrace_glFrontFace(GLenum mode) {
1838 GLMessage glmsg;
1839 GLTraceContext *glContext = getGLTraceContext();
1840
Siva Velusamy0469dd62011-11-30 15:05:37 -08001841 glmsg.set_function(GLMessage::glFrontFace);
1842
1843 // copy argument mode
1844 GLMessage_DataType *arg_mode = glmsg.add_args();
1845 arg_mode->set_isarray(false);
1846 arg_mode->set_type(GLMessage::DataType::ENUM);
1847 arg_mode->add_intvalue((int)mode);
1848
1849 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001850 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1851 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001852 glContext->hooks->gl.glFrontFace(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -08001853 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1854 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001855
Siva Velusamy98011422012-02-27 12:02:47 -08001856 void *pointerArgs[] = {
1857 };
1858
Siva Velusamy05df4502012-02-17 10:55:03 -08001859 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1860 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001861 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001862 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001863}
1864
1865void GLTrace_glGenBuffers(GLsizei n, GLuint* buffers) {
1866 GLMessage glmsg;
1867 GLTraceContext *glContext = getGLTraceContext();
1868
Siva Velusamy0469dd62011-11-30 15:05:37 -08001869 glmsg.set_function(GLMessage::glGenBuffers);
1870
1871 // copy argument n
1872 GLMessage_DataType *arg_n = glmsg.add_args();
1873 arg_n->set_isarray(false);
1874 arg_n->set_type(GLMessage::DataType::INT);
1875 arg_n->add_intvalue(n);
1876
1877 // copy argument buffers
1878 GLMessage_DataType *arg_buffers = glmsg.add_args();
1879 arg_buffers->set_isarray(false);
1880 arg_buffers->set_type(GLMessage::DataType::INT);
1881 arg_buffers->add_intvalue((int)buffers);
1882
1883 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001884 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1885 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001886 glContext->hooks->gl.glGenBuffers(n, buffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001887 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1888 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001889
Siva Velusamy98011422012-02-27 12:02:47 -08001890 void *pointerArgs[] = {
1891 (void *) buffers,
1892 };
1893
Siva Velusamy05df4502012-02-17 10:55:03 -08001894 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1895 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001896 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001897 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001898}
1899
1900void GLTrace_glGenerateMipmap(GLenum target) {
1901 GLMessage glmsg;
1902 GLTraceContext *glContext = getGLTraceContext();
1903
Siva Velusamy0469dd62011-11-30 15:05:37 -08001904 glmsg.set_function(GLMessage::glGenerateMipmap);
1905
1906 // copy argument target
1907 GLMessage_DataType *arg_target = glmsg.add_args();
1908 arg_target->set_isarray(false);
1909 arg_target->set_type(GLMessage::DataType::ENUM);
1910 arg_target->add_intvalue((int)target);
1911
1912 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001913 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1914 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001915 glContext->hooks->gl.glGenerateMipmap(target);
Siva Velusamy05df4502012-02-17 10:55:03 -08001916 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1917 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001918
Siva Velusamy98011422012-02-27 12:02:47 -08001919 void *pointerArgs[] = {
1920 };
1921
Siva Velusamy05df4502012-02-17 10:55:03 -08001922 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1923 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001924 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001925 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001926}
1927
1928void GLTrace_glGenFramebuffers(GLsizei n, GLuint* framebuffers) {
1929 GLMessage glmsg;
1930 GLTraceContext *glContext = getGLTraceContext();
1931
Siva Velusamy0469dd62011-11-30 15:05:37 -08001932 glmsg.set_function(GLMessage::glGenFramebuffers);
1933
1934 // copy argument n
1935 GLMessage_DataType *arg_n = glmsg.add_args();
1936 arg_n->set_isarray(false);
1937 arg_n->set_type(GLMessage::DataType::INT);
1938 arg_n->add_intvalue(n);
1939
1940 // copy argument framebuffers
1941 GLMessage_DataType *arg_framebuffers = glmsg.add_args();
1942 arg_framebuffers->set_isarray(false);
1943 arg_framebuffers->set_type(GLMessage::DataType::INT);
1944 arg_framebuffers->add_intvalue((int)framebuffers);
1945
1946 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001947 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1948 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001949 glContext->hooks->gl.glGenFramebuffers(n, framebuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001950 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1951 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001952
Siva Velusamy98011422012-02-27 12:02:47 -08001953 void *pointerArgs[] = {
1954 (void *) framebuffers,
1955 };
1956
Siva Velusamy05df4502012-02-17 10:55:03 -08001957 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1958 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001959 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001960 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001961}
1962
1963void GLTrace_glGenRenderbuffers(GLsizei n, GLuint* renderbuffers) {
1964 GLMessage glmsg;
1965 GLTraceContext *glContext = getGLTraceContext();
1966
Siva Velusamy0469dd62011-11-30 15:05:37 -08001967 glmsg.set_function(GLMessage::glGenRenderbuffers);
1968
1969 // copy argument n
1970 GLMessage_DataType *arg_n = glmsg.add_args();
1971 arg_n->set_isarray(false);
1972 arg_n->set_type(GLMessage::DataType::INT);
1973 arg_n->add_intvalue(n);
1974
1975 // copy argument renderbuffers
1976 GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
1977 arg_renderbuffers->set_isarray(false);
1978 arg_renderbuffers->set_type(GLMessage::DataType::INT);
1979 arg_renderbuffers->add_intvalue((int)renderbuffers);
1980
1981 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08001982 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
1983 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001984 glContext->hooks->gl.glGenRenderbuffers(n, renderbuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -08001985 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
1986 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001987
Siva Velusamy98011422012-02-27 12:02:47 -08001988 void *pointerArgs[] = {
1989 (void *) renderbuffers,
1990 };
1991
Siva Velusamy05df4502012-02-17 10:55:03 -08001992 fixupGLMessage(glContext, wallStartTime, wallEndTime,
1993 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08001994 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08001995 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08001996}
1997
1998void GLTrace_glGenTextures(GLsizei n, GLuint* textures) {
1999 GLMessage glmsg;
2000 GLTraceContext *glContext = getGLTraceContext();
2001
Siva Velusamy0469dd62011-11-30 15:05:37 -08002002 glmsg.set_function(GLMessage::glGenTextures);
2003
2004 // copy argument n
2005 GLMessage_DataType *arg_n = glmsg.add_args();
2006 arg_n->set_isarray(false);
2007 arg_n->set_type(GLMessage::DataType::INT);
2008 arg_n->add_intvalue(n);
2009
2010 // copy argument textures
2011 GLMessage_DataType *arg_textures = glmsg.add_args();
2012 arg_textures->set_isarray(false);
2013 arg_textures->set_type(GLMessage::DataType::INT);
2014 arg_textures->add_intvalue((int)textures);
2015
2016 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002017 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2018 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002019 glContext->hooks->gl.glGenTextures(n, textures);
Siva Velusamy05df4502012-02-17 10:55:03 -08002020 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2021 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002022
Siva Velusamy98011422012-02-27 12:02:47 -08002023 void *pointerArgs[] = {
2024 (void *) textures,
2025 };
2026
Siva Velusamy05df4502012-02-17 10:55:03 -08002027 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2028 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002029 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002030 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002031}
2032
2033void GLTrace_glGetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) {
2034 GLMessage glmsg;
2035 GLTraceContext *glContext = getGLTraceContext();
2036
Siva Velusamy0469dd62011-11-30 15:05:37 -08002037 glmsg.set_function(GLMessage::glGetActiveAttrib);
2038
2039 // copy argument program
2040 GLMessage_DataType *arg_program = glmsg.add_args();
2041 arg_program->set_isarray(false);
2042 arg_program->set_type(GLMessage::DataType::INT);
2043 arg_program->add_intvalue(program);
2044
2045 // copy argument index
2046 GLMessage_DataType *arg_index = glmsg.add_args();
2047 arg_index->set_isarray(false);
2048 arg_index->set_type(GLMessage::DataType::INT);
2049 arg_index->add_intvalue(index);
2050
2051 // copy argument bufsize
2052 GLMessage_DataType *arg_bufsize = glmsg.add_args();
2053 arg_bufsize->set_isarray(false);
2054 arg_bufsize->set_type(GLMessage::DataType::INT);
2055 arg_bufsize->add_intvalue(bufsize);
2056
2057 // copy argument length
2058 GLMessage_DataType *arg_length = glmsg.add_args();
2059 arg_length->set_isarray(false);
2060 arg_length->set_type(GLMessage::DataType::INT);
2061 arg_length->add_intvalue((int)length);
2062
2063 // copy argument size
2064 GLMessage_DataType *arg_size = glmsg.add_args();
2065 arg_size->set_isarray(false);
2066 arg_size->set_type(GLMessage::DataType::INT);
2067 arg_size->add_intvalue((int)size);
2068
2069 // copy argument type
2070 GLMessage_DataType *arg_type = glmsg.add_args();
2071 arg_type->set_isarray(false);
2072 arg_type->set_type(GLMessage::DataType::INT);
2073 arg_type->add_intvalue((int)type);
2074
2075 // copy argument name
2076 GLMessage_DataType *arg_name = glmsg.add_args();
2077 arg_name->set_isarray(false);
2078 arg_name->set_type(GLMessage::DataType::INT);
2079 arg_name->add_intvalue((int)name);
2080
2081 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002082 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2083 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002084 glContext->hooks->gl.glGetActiveAttrib(program, index, bufsize, length, size, type, name);
Siva Velusamy05df4502012-02-17 10:55:03 -08002085 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2086 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002087
Siva Velusamy98011422012-02-27 12:02:47 -08002088 void *pointerArgs[] = {
2089 (void *) length,
2090 (void *) size,
2091 (void *) type,
2092 (void *) name,
2093 };
2094
Siva Velusamy05df4502012-02-17 10:55:03 -08002095 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2096 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002097 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002098 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002099}
2100
2101void GLTrace_glGetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name) {
2102 GLMessage glmsg;
2103 GLTraceContext *glContext = getGLTraceContext();
2104
Siva Velusamy0469dd62011-11-30 15:05:37 -08002105 glmsg.set_function(GLMessage::glGetActiveUniform);
2106
2107 // copy argument program
2108 GLMessage_DataType *arg_program = glmsg.add_args();
2109 arg_program->set_isarray(false);
2110 arg_program->set_type(GLMessage::DataType::INT);
2111 arg_program->add_intvalue(program);
2112
2113 // copy argument index
2114 GLMessage_DataType *arg_index = glmsg.add_args();
2115 arg_index->set_isarray(false);
2116 arg_index->set_type(GLMessage::DataType::INT);
2117 arg_index->add_intvalue(index);
2118
2119 // copy argument bufsize
2120 GLMessage_DataType *arg_bufsize = glmsg.add_args();
2121 arg_bufsize->set_isarray(false);
2122 arg_bufsize->set_type(GLMessage::DataType::INT);
2123 arg_bufsize->add_intvalue(bufsize);
2124
2125 // copy argument length
2126 GLMessage_DataType *arg_length = glmsg.add_args();
2127 arg_length->set_isarray(false);
2128 arg_length->set_type(GLMessage::DataType::INT);
2129 arg_length->add_intvalue((int)length);
2130
2131 // copy argument size
2132 GLMessage_DataType *arg_size = glmsg.add_args();
2133 arg_size->set_isarray(false);
2134 arg_size->set_type(GLMessage::DataType::INT);
2135 arg_size->add_intvalue((int)size);
2136
2137 // copy argument type
2138 GLMessage_DataType *arg_type = glmsg.add_args();
2139 arg_type->set_isarray(false);
2140 arg_type->set_type(GLMessage::DataType::INT);
2141 arg_type->add_intvalue((int)type);
2142
2143 // copy argument name
2144 GLMessage_DataType *arg_name = glmsg.add_args();
2145 arg_name->set_isarray(false);
2146 arg_name->set_type(GLMessage::DataType::INT);
2147 arg_name->add_intvalue((int)name);
2148
2149 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002150 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2151 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002152 glContext->hooks->gl.glGetActiveUniform(program, index, bufsize, length, size, type, name);
Siva Velusamy05df4502012-02-17 10:55:03 -08002153 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2154 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002155
Siva Velusamy98011422012-02-27 12:02:47 -08002156 void *pointerArgs[] = {
2157 (void *) length,
2158 (void *) size,
2159 (void *) type,
2160 (void *) name,
2161 };
2162
Siva Velusamy05df4502012-02-17 10:55:03 -08002163 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2164 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002165 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002166 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002167}
2168
2169void GLTrace_glGetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
2170 GLMessage glmsg;
2171 GLTraceContext *glContext = getGLTraceContext();
2172
Siva Velusamy0469dd62011-11-30 15:05:37 -08002173 glmsg.set_function(GLMessage::glGetAttachedShaders);
2174
2175 // copy argument program
2176 GLMessage_DataType *arg_program = glmsg.add_args();
2177 arg_program->set_isarray(false);
2178 arg_program->set_type(GLMessage::DataType::INT);
2179 arg_program->add_intvalue(program);
2180
2181 // copy argument maxcount
2182 GLMessage_DataType *arg_maxcount = glmsg.add_args();
2183 arg_maxcount->set_isarray(false);
2184 arg_maxcount->set_type(GLMessage::DataType::INT);
2185 arg_maxcount->add_intvalue(maxcount);
2186
2187 // copy argument count
2188 GLMessage_DataType *arg_count = glmsg.add_args();
2189 arg_count->set_isarray(false);
2190 arg_count->set_type(GLMessage::DataType::INT);
2191 arg_count->add_intvalue((int)count);
2192
2193 // copy argument shaders
2194 GLMessage_DataType *arg_shaders = glmsg.add_args();
2195 arg_shaders->set_isarray(false);
2196 arg_shaders->set_type(GLMessage::DataType::INT);
2197 arg_shaders->add_intvalue((int)shaders);
2198
2199 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002200 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2201 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002202 glContext->hooks->gl.glGetAttachedShaders(program, maxcount, count, shaders);
Siva Velusamy05df4502012-02-17 10:55:03 -08002203 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2204 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002205
Siva Velusamy98011422012-02-27 12:02:47 -08002206 void *pointerArgs[] = {
2207 (void *) count,
2208 (void *) shaders,
2209 };
2210
Siva Velusamy05df4502012-02-17 10:55:03 -08002211 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2212 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002213 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002214 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002215}
2216
Andrew Hsieh300ad092012-11-06 13:42:48 -08002217GLint GLTrace_glGetAttribLocation(GLuint program, const GLchar* name) {
Siva Velusamy0469dd62011-11-30 15:05:37 -08002218 GLMessage glmsg;
2219 GLTraceContext *glContext = getGLTraceContext();
2220
Siva Velusamy0469dd62011-11-30 15:05:37 -08002221 glmsg.set_function(GLMessage::glGetAttribLocation);
2222
2223 // copy argument program
2224 GLMessage_DataType *arg_program = glmsg.add_args();
2225 arg_program->set_isarray(false);
2226 arg_program->set_type(GLMessage::DataType::INT);
2227 arg_program->add_intvalue(program);
2228
2229 // copy argument name
2230 GLMessage_DataType *arg_name = glmsg.add_args();
2231 arg_name->set_isarray(false);
2232 arg_name->set_type(GLMessage::DataType::INT);
2233 arg_name->add_intvalue((int)name);
2234
2235 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002236 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2237 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Andrew Hsieh300ad092012-11-06 13:42:48 -08002238 GLint retValue = glContext->hooks->gl.glGetAttribLocation(program, name);
Siva Velusamy05df4502012-02-17 10:55:03 -08002239 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2240 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002241
2242 // set return value
2243 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
2244 rt->set_isarray(false);
2245 rt->set_type(GLMessage::DataType::INT);
2246 rt->add_intvalue(retValue);
2247
Siva Velusamy98011422012-02-27 12:02:47 -08002248 void *pointerArgs[] = {
2249 (void *) name,
2250 };
2251
Siva Velusamy05df4502012-02-17 10:55:03 -08002252 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2253 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002254 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002255 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002256
2257 return retValue;
2258}
2259
2260void GLTrace_glGetBooleanv(GLenum pname, GLboolean* params) {
2261 GLMessage glmsg;
2262 GLTraceContext *glContext = getGLTraceContext();
2263
Siva Velusamy0469dd62011-11-30 15:05:37 -08002264 glmsg.set_function(GLMessage::glGetBooleanv);
2265
2266 // copy argument pname
2267 GLMessage_DataType *arg_pname = glmsg.add_args();
2268 arg_pname->set_isarray(false);
2269 arg_pname->set_type(GLMessage::DataType::ENUM);
2270 arg_pname->add_intvalue((int)pname);
2271
2272 // copy argument params
2273 GLMessage_DataType *arg_params = glmsg.add_args();
2274 arg_params->set_isarray(false);
2275 arg_params->set_type(GLMessage::DataType::INT);
2276 arg_params->add_intvalue((int)params);
2277
2278 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002279 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2280 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002281 glContext->hooks->gl.glGetBooleanv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002282 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2283 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002284
Siva Velusamy98011422012-02-27 12:02:47 -08002285 void *pointerArgs[] = {
2286 (void *) params,
2287 };
2288
Siva Velusamy05df4502012-02-17 10:55:03 -08002289 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2290 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002291 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002292 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002293}
2294
2295void GLTrace_glGetBufferParameteriv(GLenum target, GLenum pname, GLint* params) {
2296 GLMessage glmsg;
2297 GLTraceContext *glContext = getGLTraceContext();
2298
Siva Velusamy0469dd62011-11-30 15:05:37 -08002299 glmsg.set_function(GLMessage::glGetBufferParameteriv);
2300
2301 // copy argument target
2302 GLMessage_DataType *arg_target = glmsg.add_args();
2303 arg_target->set_isarray(false);
2304 arg_target->set_type(GLMessage::DataType::ENUM);
2305 arg_target->add_intvalue((int)target);
2306
2307 // copy argument pname
2308 GLMessage_DataType *arg_pname = glmsg.add_args();
2309 arg_pname->set_isarray(false);
2310 arg_pname->set_type(GLMessage::DataType::ENUM);
2311 arg_pname->add_intvalue((int)pname);
2312
2313 // copy argument params
2314 GLMessage_DataType *arg_params = glmsg.add_args();
2315 arg_params->set_isarray(false);
2316 arg_params->set_type(GLMessage::DataType::INT);
2317 arg_params->add_intvalue((int)params);
2318
2319 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002320 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2321 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002322 glContext->hooks->gl.glGetBufferParameteriv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002323 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2324 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002325
Siva Velusamy98011422012-02-27 12:02:47 -08002326 void *pointerArgs[] = {
2327 (void *) params,
2328 };
2329
Siva Velusamy05df4502012-02-17 10:55:03 -08002330 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2331 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002332 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002333 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002334}
2335
2336GLenum GLTrace_glGetError(void) {
2337 GLMessage glmsg;
2338 GLTraceContext *glContext = getGLTraceContext();
2339
Siva Velusamy0469dd62011-11-30 15:05:37 -08002340 glmsg.set_function(GLMessage::glGetError);
2341
2342 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002343 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2344 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002345 GLenum retValue = glContext->hooks->gl.glGetError();
Siva Velusamy05df4502012-02-17 10:55:03 -08002346 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2347 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002348
2349 // set return value
2350 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
2351 rt->set_isarray(false);
2352 rt->set_type(GLMessage::DataType::ENUM);
2353 rt->add_intvalue((int)retValue);
2354
Siva Velusamy98011422012-02-27 12:02:47 -08002355 void *pointerArgs[] = {
2356 };
2357
Siva Velusamy05df4502012-02-17 10:55:03 -08002358 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2359 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002360 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002361 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002362
2363 return retValue;
2364}
2365
2366void GLTrace_glGetFloatv(GLenum pname, GLfloat* params) {
2367 GLMessage glmsg;
2368 GLTraceContext *glContext = getGLTraceContext();
2369
Siva Velusamy0469dd62011-11-30 15:05:37 -08002370 glmsg.set_function(GLMessage::glGetFloatv);
2371
2372 // copy argument pname
2373 GLMessage_DataType *arg_pname = glmsg.add_args();
2374 arg_pname->set_isarray(false);
2375 arg_pname->set_type(GLMessage::DataType::ENUM);
2376 arg_pname->add_intvalue((int)pname);
2377
2378 // copy argument params
2379 GLMessage_DataType *arg_params = glmsg.add_args();
2380 arg_params->set_isarray(false);
2381 arg_params->set_type(GLMessage::DataType::INT);
2382 arg_params->add_intvalue((int)params);
2383
2384 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002385 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2386 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002387 glContext->hooks->gl.glGetFloatv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002388 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2389 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002390
Siva Velusamy98011422012-02-27 12:02:47 -08002391 void *pointerArgs[] = {
2392 (void *) params,
2393 };
2394
Siva Velusamy05df4502012-02-17 10:55:03 -08002395 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2396 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002397 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002398 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002399}
2400
2401void GLTrace_glGetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params) {
2402 GLMessage glmsg;
2403 GLTraceContext *glContext = getGLTraceContext();
2404
Siva Velusamy0469dd62011-11-30 15:05:37 -08002405 glmsg.set_function(GLMessage::glGetFramebufferAttachmentParameteriv);
2406
2407 // copy argument target
2408 GLMessage_DataType *arg_target = glmsg.add_args();
2409 arg_target->set_isarray(false);
2410 arg_target->set_type(GLMessage::DataType::ENUM);
2411 arg_target->add_intvalue((int)target);
2412
2413 // copy argument attachment
2414 GLMessage_DataType *arg_attachment = glmsg.add_args();
2415 arg_attachment->set_isarray(false);
2416 arg_attachment->set_type(GLMessage::DataType::ENUM);
2417 arg_attachment->add_intvalue((int)attachment);
2418
2419 // copy argument pname
2420 GLMessage_DataType *arg_pname = glmsg.add_args();
2421 arg_pname->set_isarray(false);
2422 arg_pname->set_type(GLMessage::DataType::ENUM);
2423 arg_pname->add_intvalue((int)pname);
2424
2425 // copy argument params
2426 GLMessage_DataType *arg_params = glmsg.add_args();
2427 arg_params->set_isarray(false);
2428 arg_params->set_type(GLMessage::DataType::INT);
2429 arg_params->add_intvalue((int)params);
2430
2431 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002432 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2433 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002434 glContext->hooks->gl.glGetFramebufferAttachmentParameteriv(target, attachment, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002435 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2436 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002437
Siva Velusamy98011422012-02-27 12:02:47 -08002438 void *pointerArgs[] = {
2439 (void *) params,
2440 };
2441
Siva Velusamy05df4502012-02-17 10:55:03 -08002442 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2443 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002444 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002445 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002446}
2447
2448void GLTrace_glGetIntegerv(GLenum pname, GLint* params) {
2449 GLMessage glmsg;
2450 GLTraceContext *glContext = getGLTraceContext();
2451
Siva Velusamy0469dd62011-11-30 15:05:37 -08002452 glmsg.set_function(GLMessage::glGetIntegerv);
2453
2454 // copy argument pname
2455 GLMessage_DataType *arg_pname = glmsg.add_args();
2456 arg_pname->set_isarray(false);
2457 arg_pname->set_type(GLMessage::DataType::ENUM);
2458 arg_pname->add_intvalue((int)pname);
2459
2460 // copy argument params
2461 GLMessage_DataType *arg_params = glmsg.add_args();
2462 arg_params->set_isarray(false);
2463 arg_params->set_type(GLMessage::DataType::INT);
2464 arg_params->add_intvalue((int)params);
2465
2466 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002467 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2468 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002469 glContext->hooks->gl.glGetIntegerv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002470 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2471 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002472
Siva Velusamy98011422012-02-27 12:02:47 -08002473 void *pointerArgs[] = {
2474 (void *) params,
2475 };
2476
Siva Velusamy05df4502012-02-17 10:55:03 -08002477 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2478 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002479 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002480 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002481}
2482
2483void GLTrace_glGetProgramiv(GLuint program, GLenum pname, GLint* params) {
2484 GLMessage glmsg;
2485 GLTraceContext *glContext = getGLTraceContext();
2486
Siva Velusamy0469dd62011-11-30 15:05:37 -08002487 glmsg.set_function(GLMessage::glGetProgramiv);
2488
2489 // copy argument program
2490 GLMessage_DataType *arg_program = glmsg.add_args();
2491 arg_program->set_isarray(false);
2492 arg_program->set_type(GLMessage::DataType::INT);
2493 arg_program->add_intvalue(program);
2494
2495 // copy argument pname
2496 GLMessage_DataType *arg_pname = glmsg.add_args();
2497 arg_pname->set_isarray(false);
2498 arg_pname->set_type(GLMessage::DataType::ENUM);
2499 arg_pname->add_intvalue((int)pname);
2500
2501 // copy argument params
2502 GLMessage_DataType *arg_params = glmsg.add_args();
2503 arg_params->set_isarray(false);
2504 arg_params->set_type(GLMessage::DataType::INT);
2505 arg_params->add_intvalue((int)params);
2506
2507 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002508 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2509 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002510 glContext->hooks->gl.glGetProgramiv(program, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002511 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2512 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002513
Siva Velusamy98011422012-02-27 12:02:47 -08002514 void *pointerArgs[] = {
2515 (void *) params,
2516 };
2517
Siva Velusamy05df4502012-02-17 10:55:03 -08002518 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2519 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002520 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002521 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002522}
2523
2524void GLTrace_glGetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog) {
2525 GLMessage glmsg;
2526 GLTraceContext *glContext = getGLTraceContext();
2527
Siva Velusamy0469dd62011-11-30 15:05:37 -08002528 glmsg.set_function(GLMessage::glGetProgramInfoLog);
2529
2530 // copy argument program
2531 GLMessage_DataType *arg_program = glmsg.add_args();
2532 arg_program->set_isarray(false);
2533 arg_program->set_type(GLMessage::DataType::INT);
2534 arg_program->add_intvalue(program);
2535
2536 // copy argument bufsize
2537 GLMessage_DataType *arg_bufsize = glmsg.add_args();
2538 arg_bufsize->set_isarray(false);
2539 arg_bufsize->set_type(GLMessage::DataType::INT);
2540 arg_bufsize->add_intvalue(bufsize);
2541
2542 // copy argument length
2543 GLMessage_DataType *arg_length = glmsg.add_args();
2544 arg_length->set_isarray(false);
2545 arg_length->set_type(GLMessage::DataType::INT);
2546 arg_length->add_intvalue((int)length);
2547
2548 // copy argument infolog
2549 GLMessage_DataType *arg_infolog = glmsg.add_args();
2550 arg_infolog->set_isarray(false);
2551 arg_infolog->set_type(GLMessage::DataType::INT);
2552 arg_infolog->add_intvalue((int)infolog);
2553
2554 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002555 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2556 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002557 glContext->hooks->gl.glGetProgramInfoLog(program, bufsize, length, infolog);
Siva Velusamy05df4502012-02-17 10:55:03 -08002558 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2559 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002560
Siva Velusamy98011422012-02-27 12:02:47 -08002561 void *pointerArgs[] = {
2562 (void *) length,
2563 (void *) infolog,
2564 };
2565
Siva Velusamy05df4502012-02-17 10:55:03 -08002566 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2567 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002568 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002569 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002570}
2571
2572void GLTrace_glGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) {
2573 GLMessage glmsg;
2574 GLTraceContext *glContext = getGLTraceContext();
2575
Siva Velusamy0469dd62011-11-30 15:05:37 -08002576 glmsg.set_function(GLMessage::glGetRenderbufferParameteriv);
2577
2578 // copy argument target
2579 GLMessage_DataType *arg_target = glmsg.add_args();
2580 arg_target->set_isarray(false);
2581 arg_target->set_type(GLMessage::DataType::ENUM);
2582 arg_target->add_intvalue((int)target);
2583
2584 // copy argument pname
2585 GLMessage_DataType *arg_pname = glmsg.add_args();
2586 arg_pname->set_isarray(false);
2587 arg_pname->set_type(GLMessage::DataType::ENUM);
2588 arg_pname->add_intvalue((int)pname);
2589
2590 // copy argument params
2591 GLMessage_DataType *arg_params = glmsg.add_args();
2592 arg_params->set_isarray(false);
2593 arg_params->set_type(GLMessage::DataType::INT);
2594 arg_params->add_intvalue((int)params);
2595
2596 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002597 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2598 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002599 glContext->hooks->gl.glGetRenderbufferParameteriv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002600 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2601 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002602
Siva Velusamy98011422012-02-27 12:02:47 -08002603 void *pointerArgs[] = {
2604 (void *) params,
2605 };
2606
Siva Velusamy05df4502012-02-17 10:55:03 -08002607 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2608 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002609 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002610 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002611}
2612
2613void GLTrace_glGetShaderiv(GLuint shader, GLenum pname, GLint* params) {
2614 GLMessage glmsg;
2615 GLTraceContext *glContext = getGLTraceContext();
2616
Siva Velusamy0469dd62011-11-30 15:05:37 -08002617 glmsg.set_function(GLMessage::glGetShaderiv);
2618
2619 // copy argument shader
2620 GLMessage_DataType *arg_shader = glmsg.add_args();
2621 arg_shader->set_isarray(false);
2622 arg_shader->set_type(GLMessage::DataType::INT);
2623 arg_shader->add_intvalue(shader);
2624
2625 // copy argument pname
2626 GLMessage_DataType *arg_pname = glmsg.add_args();
2627 arg_pname->set_isarray(false);
2628 arg_pname->set_type(GLMessage::DataType::ENUM);
2629 arg_pname->add_intvalue((int)pname);
2630
2631 // copy argument params
2632 GLMessage_DataType *arg_params = glmsg.add_args();
2633 arg_params->set_isarray(false);
2634 arg_params->set_type(GLMessage::DataType::INT);
2635 arg_params->add_intvalue((int)params);
2636
2637 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002638 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2639 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002640 glContext->hooks->gl.glGetShaderiv(shader, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002641 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2642 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002643
Siva Velusamy98011422012-02-27 12:02:47 -08002644 void *pointerArgs[] = {
2645 (void *) params,
2646 };
2647
Siva Velusamy05df4502012-02-17 10:55:03 -08002648 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2649 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002650 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002651 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002652}
2653
2654void GLTrace_glGetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog) {
2655 GLMessage glmsg;
2656 GLTraceContext *glContext = getGLTraceContext();
2657
Siva Velusamy0469dd62011-11-30 15:05:37 -08002658 glmsg.set_function(GLMessage::glGetShaderInfoLog);
2659
2660 // copy argument shader
2661 GLMessage_DataType *arg_shader = glmsg.add_args();
2662 arg_shader->set_isarray(false);
2663 arg_shader->set_type(GLMessage::DataType::INT);
2664 arg_shader->add_intvalue(shader);
2665
2666 // copy argument bufsize
2667 GLMessage_DataType *arg_bufsize = glmsg.add_args();
2668 arg_bufsize->set_isarray(false);
2669 arg_bufsize->set_type(GLMessage::DataType::INT);
2670 arg_bufsize->add_intvalue(bufsize);
2671
2672 // copy argument length
2673 GLMessage_DataType *arg_length = glmsg.add_args();
2674 arg_length->set_isarray(false);
2675 arg_length->set_type(GLMessage::DataType::INT);
2676 arg_length->add_intvalue((int)length);
2677
2678 // copy argument infolog
2679 GLMessage_DataType *arg_infolog = glmsg.add_args();
2680 arg_infolog->set_isarray(false);
2681 arg_infolog->set_type(GLMessage::DataType::INT);
2682 arg_infolog->add_intvalue((int)infolog);
2683
2684 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002685 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2686 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002687 glContext->hooks->gl.glGetShaderInfoLog(shader, bufsize, length, infolog);
Siva Velusamy05df4502012-02-17 10:55:03 -08002688 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2689 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002690
Siva Velusamy98011422012-02-27 12:02:47 -08002691 void *pointerArgs[] = {
2692 (void *) length,
2693 (void *) infolog,
2694 };
2695
Siva Velusamy05df4502012-02-17 10:55:03 -08002696 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2697 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002698 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002699 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002700}
2701
2702void GLTrace_glGetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
2703 GLMessage glmsg;
2704 GLTraceContext *glContext = getGLTraceContext();
2705
Siva Velusamy0469dd62011-11-30 15:05:37 -08002706 glmsg.set_function(GLMessage::glGetShaderPrecisionFormat);
2707
2708 // copy argument shadertype
2709 GLMessage_DataType *arg_shadertype = glmsg.add_args();
2710 arg_shadertype->set_isarray(false);
2711 arg_shadertype->set_type(GLMessage::DataType::ENUM);
2712 arg_shadertype->add_intvalue((int)shadertype);
2713
2714 // copy argument precisiontype
2715 GLMessage_DataType *arg_precisiontype = glmsg.add_args();
2716 arg_precisiontype->set_isarray(false);
2717 arg_precisiontype->set_type(GLMessage::DataType::ENUM);
2718 arg_precisiontype->add_intvalue((int)precisiontype);
2719
2720 // copy argument range
2721 GLMessage_DataType *arg_range = glmsg.add_args();
2722 arg_range->set_isarray(false);
2723 arg_range->set_type(GLMessage::DataType::INT);
2724 arg_range->add_intvalue((int)range);
2725
2726 // copy argument precision
2727 GLMessage_DataType *arg_precision = glmsg.add_args();
2728 arg_precision->set_isarray(false);
2729 arg_precision->set_type(GLMessage::DataType::INT);
2730 arg_precision->add_intvalue((int)precision);
2731
2732 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002733 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2734 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002735 glContext->hooks->gl.glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision);
Siva Velusamy05df4502012-02-17 10:55:03 -08002736 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2737 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002738
Siva Velusamy98011422012-02-27 12:02:47 -08002739 void *pointerArgs[] = {
2740 (void *) range,
2741 (void *) precision,
2742 };
2743
Siva Velusamy05df4502012-02-17 10:55:03 -08002744 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2745 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002746 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002747 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002748}
2749
2750void GLTrace_glGetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source) {
2751 GLMessage glmsg;
2752 GLTraceContext *glContext = getGLTraceContext();
2753
Siva Velusamy0469dd62011-11-30 15:05:37 -08002754 glmsg.set_function(GLMessage::glGetShaderSource);
2755
2756 // copy argument shader
2757 GLMessage_DataType *arg_shader = glmsg.add_args();
2758 arg_shader->set_isarray(false);
2759 arg_shader->set_type(GLMessage::DataType::INT);
2760 arg_shader->add_intvalue(shader);
2761
2762 // copy argument bufsize
2763 GLMessage_DataType *arg_bufsize = glmsg.add_args();
2764 arg_bufsize->set_isarray(false);
2765 arg_bufsize->set_type(GLMessage::DataType::INT);
2766 arg_bufsize->add_intvalue(bufsize);
2767
2768 // copy argument length
2769 GLMessage_DataType *arg_length = glmsg.add_args();
2770 arg_length->set_isarray(false);
2771 arg_length->set_type(GLMessage::DataType::INT);
2772 arg_length->add_intvalue((int)length);
2773
2774 // copy argument source
2775 GLMessage_DataType *arg_source = glmsg.add_args();
2776 arg_source->set_isarray(false);
2777 arg_source->set_type(GLMessage::DataType::INT);
2778 arg_source->add_intvalue((int)source);
2779
2780 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002781 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2782 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002783 glContext->hooks->gl.glGetShaderSource(shader, bufsize, length, source);
Siva Velusamy05df4502012-02-17 10:55:03 -08002784 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2785 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002786
Siva Velusamy98011422012-02-27 12:02:47 -08002787 void *pointerArgs[] = {
2788 (void *) length,
2789 (void *) source,
2790 };
2791
Siva Velusamy05df4502012-02-17 10:55:03 -08002792 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2793 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002794 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002795 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002796}
2797
2798const GLubyte* GLTrace_glGetString(GLenum name) {
2799 GLMessage glmsg;
2800 GLTraceContext *glContext = getGLTraceContext();
2801
Siva Velusamy0469dd62011-11-30 15:05:37 -08002802 glmsg.set_function(GLMessage::glGetString);
2803
2804 // copy argument name
2805 GLMessage_DataType *arg_name = glmsg.add_args();
2806 arg_name->set_isarray(false);
2807 arg_name->set_type(GLMessage::DataType::ENUM);
2808 arg_name->add_intvalue((int)name);
2809
2810 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002811 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2812 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002813 const GLubyte* retValue = glContext->hooks->gl.glGetString(name);
Siva Velusamy05df4502012-02-17 10:55:03 -08002814 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2815 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002816
2817 // set return value
2818 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
2819 rt->set_isarray(false);
2820 rt->set_type(GLMessage::DataType::INT);
2821 rt->add_intvalue((int)retValue);
2822
Siva Velusamy98011422012-02-27 12:02:47 -08002823 void *pointerArgs[] = {
2824 (void *) retValue,
2825 };
2826
Siva Velusamy05df4502012-02-17 10:55:03 -08002827 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2828 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002829 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002830 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002831
2832 return retValue;
2833}
2834
2835void GLTrace_glGetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) {
2836 GLMessage glmsg;
2837 GLTraceContext *glContext = getGLTraceContext();
2838
Siva Velusamy0469dd62011-11-30 15:05:37 -08002839 glmsg.set_function(GLMessage::glGetTexParameterfv);
2840
2841 // copy argument target
2842 GLMessage_DataType *arg_target = glmsg.add_args();
2843 arg_target->set_isarray(false);
2844 arg_target->set_type(GLMessage::DataType::ENUM);
2845 arg_target->add_intvalue((int)target);
2846
2847 // copy argument pname
2848 GLMessage_DataType *arg_pname = glmsg.add_args();
2849 arg_pname->set_isarray(false);
2850 arg_pname->set_type(GLMessage::DataType::ENUM);
2851 arg_pname->add_intvalue((int)pname);
2852
2853 // copy argument params
2854 GLMessage_DataType *arg_params = glmsg.add_args();
2855 arg_params->set_isarray(false);
2856 arg_params->set_type(GLMessage::DataType::INT);
2857 arg_params->add_intvalue((int)params);
2858
2859 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002860 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2861 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002862 glContext->hooks->gl.glGetTexParameterfv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002863 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2864 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002865
Siva Velusamy98011422012-02-27 12:02:47 -08002866 void *pointerArgs[] = {
2867 (void *) params,
2868 };
2869
Siva Velusamy05df4502012-02-17 10:55:03 -08002870 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2871 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002872 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002873 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002874}
2875
2876void GLTrace_glGetTexParameteriv(GLenum target, GLenum pname, GLint* params) {
2877 GLMessage glmsg;
2878 GLTraceContext *glContext = getGLTraceContext();
2879
Siva Velusamy0469dd62011-11-30 15:05:37 -08002880 glmsg.set_function(GLMessage::glGetTexParameteriv);
2881
2882 // copy argument target
2883 GLMessage_DataType *arg_target = glmsg.add_args();
2884 arg_target->set_isarray(false);
2885 arg_target->set_type(GLMessage::DataType::ENUM);
2886 arg_target->add_intvalue((int)target);
2887
2888 // copy argument pname
2889 GLMessage_DataType *arg_pname = glmsg.add_args();
2890 arg_pname->set_isarray(false);
2891 arg_pname->set_type(GLMessage::DataType::ENUM);
2892 arg_pname->add_intvalue((int)pname);
2893
2894 // copy argument params
2895 GLMessage_DataType *arg_params = glmsg.add_args();
2896 arg_params->set_isarray(false);
2897 arg_params->set_type(GLMessage::DataType::INT);
2898 arg_params->add_intvalue((int)params);
2899
2900 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002901 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2902 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002903 glContext->hooks->gl.glGetTexParameteriv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002904 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2905 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002906
Siva Velusamy98011422012-02-27 12:02:47 -08002907 void *pointerArgs[] = {
2908 (void *) params,
2909 };
2910
Siva Velusamy05df4502012-02-17 10:55:03 -08002911 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2912 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002913 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002914 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002915}
2916
2917void GLTrace_glGetUniformfv(GLuint program, GLint location, GLfloat* params) {
2918 GLMessage glmsg;
2919 GLTraceContext *glContext = getGLTraceContext();
2920
Siva Velusamy0469dd62011-11-30 15:05:37 -08002921 glmsg.set_function(GLMessage::glGetUniformfv);
2922
2923 // copy argument program
2924 GLMessage_DataType *arg_program = glmsg.add_args();
2925 arg_program->set_isarray(false);
2926 arg_program->set_type(GLMessage::DataType::INT);
2927 arg_program->add_intvalue(program);
2928
2929 // copy argument location
2930 GLMessage_DataType *arg_location = glmsg.add_args();
2931 arg_location->set_isarray(false);
2932 arg_location->set_type(GLMessage::DataType::INT);
2933 arg_location->add_intvalue(location);
2934
2935 // copy argument params
2936 GLMessage_DataType *arg_params = glmsg.add_args();
2937 arg_params->set_isarray(false);
2938 arg_params->set_type(GLMessage::DataType::INT);
2939 arg_params->add_intvalue((int)params);
2940
2941 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002942 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2943 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002944 glContext->hooks->gl.glGetUniformfv(program, location, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002945 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2946 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002947
Siva Velusamy98011422012-02-27 12:02:47 -08002948 void *pointerArgs[] = {
2949 (void *) params,
2950 };
2951
Siva Velusamy05df4502012-02-17 10:55:03 -08002952 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2953 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002954 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002955 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002956}
2957
2958void GLTrace_glGetUniformiv(GLuint program, GLint location, GLint* params) {
2959 GLMessage glmsg;
2960 GLTraceContext *glContext = getGLTraceContext();
2961
Siva Velusamy0469dd62011-11-30 15:05:37 -08002962 glmsg.set_function(GLMessage::glGetUniformiv);
2963
2964 // copy argument program
2965 GLMessage_DataType *arg_program = glmsg.add_args();
2966 arg_program->set_isarray(false);
2967 arg_program->set_type(GLMessage::DataType::INT);
2968 arg_program->add_intvalue(program);
2969
2970 // copy argument location
2971 GLMessage_DataType *arg_location = glmsg.add_args();
2972 arg_location->set_isarray(false);
2973 arg_location->set_type(GLMessage::DataType::INT);
2974 arg_location->add_intvalue(location);
2975
2976 // copy argument params
2977 GLMessage_DataType *arg_params = glmsg.add_args();
2978 arg_params->set_isarray(false);
2979 arg_params->set_type(GLMessage::DataType::INT);
2980 arg_params->add_intvalue((int)params);
2981
2982 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08002983 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
2984 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002985 glContext->hooks->gl.glGetUniformiv(program, location, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08002986 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
2987 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002988
Siva Velusamy98011422012-02-27 12:02:47 -08002989 void *pointerArgs[] = {
2990 (void *) params,
2991 };
2992
Siva Velusamy05df4502012-02-17 10:55:03 -08002993 fixupGLMessage(glContext, wallStartTime, wallEndTime,
2994 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08002995 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08002996 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08002997}
2998
Andrew Hsieh300ad092012-11-06 13:42:48 -08002999GLint GLTrace_glGetUniformLocation(GLuint program, const GLchar* name) {
Siva Velusamy0469dd62011-11-30 15:05:37 -08003000 GLMessage glmsg;
3001 GLTraceContext *glContext = getGLTraceContext();
3002
Siva Velusamy0469dd62011-11-30 15:05:37 -08003003 glmsg.set_function(GLMessage::glGetUniformLocation);
3004
3005 // copy argument program
3006 GLMessage_DataType *arg_program = glmsg.add_args();
3007 arg_program->set_isarray(false);
3008 arg_program->set_type(GLMessage::DataType::INT);
3009 arg_program->add_intvalue(program);
3010
3011 // copy argument name
3012 GLMessage_DataType *arg_name = glmsg.add_args();
3013 arg_name->set_isarray(false);
3014 arg_name->set_type(GLMessage::DataType::INT);
3015 arg_name->add_intvalue((int)name);
3016
3017 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003018 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3019 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Andrew Hsieh300ad092012-11-06 13:42:48 -08003020 GLint retValue = glContext->hooks->gl.glGetUniformLocation(program, name);
Siva Velusamy05df4502012-02-17 10:55:03 -08003021 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3022 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003023
3024 // set return value
3025 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3026 rt->set_isarray(false);
3027 rt->set_type(GLMessage::DataType::INT);
3028 rt->add_intvalue(retValue);
3029
Siva Velusamy98011422012-02-27 12:02:47 -08003030 void *pointerArgs[] = {
3031 (void *) name,
3032 };
3033
Siva Velusamy05df4502012-02-17 10:55:03 -08003034 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3035 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003036 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003037 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003038
3039 return retValue;
3040}
3041
3042void GLTrace_glGetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params) {
3043 GLMessage glmsg;
3044 GLTraceContext *glContext = getGLTraceContext();
3045
Siva Velusamy0469dd62011-11-30 15:05:37 -08003046 glmsg.set_function(GLMessage::glGetVertexAttribfv);
3047
3048 // copy argument index
3049 GLMessage_DataType *arg_index = glmsg.add_args();
3050 arg_index->set_isarray(false);
3051 arg_index->set_type(GLMessage::DataType::INT);
3052 arg_index->add_intvalue(index);
3053
3054 // copy argument pname
3055 GLMessage_DataType *arg_pname = glmsg.add_args();
3056 arg_pname->set_isarray(false);
3057 arg_pname->set_type(GLMessage::DataType::ENUM);
3058 arg_pname->add_intvalue((int)pname);
3059
3060 // copy argument params
3061 GLMessage_DataType *arg_params = glmsg.add_args();
3062 arg_params->set_isarray(false);
3063 arg_params->set_type(GLMessage::DataType::INT);
3064 arg_params->add_intvalue((int)params);
3065
3066 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003067 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3068 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003069 glContext->hooks->gl.glGetVertexAttribfv(index, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08003070 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3071 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003072
Siva Velusamy98011422012-02-27 12:02:47 -08003073 void *pointerArgs[] = {
3074 (void *) params,
3075 };
3076
Siva Velusamy05df4502012-02-17 10:55:03 -08003077 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3078 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003079 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003080 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003081}
3082
3083void GLTrace_glGetVertexAttribiv(GLuint index, GLenum pname, GLint* params) {
3084 GLMessage glmsg;
3085 GLTraceContext *glContext = getGLTraceContext();
3086
Siva Velusamy0469dd62011-11-30 15:05:37 -08003087 glmsg.set_function(GLMessage::glGetVertexAttribiv);
3088
3089 // copy argument index
3090 GLMessage_DataType *arg_index = glmsg.add_args();
3091 arg_index->set_isarray(false);
3092 arg_index->set_type(GLMessage::DataType::INT);
3093 arg_index->add_intvalue(index);
3094
3095 // copy argument pname
3096 GLMessage_DataType *arg_pname = glmsg.add_args();
3097 arg_pname->set_isarray(false);
3098 arg_pname->set_type(GLMessage::DataType::ENUM);
3099 arg_pname->add_intvalue((int)pname);
3100
3101 // copy argument params
3102 GLMessage_DataType *arg_params = glmsg.add_args();
3103 arg_params->set_isarray(false);
3104 arg_params->set_type(GLMessage::DataType::INT);
3105 arg_params->add_intvalue((int)params);
3106
3107 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003108 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3109 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003110 glContext->hooks->gl.glGetVertexAttribiv(index, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08003111 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3112 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003113
Siva Velusamy98011422012-02-27 12:02:47 -08003114 void *pointerArgs[] = {
3115 (void *) params,
3116 };
3117
Siva Velusamy05df4502012-02-17 10:55:03 -08003118 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3119 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003120 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003121 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003122}
3123
3124void GLTrace_glGetVertexAttribPointerv(GLuint index, GLenum pname, GLvoid** pointer) {
3125 GLMessage glmsg;
3126 GLTraceContext *glContext = getGLTraceContext();
3127
Siva Velusamy0469dd62011-11-30 15:05:37 -08003128 glmsg.set_function(GLMessage::glGetVertexAttribPointerv);
3129
3130 // copy argument index
3131 GLMessage_DataType *arg_index = glmsg.add_args();
3132 arg_index->set_isarray(false);
3133 arg_index->set_type(GLMessage::DataType::INT);
3134 arg_index->add_intvalue(index);
3135
3136 // copy argument pname
3137 GLMessage_DataType *arg_pname = glmsg.add_args();
3138 arg_pname->set_isarray(false);
3139 arg_pname->set_type(GLMessage::DataType::ENUM);
3140 arg_pname->add_intvalue((int)pname);
3141
3142 // copy argument pointer
3143 GLMessage_DataType *arg_pointer = glmsg.add_args();
3144 arg_pointer->set_isarray(false);
3145 arg_pointer->set_type(GLMessage::DataType::INT);
3146 arg_pointer->add_intvalue((int)pointer);
3147
3148 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003149 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3150 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003151 glContext->hooks->gl.glGetVertexAttribPointerv(index, pname, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -08003152 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3153 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003154
Siva Velusamy98011422012-02-27 12:02:47 -08003155 void *pointerArgs[] = {
3156 (void *) pointer,
3157 };
3158
Siva Velusamy05df4502012-02-17 10:55:03 -08003159 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3160 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003161 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003162 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003163}
3164
3165void GLTrace_glHint(GLenum target, GLenum mode) {
3166 GLMessage glmsg;
3167 GLTraceContext *glContext = getGLTraceContext();
3168
Siva Velusamy0469dd62011-11-30 15:05:37 -08003169 glmsg.set_function(GLMessage::glHint);
3170
3171 // copy argument target
3172 GLMessage_DataType *arg_target = glmsg.add_args();
3173 arg_target->set_isarray(false);
3174 arg_target->set_type(GLMessage::DataType::ENUM);
3175 arg_target->add_intvalue((int)target);
3176
3177 // copy argument mode
3178 GLMessage_DataType *arg_mode = glmsg.add_args();
3179 arg_mode->set_isarray(false);
3180 arg_mode->set_type(GLMessage::DataType::ENUM);
3181 arg_mode->add_intvalue((int)mode);
3182
3183 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003184 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3185 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003186 glContext->hooks->gl.glHint(target, mode);
Siva Velusamy05df4502012-02-17 10:55:03 -08003187 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3188 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003189
Siva Velusamy98011422012-02-27 12:02:47 -08003190 void *pointerArgs[] = {
3191 };
3192
Siva Velusamy05df4502012-02-17 10:55:03 -08003193 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3194 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003195 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003196 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003197}
3198
3199GLboolean GLTrace_glIsBuffer(GLuint buffer) {
3200 GLMessage glmsg;
3201 GLTraceContext *glContext = getGLTraceContext();
3202
Siva Velusamy0469dd62011-11-30 15:05:37 -08003203 glmsg.set_function(GLMessage::glIsBuffer);
3204
3205 // copy argument buffer
3206 GLMessage_DataType *arg_buffer = glmsg.add_args();
3207 arg_buffer->set_isarray(false);
3208 arg_buffer->set_type(GLMessage::DataType::INT);
3209 arg_buffer->add_intvalue(buffer);
3210
3211 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003212 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3213 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003214 GLboolean retValue = glContext->hooks->gl.glIsBuffer(buffer);
Siva Velusamy05df4502012-02-17 10:55:03 -08003215 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3216 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003217
3218 // set return value
3219 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3220 rt->set_isarray(false);
3221 rt->set_type(GLMessage::DataType::BOOL);
3222 rt->add_boolvalue(retValue);
3223
Siva Velusamy98011422012-02-27 12:02:47 -08003224 void *pointerArgs[] = {
3225 };
3226
Siva Velusamy05df4502012-02-17 10:55:03 -08003227 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3228 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003229 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003230 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003231
3232 return retValue;
3233}
3234
3235GLboolean GLTrace_glIsEnabled(GLenum cap) {
3236 GLMessage glmsg;
3237 GLTraceContext *glContext = getGLTraceContext();
3238
Siva Velusamy0469dd62011-11-30 15:05:37 -08003239 glmsg.set_function(GLMessage::glIsEnabled);
3240
3241 // copy argument cap
3242 GLMessage_DataType *arg_cap = glmsg.add_args();
3243 arg_cap->set_isarray(false);
3244 arg_cap->set_type(GLMessage::DataType::ENUM);
3245 arg_cap->add_intvalue((int)cap);
3246
3247 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003248 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3249 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003250 GLboolean retValue = glContext->hooks->gl.glIsEnabled(cap);
Siva Velusamy05df4502012-02-17 10:55:03 -08003251 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3252 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003253
3254 // set return value
3255 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3256 rt->set_isarray(false);
3257 rt->set_type(GLMessage::DataType::BOOL);
3258 rt->add_boolvalue(retValue);
3259
Siva Velusamy98011422012-02-27 12:02:47 -08003260 void *pointerArgs[] = {
3261 };
3262
Siva Velusamy05df4502012-02-17 10:55:03 -08003263 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3264 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003265 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003266 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003267
3268 return retValue;
3269}
3270
3271GLboolean GLTrace_glIsFramebuffer(GLuint framebuffer) {
3272 GLMessage glmsg;
3273 GLTraceContext *glContext = getGLTraceContext();
3274
Siva Velusamy0469dd62011-11-30 15:05:37 -08003275 glmsg.set_function(GLMessage::glIsFramebuffer);
3276
3277 // copy argument framebuffer
3278 GLMessage_DataType *arg_framebuffer = glmsg.add_args();
3279 arg_framebuffer->set_isarray(false);
3280 arg_framebuffer->set_type(GLMessage::DataType::INT);
3281 arg_framebuffer->add_intvalue(framebuffer);
3282
3283 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003284 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3285 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003286 GLboolean retValue = glContext->hooks->gl.glIsFramebuffer(framebuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -08003287 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3288 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003289
3290 // set return value
3291 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3292 rt->set_isarray(false);
3293 rt->set_type(GLMessage::DataType::BOOL);
3294 rt->add_boolvalue(retValue);
3295
Siva Velusamy98011422012-02-27 12:02:47 -08003296 void *pointerArgs[] = {
3297 };
3298
Siva Velusamy05df4502012-02-17 10:55:03 -08003299 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3300 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003301 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003302 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003303
3304 return retValue;
3305}
3306
3307GLboolean GLTrace_glIsProgram(GLuint program) {
3308 GLMessage glmsg;
3309 GLTraceContext *glContext = getGLTraceContext();
3310
Siva Velusamy0469dd62011-11-30 15:05:37 -08003311 glmsg.set_function(GLMessage::glIsProgram);
3312
3313 // copy argument program
3314 GLMessage_DataType *arg_program = glmsg.add_args();
3315 arg_program->set_isarray(false);
3316 arg_program->set_type(GLMessage::DataType::INT);
3317 arg_program->add_intvalue(program);
3318
3319 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003320 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3321 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003322 GLboolean retValue = glContext->hooks->gl.glIsProgram(program);
Siva Velusamy05df4502012-02-17 10:55:03 -08003323 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3324 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003325
3326 // set return value
3327 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3328 rt->set_isarray(false);
3329 rt->set_type(GLMessage::DataType::BOOL);
3330 rt->add_boolvalue(retValue);
3331
Siva Velusamy98011422012-02-27 12:02:47 -08003332 void *pointerArgs[] = {
3333 };
3334
Siva Velusamy05df4502012-02-17 10:55:03 -08003335 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3336 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003337 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003338 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003339
3340 return retValue;
3341}
3342
3343GLboolean GLTrace_glIsRenderbuffer(GLuint renderbuffer) {
3344 GLMessage glmsg;
3345 GLTraceContext *glContext = getGLTraceContext();
3346
Siva Velusamy0469dd62011-11-30 15:05:37 -08003347 glmsg.set_function(GLMessage::glIsRenderbuffer);
3348
3349 // copy argument renderbuffer
3350 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
3351 arg_renderbuffer->set_isarray(false);
3352 arg_renderbuffer->set_type(GLMessage::DataType::INT);
3353 arg_renderbuffer->add_intvalue(renderbuffer);
3354
3355 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003356 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3357 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003358 GLboolean retValue = glContext->hooks->gl.glIsRenderbuffer(renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -08003359 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3360 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003361
3362 // set return value
3363 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3364 rt->set_isarray(false);
3365 rt->set_type(GLMessage::DataType::BOOL);
3366 rt->add_boolvalue(retValue);
3367
Siva Velusamy98011422012-02-27 12:02:47 -08003368 void *pointerArgs[] = {
3369 };
3370
Siva Velusamy05df4502012-02-17 10:55:03 -08003371 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3372 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003373 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003374 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003375
3376 return retValue;
3377}
3378
3379GLboolean GLTrace_glIsShader(GLuint shader) {
3380 GLMessage glmsg;
3381 GLTraceContext *glContext = getGLTraceContext();
3382
Siva Velusamy0469dd62011-11-30 15:05:37 -08003383 glmsg.set_function(GLMessage::glIsShader);
3384
3385 // copy argument shader
3386 GLMessage_DataType *arg_shader = glmsg.add_args();
3387 arg_shader->set_isarray(false);
3388 arg_shader->set_type(GLMessage::DataType::INT);
3389 arg_shader->add_intvalue(shader);
3390
3391 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003392 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3393 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003394 GLboolean retValue = glContext->hooks->gl.glIsShader(shader);
Siva Velusamy05df4502012-02-17 10:55:03 -08003395 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3396 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003397
3398 // set return value
3399 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3400 rt->set_isarray(false);
3401 rt->set_type(GLMessage::DataType::BOOL);
3402 rt->add_boolvalue(retValue);
3403
Siva Velusamy98011422012-02-27 12:02:47 -08003404 void *pointerArgs[] = {
3405 };
3406
Siva Velusamy05df4502012-02-17 10:55:03 -08003407 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3408 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003409 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003410 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003411
3412 return retValue;
3413}
3414
3415GLboolean GLTrace_glIsTexture(GLuint texture) {
3416 GLMessage glmsg;
3417 GLTraceContext *glContext = getGLTraceContext();
3418
Siva Velusamy0469dd62011-11-30 15:05:37 -08003419 glmsg.set_function(GLMessage::glIsTexture);
3420
3421 // copy argument texture
3422 GLMessage_DataType *arg_texture = glmsg.add_args();
3423 arg_texture->set_isarray(false);
3424 arg_texture->set_type(GLMessage::DataType::INT);
3425 arg_texture->add_intvalue(texture);
3426
3427 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003428 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3429 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003430 GLboolean retValue = glContext->hooks->gl.glIsTexture(texture);
Siva Velusamy05df4502012-02-17 10:55:03 -08003431 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3432 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003433
3434 // set return value
3435 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
3436 rt->set_isarray(false);
3437 rt->set_type(GLMessage::DataType::BOOL);
3438 rt->add_boolvalue(retValue);
3439
Siva Velusamy98011422012-02-27 12:02:47 -08003440 void *pointerArgs[] = {
3441 };
3442
Siva Velusamy05df4502012-02-17 10:55:03 -08003443 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3444 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003445 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003446 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003447
3448 return retValue;
3449}
3450
3451void GLTrace_glLineWidth(GLfloat width) {
3452 GLMessage glmsg;
3453 GLTraceContext *glContext = getGLTraceContext();
3454
Siva Velusamy0469dd62011-11-30 15:05:37 -08003455 glmsg.set_function(GLMessage::glLineWidth);
3456
3457 // copy argument width
3458 GLMessage_DataType *arg_width = glmsg.add_args();
3459 arg_width->set_isarray(false);
3460 arg_width->set_type(GLMessage::DataType::FLOAT);
3461 arg_width->add_floatvalue(width);
3462
3463 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003464 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3465 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003466 glContext->hooks->gl.glLineWidth(width);
Siva Velusamy05df4502012-02-17 10:55:03 -08003467 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3468 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003469
Siva Velusamy98011422012-02-27 12:02:47 -08003470 void *pointerArgs[] = {
3471 };
3472
Siva Velusamy05df4502012-02-17 10:55:03 -08003473 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3474 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003475 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003476 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003477}
3478
3479void GLTrace_glLinkProgram(GLuint program) {
3480 GLMessage glmsg;
3481 GLTraceContext *glContext = getGLTraceContext();
3482
Siva Velusamy0469dd62011-11-30 15:05:37 -08003483 glmsg.set_function(GLMessage::glLinkProgram);
3484
3485 // copy argument program
3486 GLMessage_DataType *arg_program = glmsg.add_args();
3487 arg_program->set_isarray(false);
3488 arg_program->set_type(GLMessage::DataType::INT);
3489 arg_program->add_intvalue(program);
3490
3491 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003492 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3493 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003494 glContext->hooks->gl.glLinkProgram(program);
Siva Velusamy05df4502012-02-17 10:55:03 -08003495 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3496 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003497
Siva Velusamy98011422012-02-27 12:02:47 -08003498 void *pointerArgs[] = {
3499 };
3500
Siva Velusamy05df4502012-02-17 10:55:03 -08003501 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3502 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003503 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003504 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003505}
3506
3507void GLTrace_glPixelStorei(GLenum pname, GLint param) {
3508 GLMessage glmsg;
3509 GLTraceContext *glContext = getGLTraceContext();
3510
Siva Velusamy0469dd62011-11-30 15:05:37 -08003511 glmsg.set_function(GLMessage::glPixelStorei);
3512
3513 // copy argument pname
3514 GLMessage_DataType *arg_pname = glmsg.add_args();
3515 arg_pname->set_isarray(false);
3516 arg_pname->set_type(GLMessage::DataType::ENUM);
3517 arg_pname->add_intvalue((int)pname);
3518
3519 // copy argument param
3520 GLMessage_DataType *arg_param = glmsg.add_args();
3521 arg_param->set_isarray(false);
3522 arg_param->set_type(GLMessage::DataType::INT);
3523 arg_param->add_intvalue(param);
3524
3525 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003526 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3527 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003528 glContext->hooks->gl.glPixelStorei(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -08003529 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3530 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003531
Siva Velusamy98011422012-02-27 12:02:47 -08003532 void *pointerArgs[] = {
3533 };
3534
Siva Velusamy05df4502012-02-17 10:55:03 -08003535 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3536 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003537 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003538 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003539}
3540
3541void GLTrace_glPolygonOffset(GLfloat factor, GLfloat units) {
3542 GLMessage glmsg;
3543 GLTraceContext *glContext = getGLTraceContext();
3544
Siva Velusamy0469dd62011-11-30 15:05:37 -08003545 glmsg.set_function(GLMessage::glPolygonOffset);
3546
3547 // copy argument factor
3548 GLMessage_DataType *arg_factor = glmsg.add_args();
3549 arg_factor->set_isarray(false);
3550 arg_factor->set_type(GLMessage::DataType::FLOAT);
3551 arg_factor->add_floatvalue(factor);
3552
3553 // copy argument units
3554 GLMessage_DataType *arg_units = glmsg.add_args();
3555 arg_units->set_isarray(false);
3556 arg_units->set_type(GLMessage::DataType::FLOAT);
3557 arg_units->add_floatvalue(units);
3558
3559 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003560 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3561 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003562 glContext->hooks->gl.glPolygonOffset(factor, units);
Siva Velusamy05df4502012-02-17 10:55:03 -08003563 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3564 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003565
Siva Velusamy98011422012-02-27 12:02:47 -08003566 void *pointerArgs[] = {
3567 };
3568
Siva Velusamy05df4502012-02-17 10:55:03 -08003569 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3570 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003571 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003572 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003573}
3574
3575void GLTrace_glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels) {
3576 GLMessage glmsg;
3577 GLTraceContext *glContext = getGLTraceContext();
3578
Siva Velusamy0469dd62011-11-30 15:05:37 -08003579 glmsg.set_function(GLMessage::glReadPixels);
3580
3581 // copy argument x
3582 GLMessage_DataType *arg_x = glmsg.add_args();
3583 arg_x->set_isarray(false);
3584 arg_x->set_type(GLMessage::DataType::INT);
3585 arg_x->add_intvalue(x);
3586
3587 // copy argument y
3588 GLMessage_DataType *arg_y = glmsg.add_args();
3589 arg_y->set_isarray(false);
3590 arg_y->set_type(GLMessage::DataType::INT);
3591 arg_y->add_intvalue(y);
3592
3593 // copy argument width
3594 GLMessage_DataType *arg_width = glmsg.add_args();
3595 arg_width->set_isarray(false);
3596 arg_width->set_type(GLMessage::DataType::INT);
3597 arg_width->add_intvalue(width);
3598
3599 // copy argument height
3600 GLMessage_DataType *arg_height = glmsg.add_args();
3601 arg_height->set_isarray(false);
3602 arg_height->set_type(GLMessage::DataType::INT);
3603 arg_height->add_intvalue(height);
3604
3605 // copy argument format
3606 GLMessage_DataType *arg_format = glmsg.add_args();
3607 arg_format->set_isarray(false);
3608 arg_format->set_type(GLMessage::DataType::ENUM);
3609 arg_format->add_intvalue((int)format);
3610
3611 // copy argument type
3612 GLMessage_DataType *arg_type = glmsg.add_args();
3613 arg_type->set_isarray(false);
3614 arg_type->set_type(GLMessage::DataType::ENUM);
3615 arg_type->add_intvalue((int)type);
3616
3617 // copy argument pixels
3618 GLMessage_DataType *arg_pixels = glmsg.add_args();
3619 arg_pixels->set_isarray(false);
3620 arg_pixels->set_type(GLMessage::DataType::INT);
3621 arg_pixels->add_intvalue((int)pixels);
3622
3623 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003624 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3625 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003626 glContext->hooks->gl.glReadPixels(x, y, width, height, format, type, pixels);
Siva Velusamy05df4502012-02-17 10:55:03 -08003627 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3628 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003629
Siva Velusamy98011422012-02-27 12:02:47 -08003630 void *pointerArgs[] = {
3631 (void *) pixels,
3632 };
3633
Siva Velusamy05df4502012-02-17 10:55:03 -08003634 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3635 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003636 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003637 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003638}
3639
3640void GLTrace_glReleaseShaderCompiler(void) {
3641 GLMessage glmsg;
3642 GLTraceContext *glContext = getGLTraceContext();
3643
Siva Velusamy0469dd62011-11-30 15:05:37 -08003644 glmsg.set_function(GLMessage::glReleaseShaderCompiler);
3645
3646 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003647 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3648 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003649 glContext->hooks->gl.glReleaseShaderCompiler();
Siva Velusamy05df4502012-02-17 10:55:03 -08003650 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3651 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003652
Siva Velusamy98011422012-02-27 12:02:47 -08003653 void *pointerArgs[] = {
3654 };
3655
Siva Velusamy05df4502012-02-17 10:55:03 -08003656 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3657 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003658 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003659 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003660}
3661
3662void GLTrace_glRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
3663 GLMessage glmsg;
3664 GLTraceContext *glContext = getGLTraceContext();
3665
Siva Velusamy0469dd62011-11-30 15:05:37 -08003666 glmsg.set_function(GLMessage::glRenderbufferStorage);
3667
3668 // copy argument target
3669 GLMessage_DataType *arg_target = glmsg.add_args();
3670 arg_target->set_isarray(false);
3671 arg_target->set_type(GLMessage::DataType::ENUM);
3672 arg_target->add_intvalue((int)target);
3673
3674 // copy argument internalformat
3675 GLMessage_DataType *arg_internalformat = glmsg.add_args();
3676 arg_internalformat->set_isarray(false);
3677 arg_internalformat->set_type(GLMessage::DataType::ENUM);
3678 arg_internalformat->add_intvalue((int)internalformat);
3679
3680 // copy argument width
3681 GLMessage_DataType *arg_width = glmsg.add_args();
3682 arg_width->set_isarray(false);
3683 arg_width->set_type(GLMessage::DataType::INT);
3684 arg_width->add_intvalue(width);
3685
3686 // copy argument height
3687 GLMessage_DataType *arg_height = glmsg.add_args();
3688 arg_height->set_isarray(false);
3689 arg_height->set_type(GLMessage::DataType::INT);
3690 arg_height->add_intvalue(height);
3691
3692 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003693 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3694 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003695 glContext->hooks->gl.glRenderbufferStorage(target, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08003696 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3697 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003698
Siva Velusamy98011422012-02-27 12:02:47 -08003699 void *pointerArgs[] = {
3700 };
3701
Siva Velusamy05df4502012-02-17 10:55:03 -08003702 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3703 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003704 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003705 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003706}
3707
3708void GLTrace_glSampleCoverage(GLclampf value, GLboolean invert) {
3709 GLMessage glmsg;
3710 GLTraceContext *glContext = getGLTraceContext();
3711
Siva Velusamy0469dd62011-11-30 15:05:37 -08003712 glmsg.set_function(GLMessage::glSampleCoverage);
3713
3714 // copy argument value
3715 GLMessage_DataType *arg_value = glmsg.add_args();
3716 arg_value->set_isarray(false);
3717 arg_value->set_type(GLMessage::DataType::FLOAT);
3718 arg_value->add_floatvalue(value);
3719
3720 // copy argument invert
3721 GLMessage_DataType *arg_invert = glmsg.add_args();
3722 arg_invert->set_isarray(false);
3723 arg_invert->set_type(GLMessage::DataType::BOOL);
3724 arg_invert->add_boolvalue(invert);
3725
3726 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003727 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3728 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003729 glContext->hooks->gl.glSampleCoverage(value, invert);
Siva Velusamy05df4502012-02-17 10:55:03 -08003730 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3731 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003732
Siva Velusamy98011422012-02-27 12:02:47 -08003733 void *pointerArgs[] = {
3734 };
3735
Siva Velusamy05df4502012-02-17 10:55:03 -08003736 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3737 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003738 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003739 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003740}
3741
3742void GLTrace_glScissor(GLint x, GLint y, GLsizei width, GLsizei height) {
3743 GLMessage glmsg;
3744 GLTraceContext *glContext = getGLTraceContext();
3745
Siva Velusamy0469dd62011-11-30 15:05:37 -08003746 glmsg.set_function(GLMessage::glScissor);
3747
3748 // copy argument x
3749 GLMessage_DataType *arg_x = glmsg.add_args();
3750 arg_x->set_isarray(false);
3751 arg_x->set_type(GLMessage::DataType::INT);
3752 arg_x->add_intvalue(x);
3753
3754 // copy argument y
3755 GLMessage_DataType *arg_y = glmsg.add_args();
3756 arg_y->set_isarray(false);
3757 arg_y->set_type(GLMessage::DataType::INT);
3758 arg_y->add_intvalue(y);
3759
3760 // copy argument width
3761 GLMessage_DataType *arg_width = glmsg.add_args();
3762 arg_width->set_isarray(false);
3763 arg_width->set_type(GLMessage::DataType::INT);
3764 arg_width->add_intvalue(width);
3765
3766 // copy argument height
3767 GLMessage_DataType *arg_height = glmsg.add_args();
3768 arg_height->set_isarray(false);
3769 arg_height->set_type(GLMessage::DataType::INT);
3770 arg_height->add_intvalue(height);
3771
3772 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003773 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3774 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003775 glContext->hooks->gl.glScissor(x, y, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08003776 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3777 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003778
Siva Velusamy98011422012-02-27 12:02:47 -08003779 void *pointerArgs[] = {
3780 };
3781
Siva Velusamy05df4502012-02-17 10:55:03 -08003782 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3783 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003784 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003785 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003786}
3787
3788void GLTrace_glShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length) {
3789 GLMessage glmsg;
3790 GLTraceContext *glContext = getGLTraceContext();
3791
Siva Velusamy0469dd62011-11-30 15:05:37 -08003792 glmsg.set_function(GLMessage::glShaderBinary);
3793
3794 // copy argument n
3795 GLMessage_DataType *arg_n = glmsg.add_args();
3796 arg_n->set_isarray(false);
3797 arg_n->set_type(GLMessage::DataType::INT);
3798 arg_n->add_intvalue(n);
3799
3800 // copy argument shaders
3801 GLMessage_DataType *arg_shaders = glmsg.add_args();
3802 arg_shaders->set_isarray(false);
3803 arg_shaders->set_type(GLMessage::DataType::INT);
3804 arg_shaders->add_intvalue((int)shaders);
3805
3806 // copy argument binaryformat
3807 GLMessage_DataType *arg_binaryformat = glmsg.add_args();
3808 arg_binaryformat->set_isarray(false);
3809 arg_binaryformat->set_type(GLMessage::DataType::ENUM);
3810 arg_binaryformat->add_intvalue((int)binaryformat);
3811
3812 // copy argument binary
3813 GLMessage_DataType *arg_binary = glmsg.add_args();
3814 arg_binary->set_isarray(false);
3815 arg_binary->set_type(GLMessage::DataType::INT);
3816 arg_binary->add_intvalue((int)binary);
3817
3818 // copy argument length
3819 GLMessage_DataType *arg_length = glmsg.add_args();
3820 arg_length->set_isarray(false);
3821 arg_length->set_type(GLMessage::DataType::INT);
3822 arg_length->add_intvalue(length);
3823
3824 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003825 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3826 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003827 glContext->hooks->gl.glShaderBinary(n, shaders, binaryformat, binary, length);
Siva Velusamy05df4502012-02-17 10:55:03 -08003828 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3829 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003830
Siva Velusamy98011422012-02-27 12:02:47 -08003831 void *pointerArgs[] = {
3832 (void *) shaders,
3833 (void *) binary,
3834 };
3835
Siva Velusamy05df4502012-02-17 10:55:03 -08003836 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3837 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003838 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003839 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003840}
3841
3842void GLTrace_glShaderSource(GLuint shader, GLsizei count, const GLchar** string, const GLint* length) {
3843 GLMessage glmsg;
3844 GLTraceContext *glContext = getGLTraceContext();
3845
Siva Velusamy0469dd62011-11-30 15:05:37 -08003846 glmsg.set_function(GLMessage::glShaderSource);
3847
3848 // copy argument shader
3849 GLMessage_DataType *arg_shader = glmsg.add_args();
3850 arg_shader->set_isarray(false);
3851 arg_shader->set_type(GLMessage::DataType::INT);
3852 arg_shader->add_intvalue(shader);
3853
3854 // copy argument count
3855 GLMessage_DataType *arg_count = glmsg.add_args();
3856 arg_count->set_isarray(false);
3857 arg_count->set_type(GLMessage::DataType::INT);
3858 arg_count->add_intvalue(count);
3859
3860 // copy argument string
3861 GLMessage_DataType *arg_string = glmsg.add_args();
3862 arg_string->set_isarray(false);
3863 arg_string->set_type(GLMessage::DataType::INT);
3864 arg_string->add_intvalue((int)string);
3865
3866 // copy argument length
3867 GLMessage_DataType *arg_length = glmsg.add_args();
3868 arg_length->set_isarray(false);
3869 arg_length->set_type(GLMessage::DataType::INT);
3870 arg_length->add_intvalue((int)length);
3871
3872 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003873 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3874 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003875 glContext->hooks->gl.glShaderSource(shader, count, string, length);
Siva Velusamy05df4502012-02-17 10:55:03 -08003876 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3877 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003878
Siva Velusamy98011422012-02-27 12:02:47 -08003879 void *pointerArgs[] = {
3880 (void *) string,
3881 (void *) length,
3882 };
3883
Siva Velusamy05df4502012-02-17 10:55:03 -08003884 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3885 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003886 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003887 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003888}
3889
3890void GLTrace_glStencilFunc(GLenum func, GLint ref, GLuint mask) {
3891 GLMessage glmsg;
3892 GLTraceContext *glContext = getGLTraceContext();
3893
Siva Velusamy0469dd62011-11-30 15:05:37 -08003894 glmsg.set_function(GLMessage::glStencilFunc);
3895
3896 // copy argument func
3897 GLMessage_DataType *arg_func = glmsg.add_args();
3898 arg_func->set_isarray(false);
3899 arg_func->set_type(GLMessage::DataType::ENUM);
3900 arg_func->add_intvalue((int)func);
3901
3902 // copy argument ref
3903 GLMessage_DataType *arg_ref = glmsg.add_args();
3904 arg_ref->set_isarray(false);
3905 arg_ref->set_type(GLMessage::DataType::INT);
3906 arg_ref->add_intvalue(ref);
3907
3908 // copy argument mask
3909 GLMessage_DataType *arg_mask = glmsg.add_args();
3910 arg_mask->set_isarray(false);
3911 arg_mask->set_type(GLMessage::DataType::INT);
3912 arg_mask->add_intvalue(mask);
3913
3914 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003915 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3916 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003917 glContext->hooks->gl.glStencilFunc(func, ref, mask);
Siva Velusamy05df4502012-02-17 10:55:03 -08003918 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3919 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003920
Siva Velusamy98011422012-02-27 12:02:47 -08003921 void *pointerArgs[] = {
3922 };
3923
Siva Velusamy05df4502012-02-17 10:55:03 -08003924 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3925 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003926 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003927 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003928}
3929
3930void GLTrace_glStencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) {
3931 GLMessage glmsg;
3932 GLTraceContext *glContext = getGLTraceContext();
3933
Siva Velusamy0469dd62011-11-30 15:05:37 -08003934 glmsg.set_function(GLMessage::glStencilFuncSeparate);
3935
3936 // copy argument face
3937 GLMessage_DataType *arg_face = glmsg.add_args();
3938 arg_face->set_isarray(false);
3939 arg_face->set_type(GLMessage::DataType::ENUM);
3940 arg_face->add_intvalue((int)face);
3941
3942 // copy argument func
3943 GLMessage_DataType *arg_func = glmsg.add_args();
3944 arg_func->set_isarray(false);
3945 arg_func->set_type(GLMessage::DataType::ENUM);
3946 arg_func->add_intvalue((int)func);
3947
3948 // copy argument ref
3949 GLMessage_DataType *arg_ref = glmsg.add_args();
3950 arg_ref->set_isarray(false);
3951 arg_ref->set_type(GLMessage::DataType::INT);
3952 arg_ref->add_intvalue(ref);
3953
3954 // copy argument mask
3955 GLMessage_DataType *arg_mask = glmsg.add_args();
3956 arg_mask->set_isarray(false);
3957 arg_mask->set_type(GLMessage::DataType::INT);
3958 arg_mask->add_intvalue(mask);
3959
3960 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003961 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3962 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003963 glContext->hooks->gl.glStencilFuncSeparate(face, func, ref, mask);
Siva Velusamy05df4502012-02-17 10:55:03 -08003964 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3965 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003966
Siva Velusamy98011422012-02-27 12:02:47 -08003967 void *pointerArgs[] = {
3968 };
3969
Siva Velusamy05df4502012-02-17 10:55:03 -08003970 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3971 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08003972 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08003973 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003974}
3975
3976void GLTrace_glStencilMask(GLuint mask) {
3977 GLMessage glmsg;
3978 GLTraceContext *glContext = getGLTraceContext();
3979
Siva Velusamy0469dd62011-11-30 15:05:37 -08003980 glmsg.set_function(GLMessage::glStencilMask);
3981
3982 // copy argument mask
3983 GLMessage_DataType *arg_mask = glmsg.add_args();
3984 arg_mask->set_isarray(false);
3985 arg_mask->set_type(GLMessage::DataType::INT);
3986 arg_mask->add_intvalue(mask);
3987
3988 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08003989 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
3990 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003991 glContext->hooks->gl.glStencilMask(mask);
Siva Velusamy05df4502012-02-17 10:55:03 -08003992 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
3993 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08003994
Siva Velusamy98011422012-02-27 12:02:47 -08003995 void *pointerArgs[] = {
3996 };
3997
Siva Velusamy05df4502012-02-17 10:55:03 -08003998 fixupGLMessage(glContext, wallStartTime, wallEndTime,
3999 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004000 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004001 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004002}
4003
4004void GLTrace_glStencilMaskSeparate(GLenum face, GLuint mask) {
4005 GLMessage glmsg;
4006 GLTraceContext *glContext = getGLTraceContext();
4007
Siva Velusamy0469dd62011-11-30 15:05:37 -08004008 glmsg.set_function(GLMessage::glStencilMaskSeparate);
4009
4010 // copy argument face
4011 GLMessage_DataType *arg_face = glmsg.add_args();
4012 arg_face->set_isarray(false);
4013 arg_face->set_type(GLMessage::DataType::ENUM);
4014 arg_face->add_intvalue((int)face);
4015
4016 // copy argument mask
4017 GLMessage_DataType *arg_mask = glmsg.add_args();
4018 arg_mask->set_isarray(false);
4019 arg_mask->set_type(GLMessage::DataType::INT);
4020 arg_mask->add_intvalue(mask);
4021
4022 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004023 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4024 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004025 glContext->hooks->gl.glStencilMaskSeparate(face, mask);
Siva Velusamy05df4502012-02-17 10:55:03 -08004026 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4027 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004028
Siva Velusamy98011422012-02-27 12:02:47 -08004029 void *pointerArgs[] = {
4030 };
4031
Siva Velusamy05df4502012-02-17 10:55:03 -08004032 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4033 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004034 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004035 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004036}
4037
4038void GLTrace_glStencilOp(GLenum fail, GLenum zfail, GLenum zpass) {
4039 GLMessage glmsg;
4040 GLTraceContext *glContext = getGLTraceContext();
4041
Siva Velusamy0469dd62011-11-30 15:05:37 -08004042 glmsg.set_function(GLMessage::glStencilOp);
4043
4044 // copy argument fail
4045 GLMessage_DataType *arg_fail = glmsg.add_args();
4046 arg_fail->set_isarray(false);
4047 arg_fail->set_type(GLMessage::DataType::ENUM);
4048 arg_fail->add_intvalue((int)fail);
4049
4050 // copy argument zfail
4051 GLMessage_DataType *arg_zfail = glmsg.add_args();
4052 arg_zfail->set_isarray(false);
4053 arg_zfail->set_type(GLMessage::DataType::ENUM);
4054 arg_zfail->add_intvalue((int)zfail);
4055
4056 // copy argument zpass
4057 GLMessage_DataType *arg_zpass = glmsg.add_args();
4058 arg_zpass->set_isarray(false);
4059 arg_zpass->set_type(GLMessage::DataType::ENUM);
4060 arg_zpass->add_intvalue((int)zpass);
4061
4062 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004063 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4064 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004065 glContext->hooks->gl.glStencilOp(fail, zfail, zpass);
Siva Velusamy05df4502012-02-17 10:55:03 -08004066 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4067 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004068
Siva Velusamy98011422012-02-27 12:02:47 -08004069 void *pointerArgs[] = {
4070 };
4071
Siva Velusamy05df4502012-02-17 10:55:03 -08004072 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4073 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004074 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004075 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004076}
4077
4078void GLTrace_glStencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) {
4079 GLMessage glmsg;
4080 GLTraceContext *glContext = getGLTraceContext();
4081
Siva Velusamy0469dd62011-11-30 15:05:37 -08004082 glmsg.set_function(GLMessage::glStencilOpSeparate);
4083
4084 // copy argument face
4085 GLMessage_DataType *arg_face = glmsg.add_args();
4086 arg_face->set_isarray(false);
4087 arg_face->set_type(GLMessage::DataType::ENUM);
4088 arg_face->add_intvalue((int)face);
4089
4090 // copy argument fail
4091 GLMessage_DataType *arg_fail = glmsg.add_args();
4092 arg_fail->set_isarray(false);
4093 arg_fail->set_type(GLMessage::DataType::ENUM);
4094 arg_fail->add_intvalue((int)fail);
4095
4096 // copy argument zfail
4097 GLMessage_DataType *arg_zfail = glmsg.add_args();
4098 arg_zfail->set_isarray(false);
4099 arg_zfail->set_type(GLMessage::DataType::ENUM);
4100 arg_zfail->add_intvalue((int)zfail);
4101
4102 // copy argument zpass
4103 GLMessage_DataType *arg_zpass = glmsg.add_args();
4104 arg_zpass->set_isarray(false);
4105 arg_zpass->set_type(GLMessage::DataType::ENUM);
4106 arg_zpass->add_intvalue((int)zpass);
4107
4108 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004109 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4110 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004111 glContext->hooks->gl.glStencilOpSeparate(face, fail, zfail, zpass);
Siva Velusamy05df4502012-02-17 10:55:03 -08004112 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4113 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004114
Siva Velusamy98011422012-02-27 12:02:47 -08004115 void *pointerArgs[] = {
4116 };
4117
Siva Velusamy05df4502012-02-17 10:55:03 -08004118 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4119 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004120 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004121 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004122}
4123
4124void GLTrace_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels) {
4125 GLMessage glmsg;
4126 GLTraceContext *glContext = getGLTraceContext();
4127
Siva Velusamy0469dd62011-11-30 15:05:37 -08004128 glmsg.set_function(GLMessage::glTexImage2D);
4129
4130 // copy argument target
4131 GLMessage_DataType *arg_target = glmsg.add_args();
4132 arg_target->set_isarray(false);
4133 arg_target->set_type(GLMessage::DataType::ENUM);
4134 arg_target->add_intvalue((int)target);
4135
4136 // copy argument level
4137 GLMessage_DataType *arg_level = glmsg.add_args();
4138 arg_level->set_isarray(false);
4139 arg_level->set_type(GLMessage::DataType::INT);
4140 arg_level->add_intvalue(level);
4141
4142 // copy argument internalformat
4143 GLMessage_DataType *arg_internalformat = glmsg.add_args();
4144 arg_internalformat->set_isarray(false);
4145 arg_internalformat->set_type(GLMessage::DataType::INT);
4146 arg_internalformat->add_intvalue(internalformat);
4147
4148 // copy argument width
4149 GLMessage_DataType *arg_width = glmsg.add_args();
4150 arg_width->set_isarray(false);
4151 arg_width->set_type(GLMessage::DataType::INT);
4152 arg_width->add_intvalue(width);
4153
4154 // copy argument height
4155 GLMessage_DataType *arg_height = glmsg.add_args();
4156 arg_height->set_isarray(false);
4157 arg_height->set_type(GLMessage::DataType::INT);
4158 arg_height->add_intvalue(height);
4159
4160 // copy argument border
4161 GLMessage_DataType *arg_border = glmsg.add_args();
4162 arg_border->set_isarray(false);
4163 arg_border->set_type(GLMessage::DataType::INT);
4164 arg_border->add_intvalue(border);
4165
4166 // copy argument format
4167 GLMessage_DataType *arg_format = glmsg.add_args();
4168 arg_format->set_isarray(false);
4169 arg_format->set_type(GLMessage::DataType::ENUM);
4170 arg_format->add_intvalue((int)format);
4171
4172 // copy argument type
4173 GLMessage_DataType *arg_type = glmsg.add_args();
4174 arg_type->set_isarray(false);
4175 arg_type->set_type(GLMessage::DataType::ENUM);
4176 arg_type->add_intvalue((int)type);
4177
4178 // copy argument pixels
4179 GLMessage_DataType *arg_pixels = glmsg.add_args();
4180 arg_pixels->set_isarray(false);
4181 arg_pixels->set_type(GLMessage::DataType::INT);
4182 arg_pixels->add_intvalue((int)pixels);
4183
4184 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004185 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4186 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004187 glContext->hooks->gl.glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
Siva Velusamy05df4502012-02-17 10:55:03 -08004188 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4189 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004190
Siva Velusamy98011422012-02-27 12:02:47 -08004191 void *pointerArgs[] = {
4192 (void *) pixels,
4193 };
4194
Siva Velusamy05df4502012-02-17 10:55:03 -08004195 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4196 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004197 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004198 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004199}
4200
4201void GLTrace_glTexParameterf(GLenum target, GLenum pname, GLfloat param) {
4202 GLMessage glmsg;
4203 GLTraceContext *glContext = getGLTraceContext();
4204
Siva Velusamy0469dd62011-11-30 15:05:37 -08004205 glmsg.set_function(GLMessage::glTexParameterf);
4206
4207 // copy argument target
4208 GLMessage_DataType *arg_target = glmsg.add_args();
4209 arg_target->set_isarray(false);
4210 arg_target->set_type(GLMessage::DataType::ENUM);
4211 arg_target->add_intvalue((int)target);
4212
4213 // copy argument pname
4214 GLMessage_DataType *arg_pname = glmsg.add_args();
4215 arg_pname->set_isarray(false);
4216 arg_pname->set_type(GLMessage::DataType::ENUM);
4217 arg_pname->add_intvalue((int)pname);
4218
4219 // copy argument param
4220 GLMessage_DataType *arg_param = glmsg.add_args();
4221 arg_param->set_isarray(false);
4222 arg_param->set_type(GLMessage::DataType::FLOAT);
4223 arg_param->add_floatvalue(param);
4224
4225 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004226 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4227 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004228 glContext->hooks->gl.glTexParameterf(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -08004229 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4230 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004231
Siva Velusamy98011422012-02-27 12:02:47 -08004232 void *pointerArgs[] = {
4233 };
4234
Siva Velusamy05df4502012-02-17 10:55:03 -08004235 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4236 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004237 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004238 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004239}
4240
4241void GLTrace_glTexParameterfv(GLenum target, GLenum pname, const GLfloat* params) {
4242 GLMessage glmsg;
4243 GLTraceContext *glContext = getGLTraceContext();
4244
Siva Velusamy0469dd62011-11-30 15:05:37 -08004245 glmsg.set_function(GLMessage::glTexParameterfv);
4246
4247 // copy argument target
4248 GLMessage_DataType *arg_target = glmsg.add_args();
4249 arg_target->set_isarray(false);
4250 arg_target->set_type(GLMessage::DataType::ENUM);
4251 arg_target->add_intvalue((int)target);
4252
4253 // copy argument pname
4254 GLMessage_DataType *arg_pname = glmsg.add_args();
4255 arg_pname->set_isarray(false);
4256 arg_pname->set_type(GLMessage::DataType::ENUM);
4257 arg_pname->add_intvalue((int)pname);
4258
4259 // copy argument params
4260 GLMessage_DataType *arg_params = glmsg.add_args();
4261 arg_params->set_isarray(false);
4262 arg_params->set_type(GLMessage::DataType::INT);
4263 arg_params->add_intvalue((int)params);
4264
4265 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004266 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4267 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004268 glContext->hooks->gl.glTexParameterfv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08004269 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4270 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004271
Siva Velusamy98011422012-02-27 12:02:47 -08004272 void *pointerArgs[] = {
4273 (void *) params,
4274 };
4275
Siva Velusamy05df4502012-02-17 10:55:03 -08004276 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4277 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004278 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004279 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004280}
4281
4282void GLTrace_glTexParameteri(GLenum target, GLenum pname, GLint param) {
4283 GLMessage glmsg;
4284 GLTraceContext *glContext = getGLTraceContext();
4285
Siva Velusamy0469dd62011-11-30 15:05:37 -08004286 glmsg.set_function(GLMessage::glTexParameteri);
4287
4288 // copy argument target
4289 GLMessage_DataType *arg_target = glmsg.add_args();
4290 arg_target->set_isarray(false);
4291 arg_target->set_type(GLMessage::DataType::ENUM);
4292 arg_target->add_intvalue((int)target);
4293
4294 // copy argument pname
4295 GLMessage_DataType *arg_pname = glmsg.add_args();
4296 arg_pname->set_isarray(false);
4297 arg_pname->set_type(GLMessage::DataType::ENUM);
4298 arg_pname->add_intvalue((int)pname);
4299
4300 // copy argument param
4301 GLMessage_DataType *arg_param = glmsg.add_args();
4302 arg_param->set_isarray(false);
4303 arg_param->set_type(GLMessage::DataType::INT);
4304 arg_param->add_intvalue(param);
4305
4306 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004307 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4308 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004309 glContext->hooks->gl.glTexParameteri(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -08004310 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4311 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004312
Siva Velusamy98011422012-02-27 12:02:47 -08004313 void *pointerArgs[] = {
4314 };
4315
Siva Velusamy05df4502012-02-17 10:55:03 -08004316 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4317 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004318 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004319 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004320}
4321
4322void GLTrace_glTexParameteriv(GLenum target, GLenum pname, const GLint* params) {
4323 GLMessage glmsg;
4324 GLTraceContext *glContext = getGLTraceContext();
4325
Siva Velusamy0469dd62011-11-30 15:05:37 -08004326 glmsg.set_function(GLMessage::glTexParameteriv);
4327
4328 // copy argument target
4329 GLMessage_DataType *arg_target = glmsg.add_args();
4330 arg_target->set_isarray(false);
4331 arg_target->set_type(GLMessage::DataType::ENUM);
4332 arg_target->add_intvalue((int)target);
4333
4334 // copy argument pname
4335 GLMessage_DataType *arg_pname = glmsg.add_args();
4336 arg_pname->set_isarray(false);
4337 arg_pname->set_type(GLMessage::DataType::ENUM);
4338 arg_pname->add_intvalue((int)pname);
4339
4340 // copy argument params
4341 GLMessage_DataType *arg_params = glmsg.add_args();
4342 arg_params->set_isarray(false);
4343 arg_params->set_type(GLMessage::DataType::INT);
4344 arg_params->add_intvalue((int)params);
4345
4346 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004347 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4348 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004349 glContext->hooks->gl.glTexParameteriv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08004350 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4351 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004352
Siva Velusamy98011422012-02-27 12:02:47 -08004353 void *pointerArgs[] = {
4354 (void *) params,
4355 };
4356
Siva Velusamy05df4502012-02-17 10:55:03 -08004357 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4358 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004359 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004360 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004361}
4362
4363void GLTrace_glTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels) {
4364 GLMessage glmsg;
4365 GLTraceContext *glContext = getGLTraceContext();
4366
Siva Velusamy0469dd62011-11-30 15:05:37 -08004367 glmsg.set_function(GLMessage::glTexSubImage2D);
4368
4369 // copy argument target
4370 GLMessage_DataType *arg_target = glmsg.add_args();
4371 arg_target->set_isarray(false);
4372 arg_target->set_type(GLMessage::DataType::ENUM);
4373 arg_target->add_intvalue((int)target);
4374
4375 // copy argument level
4376 GLMessage_DataType *arg_level = glmsg.add_args();
4377 arg_level->set_isarray(false);
4378 arg_level->set_type(GLMessage::DataType::INT);
4379 arg_level->add_intvalue(level);
4380
4381 // copy argument xoffset
4382 GLMessage_DataType *arg_xoffset = glmsg.add_args();
4383 arg_xoffset->set_isarray(false);
4384 arg_xoffset->set_type(GLMessage::DataType::INT);
4385 arg_xoffset->add_intvalue(xoffset);
4386
4387 // copy argument yoffset
4388 GLMessage_DataType *arg_yoffset = glmsg.add_args();
4389 arg_yoffset->set_isarray(false);
4390 arg_yoffset->set_type(GLMessage::DataType::INT);
4391 arg_yoffset->add_intvalue(yoffset);
4392
4393 // copy argument width
4394 GLMessage_DataType *arg_width = glmsg.add_args();
4395 arg_width->set_isarray(false);
4396 arg_width->set_type(GLMessage::DataType::INT);
4397 arg_width->add_intvalue(width);
4398
4399 // copy argument height
4400 GLMessage_DataType *arg_height = glmsg.add_args();
4401 arg_height->set_isarray(false);
4402 arg_height->set_type(GLMessage::DataType::INT);
4403 arg_height->add_intvalue(height);
4404
4405 // copy argument format
4406 GLMessage_DataType *arg_format = glmsg.add_args();
4407 arg_format->set_isarray(false);
4408 arg_format->set_type(GLMessage::DataType::ENUM);
4409 arg_format->add_intvalue((int)format);
4410
4411 // copy argument type
4412 GLMessage_DataType *arg_type = glmsg.add_args();
4413 arg_type->set_isarray(false);
4414 arg_type->set_type(GLMessage::DataType::ENUM);
4415 arg_type->add_intvalue((int)type);
4416
4417 // copy argument pixels
4418 GLMessage_DataType *arg_pixels = glmsg.add_args();
4419 arg_pixels->set_isarray(false);
4420 arg_pixels->set_type(GLMessage::DataType::INT);
4421 arg_pixels->add_intvalue((int)pixels);
4422
4423 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004424 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4425 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004426 glContext->hooks->gl.glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
Siva Velusamy05df4502012-02-17 10:55:03 -08004427 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4428 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004429
Siva Velusamy98011422012-02-27 12:02:47 -08004430 void *pointerArgs[] = {
4431 (void *) pixels,
4432 };
4433
Siva Velusamy05df4502012-02-17 10:55:03 -08004434 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4435 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004436 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004437 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004438}
4439
4440void GLTrace_glUniform1f(GLint location, GLfloat x) {
4441 GLMessage glmsg;
4442 GLTraceContext *glContext = getGLTraceContext();
4443
Siva Velusamy0469dd62011-11-30 15:05:37 -08004444 glmsg.set_function(GLMessage::glUniform1f);
4445
4446 // copy argument location
4447 GLMessage_DataType *arg_location = glmsg.add_args();
4448 arg_location->set_isarray(false);
4449 arg_location->set_type(GLMessage::DataType::INT);
4450 arg_location->add_intvalue(location);
4451
4452 // copy argument x
4453 GLMessage_DataType *arg_x = glmsg.add_args();
4454 arg_x->set_isarray(false);
4455 arg_x->set_type(GLMessage::DataType::FLOAT);
4456 arg_x->add_floatvalue(x);
4457
4458 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004459 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4460 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004461 glContext->hooks->gl.glUniform1f(location, x);
Siva Velusamy05df4502012-02-17 10:55:03 -08004462 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4463 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004464
Siva Velusamy98011422012-02-27 12:02:47 -08004465 void *pointerArgs[] = {
4466 };
4467
Siva Velusamy05df4502012-02-17 10:55:03 -08004468 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4469 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004470 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004471 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004472}
4473
4474void GLTrace_glUniform1fv(GLint location, GLsizei count, const GLfloat* v) {
4475 GLMessage glmsg;
4476 GLTraceContext *glContext = getGLTraceContext();
4477
Siva Velusamy0469dd62011-11-30 15:05:37 -08004478 glmsg.set_function(GLMessage::glUniform1fv);
4479
4480 // copy argument location
4481 GLMessage_DataType *arg_location = glmsg.add_args();
4482 arg_location->set_isarray(false);
4483 arg_location->set_type(GLMessage::DataType::INT);
4484 arg_location->add_intvalue(location);
4485
4486 // copy argument count
4487 GLMessage_DataType *arg_count = glmsg.add_args();
4488 arg_count->set_isarray(false);
4489 arg_count->set_type(GLMessage::DataType::INT);
4490 arg_count->add_intvalue(count);
4491
4492 // copy argument v
4493 GLMessage_DataType *arg_v = glmsg.add_args();
4494 arg_v->set_isarray(false);
4495 arg_v->set_type(GLMessage::DataType::INT);
4496 arg_v->add_intvalue((int)v);
4497
4498 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004499 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4500 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004501 glContext->hooks->gl.glUniform1fv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004502 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4503 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004504
Siva Velusamy98011422012-02-27 12:02:47 -08004505 void *pointerArgs[] = {
4506 (void *) v,
4507 };
4508
Siva Velusamy05df4502012-02-17 10:55:03 -08004509 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4510 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004511 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004512 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004513}
4514
4515void GLTrace_glUniform1i(GLint location, GLint x) {
4516 GLMessage glmsg;
4517 GLTraceContext *glContext = getGLTraceContext();
4518
Siva Velusamy0469dd62011-11-30 15:05:37 -08004519 glmsg.set_function(GLMessage::glUniform1i);
4520
4521 // copy argument location
4522 GLMessage_DataType *arg_location = glmsg.add_args();
4523 arg_location->set_isarray(false);
4524 arg_location->set_type(GLMessage::DataType::INT);
4525 arg_location->add_intvalue(location);
4526
4527 // copy argument x
4528 GLMessage_DataType *arg_x = glmsg.add_args();
4529 arg_x->set_isarray(false);
4530 arg_x->set_type(GLMessage::DataType::INT);
4531 arg_x->add_intvalue(x);
4532
4533 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004534 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4535 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004536 glContext->hooks->gl.glUniform1i(location, x);
Siva Velusamy05df4502012-02-17 10:55:03 -08004537 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4538 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004539
Siva Velusamy98011422012-02-27 12:02:47 -08004540 void *pointerArgs[] = {
4541 };
4542
Siva Velusamy05df4502012-02-17 10:55:03 -08004543 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4544 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004545 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004546 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004547}
4548
4549void GLTrace_glUniform1iv(GLint location, GLsizei count, const GLint* v) {
4550 GLMessage glmsg;
4551 GLTraceContext *glContext = getGLTraceContext();
4552
Siva Velusamy0469dd62011-11-30 15:05:37 -08004553 glmsg.set_function(GLMessage::glUniform1iv);
4554
4555 // copy argument location
4556 GLMessage_DataType *arg_location = glmsg.add_args();
4557 arg_location->set_isarray(false);
4558 arg_location->set_type(GLMessage::DataType::INT);
4559 arg_location->add_intvalue(location);
4560
4561 // copy argument count
4562 GLMessage_DataType *arg_count = glmsg.add_args();
4563 arg_count->set_isarray(false);
4564 arg_count->set_type(GLMessage::DataType::INT);
4565 arg_count->add_intvalue(count);
4566
4567 // copy argument v
4568 GLMessage_DataType *arg_v = glmsg.add_args();
4569 arg_v->set_isarray(false);
4570 arg_v->set_type(GLMessage::DataType::INT);
4571 arg_v->add_intvalue((int)v);
4572
4573 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004574 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4575 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004576 glContext->hooks->gl.glUniform1iv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004577 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4578 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004579
Siva Velusamy98011422012-02-27 12:02:47 -08004580 void *pointerArgs[] = {
4581 (void *) v,
4582 };
4583
Siva Velusamy05df4502012-02-17 10:55:03 -08004584 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4585 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004586 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004587 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004588}
4589
4590void GLTrace_glUniform2f(GLint location, GLfloat x, GLfloat y) {
4591 GLMessage glmsg;
4592 GLTraceContext *glContext = getGLTraceContext();
4593
Siva Velusamy0469dd62011-11-30 15:05:37 -08004594 glmsg.set_function(GLMessage::glUniform2f);
4595
4596 // copy argument location
4597 GLMessage_DataType *arg_location = glmsg.add_args();
4598 arg_location->set_isarray(false);
4599 arg_location->set_type(GLMessage::DataType::INT);
4600 arg_location->add_intvalue(location);
4601
4602 // copy argument x
4603 GLMessage_DataType *arg_x = glmsg.add_args();
4604 arg_x->set_isarray(false);
4605 arg_x->set_type(GLMessage::DataType::FLOAT);
4606 arg_x->add_floatvalue(x);
4607
4608 // copy argument y
4609 GLMessage_DataType *arg_y = glmsg.add_args();
4610 arg_y->set_isarray(false);
4611 arg_y->set_type(GLMessage::DataType::FLOAT);
4612 arg_y->add_floatvalue(y);
4613
4614 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004615 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4616 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004617 glContext->hooks->gl.glUniform2f(location, x, y);
Siva Velusamy05df4502012-02-17 10:55:03 -08004618 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4619 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004620
Siva Velusamy98011422012-02-27 12:02:47 -08004621 void *pointerArgs[] = {
4622 };
4623
Siva Velusamy05df4502012-02-17 10:55:03 -08004624 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4625 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004626 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004627 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004628}
4629
4630void GLTrace_glUniform2fv(GLint location, GLsizei count, const GLfloat* v) {
4631 GLMessage glmsg;
4632 GLTraceContext *glContext = getGLTraceContext();
4633
Siva Velusamy0469dd62011-11-30 15:05:37 -08004634 glmsg.set_function(GLMessage::glUniform2fv);
4635
4636 // copy argument location
4637 GLMessage_DataType *arg_location = glmsg.add_args();
4638 arg_location->set_isarray(false);
4639 arg_location->set_type(GLMessage::DataType::INT);
4640 arg_location->add_intvalue(location);
4641
4642 // copy argument count
4643 GLMessage_DataType *arg_count = glmsg.add_args();
4644 arg_count->set_isarray(false);
4645 arg_count->set_type(GLMessage::DataType::INT);
4646 arg_count->add_intvalue(count);
4647
4648 // copy argument v
4649 GLMessage_DataType *arg_v = glmsg.add_args();
4650 arg_v->set_isarray(false);
4651 arg_v->set_type(GLMessage::DataType::INT);
4652 arg_v->add_intvalue((int)v);
4653
4654 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004655 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4656 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004657 glContext->hooks->gl.glUniform2fv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004658 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4659 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004660
Siva Velusamy98011422012-02-27 12:02:47 -08004661 void *pointerArgs[] = {
4662 (void *) v,
4663 };
4664
Siva Velusamy05df4502012-02-17 10:55:03 -08004665 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4666 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004667 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004668 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004669}
4670
4671void GLTrace_glUniform2i(GLint location, GLint x, GLint y) {
4672 GLMessage glmsg;
4673 GLTraceContext *glContext = getGLTraceContext();
4674
Siva Velusamy0469dd62011-11-30 15:05:37 -08004675 glmsg.set_function(GLMessage::glUniform2i);
4676
4677 // copy argument location
4678 GLMessage_DataType *arg_location = glmsg.add_args();
4679 arg_location->set_isarray(false);
4680 arg_location->set_type(GLMessage::DataType::INT);
4681 arg_location->add_intvalue(location);
4682
4683 // copy argument x
4684 GLMessage_DataType *arg_x = glmsg.add_args();
4685 arg_x->set_isarray(false);
4686 arg_x->set_type(GLMessage::DataType::INT);
4687 arg_x->add_intvalue(x);
4688
4689 // copy argument y
4690 GLMessage_DataType *arg_y = glmsg.add_args();
4691 arg_y->set_isarray(false);
4692 arg_y->set_type(GLMessage::DataType::INT);
4693 arg_y->add_intvalue(y);
4694
4695 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004696 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4697 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004698 glContext->hooks->gl.glUniform2i(location, x, y);
Siva Velusamy05df4502012-02-17 10:55:03 -08004699 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4700 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004701
Siva Velusamy98011422012-02-27 12:02:47 -08004702 void *pointerArgs[] = {
4703 };
4704
Siva Velusamy05df4502012-02-17 10:55:03 -08004705 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4706 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004707 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004708 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004709}
4710
4711void GLTrace_glUniform2iv(GLint location, GLsizei count, const GLint* v) {
4712 GLMessage glmsg;
4713 GLTraceContext *glContext = getGLTraceContext();
4714
Siva Velusamy0469dd62011-11-30 15:05:37 -08004715 glmsg.set_function(GLMessage::glUniform2iv);
4716
4717 // copy argument location
4718 GLMessage_DataType *arg_location = glmsg.add_args();
4719 arg_location->set_isarray(false);
4720 arg_location->set_type(GLMessage::DataType::INT);
4721 arg_location->add_intvalue(location);
4722
4723 // copy argument count
4724 GLMessage_DataType *arg_count = glmsg.add_args();
4725 arg_count->set_isarray(false);
4726 arg_count->set_type(GLMessage::DataType::INT);
4727 arg_count->add_intvalue(count);
4728
4729 // copy argument v
4730 GLMessage_DataType *arg_v = glmsg.add_args();
4731 arg_v->set_isarray(false);
4732 arg_v->set_type(GLMessage::DataType::INT);
4733 arg_v->add_intvalue((int)v);
4734
4735 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004736 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4737 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004738 glContext->hooks->gl.glUniform2iv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004739 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4740 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004741
Siva Velusamy98011422012-02-27 12:02:47 -08004742 void *pointerArgs[] = {
4743 (void *) v,
4744 };
4745
Siva Velusamy05df4502012-02-17 10:55:03 -08004746 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4747 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004748 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004749 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004750}
4751
4752void GLTrace_glUniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) {
4753 GLMessage glmsg;
4754 GLTraceContext *glContext = getGLTraceContext();
4755
Siva Velusamy0469dd62011-11-30 15:05:37 -08004756 glmsg.set_function(GLMessage::glUniform3f);
4757
4758 // copy argument location
4759 GLMessage_DataType *arg_location = glmsg.add_args();
4760 arg_location->set_isarray(false);
4761 arg_location->set_type(GLMessage::DataType::INT);
4762 arg_location->add_intvalue(location);
4763
4764 // copy argument x
4765 GLMessage_DataType *arg_x = glmsg.add_args();
4766 arg_x->set_isarray(false);
4767 arg_x->set_type(GLMessage::DataType::FLOAT);
4768 arg_x->add_floatvalue(x);
4769
4770 // copy argument y
4771 GLMessage_DataType *arg_y = glmsg.add_args();
4772 arg_y->set_isarray(false);
4773 arg_y->set_type(GLMessage::DataType::FLOAT);
4774 arg_y->add_floatvalue(y);
4775
4776 // copy argument z
4777 GLMessage_DataType *arg_z = glmsg.add_args();
4778 arg_z->set_isarray(false);
4779 arg_z->set_type(GLMessage::DataType::FLOAT);
4780 arg_z->add_floatvalue(z);
4781
4782 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004783 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4784 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004785 glContext->hooks->gl.glUniform3f(location, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -08004786 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4787 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004788
Siva Velusamy98011422012-02-27 12:02:47 -08004789 void *pointerArgs[] = {
4790 };
4791
Siva Velusamy05df4502012-02-17 10:55:03 -08004792 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4793 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004794 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004795 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004796}
4797
4798void GLTrace_glUniform3fv(GLint location, GLsizei count, const GLfloat* v) {
4799 GLMessage glmsg;
4800 GLTraceContext *glContext = getGLTraceContext();
4801
Siva Velusamy0469dd62011-11-30 15:05:37 -08004802 glmsg.set_function(GLMessage::glUniform3fv);
4803
4804 // copy argument location
4805 GLMessage_DataType *arg_location = glmsg.add_args();
4806 arg_location->set_isarray(false);
4807 arg_location->set_type(GLMessage::DataType::INT);
4808 arg_location->add_intvalue(location);
4809
4810 // copy argument count
4811 GLMessage_DataType *arg_count = glmsg.add_args();
4812 arg_count->set_isarray(false);
4813 arg_count->set_type(GLMessage::DataType::INT);
4814 arg_count->add_intvalue(count);
4815
4816 // copy argument v
4817 GLMessage_DataType *arg_v = glmsg.add_args();
4818 arg_v->set_isarray(false);
4819 arg_v->set_type(GLMessage::DataType::INT);
4820 arg_v->add_intvalue((int)v);
4821
4822 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004823 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4824 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004825 glContext->hooks->gl.glUniform3fv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004826 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4827 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004828
Siva Velusamy98011422012-02-27 12:02:47 -08004829 void *pointerArgs[] = {
4830 (void *) v,
4831 };
4832
Siva Velusamy05df4502012-02-17 10:55:03 -08004833 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4834 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004835 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004836 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004837}
4838
4839void GLTrace_glUniform3i(GLint location, GLint x, GLint y, GLint z) {
4840 GLMessage glmsg;
4841 GLTraceContext *glContext = getGLTraceContext();
4842
Siva Velusamy0469dd62011-11-30 15:05:37 -08004843 glmsg.set_function(GLMessage::glUniform3i);
4844
4845 // copy argument location
4846 GLMessage_DataType *arg_location = glmsg.add_args();
4847 arg_location->set_isarray(false);
4848 arg_location->set_type(GLMessage::DataType::INT);
4849 arg_location->add_intvalue(location);
4850
4851 // copy argument x
4852 GLMessage_DataType *arg_x = glmsg.add_args();
4853 arg_x->set_isarray(false);
4854 arg_x->set_type(GLMessage::DataType::INT);
4855 arg_x->add_intvalue(x);
4856
4857 // copy argument y
4858 GLMessage_DataType *arg_y = glmsg.add_args();
4859 arg_y->set_isarray(false);
4860 arg_y->set_type(GLMessage::DataType::INT);
4861 arg_y->add_intvalue(y);
4862
4863 // copy argument z
4864 GLMessage_DataType *arg_z = glmsg.add_args();
4865 arg_z->set_isarray(false);
4866 arg_z->set_type(GLMessage::DataType::INT);
4867 arg_z->add_intvalue(z);
4868
4869 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004870 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4871 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004872 glContext->hooks->gl.glUniform3i(location, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -08004873 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4874 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004875
Siva Velusamy98011422012-02-27 12:02:47 -08004876 void *pointerArgs[] = {
4877 };
4878
Siva Velusamy05df4502012-02-17 10:55:03 -08004879 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4880 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004881 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004882 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004883}
4884
4885void GLTrace_glUniform3iv(GLint location, GLsizei count, const GLint* v) {
4886 GLMessage glmsg;
4887 GLTraceContext *glContext = getGLTraceContext();
4888
Siva Velusamy0469dd62011-11-30 15:05:37 -08004889 glmsg.set_function(GLMessage::glUniform3iv);
4890
4891 // copy argument location
4892 GLMessage_DataType *arg_location = glmsg.add_args();
4893 arg_location->set_isarray(false);
4894 arg_location->set_type(GLMessage::DataType::INT);
4895 arg_location->add_intvalue(location);
4896
4897 // copy argument count
4898 GLMessage_DataType *arg_count = glmsg.add_args();
4899 arg_count->set_isarray(false);
4900 arg_count->set_type(GLMessage::DataType::INT);
4901 arg_count->add_intvalue(count);
4902
4903 // copy argument v
4904 GLMessage_DataType *arg_v = glmsg.add_args();
4905 arg_v->set_isarray(false);
4906 arg_v->set_type(GLMessage::DataType::INT);
4907 arg_v->add_intvalue((int)v);
4908
4909 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004910 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4911 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004912 glContext->hooks->gl.glUniform3iv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08004913 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4914 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004915
Siva Velusamy98011422012-02-27 12:02:47 -08004916 void *pointerArgs[] = {
4917 (void *) v,
4918 };
4919
Siva Velusamy05df4502012-02-17 10:55:03 -08004920 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4921 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004922 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004923 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004924}
4925
4926void GLTrace_glUniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
4927 GLMessage glmsg;
4928 GLTraceContext *glContext = getGLTraceContext();
4929
Siva Velusamy0469dd62011-11-30 15:05:37 -08004930 glmsg.set_function(GLMessage::glUniform4f);
4931
4932 // copy argument location
4933 GLMessage_DataType *arg_location = glmsg.add_args();
4934 arg_location->set_isarray(false);
4935 arg_location->set_type(GLMessage::DataType::INT);
4936 arg_location->add_intvalue(location);
4937
4938 // copy argument x
4939 GLMessage_DataType *arg_x = glmsg.add_args();
4940 arg_x->set_isarray(false);
4941 arg_x->set_type(GLMessage::DataType::FLOAT);
4942 arg_x->add_floatvalue(x);
4943
4944 // copy argument y
4945 GLMessage_DataType *arg_y = glmsg.add_args();
4946 arg_y->set_isarray(false);
4947 arg_y->set_type(GLMessage::DataType::FLOAT);
4948 arg_y->add_floatvalue(y);
4949
4950 // copy argument z
4951 GLMessage_DataType *arg_z = glmsg.add_args();
4952 arg_z->set_isarray(false);
4953 arg_z->set_type(GLMessage::DataType::FLOAT);
4954 arg_z->add_floatvalue(z);
4955
4956 // copy argument w
4957 GLMessage_DataType *arg_w = glmsg.add_args();
4958 arg_w->set_isarray(false);
4959 arg_w->set_type(GLMessage::DataType::FLOAT);
4960 arg_w->add_floatvalue(w);
4961
4962 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08004963 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
4964 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004965 glContext->hooks->gl.glUniform4f(location, x, y, z, w);
Siva Velusamy05df4502012-02-17 10:55:03 -08004966 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
4967 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004968
Siva Velusamy98011422012-02-27 12:02:47 -08004969 void *pointerArgs[] = {
4970 };
4971
Siva Velusamy05df4502012-02-17 10:55:03 -08004972 fixupGLMessage(glContext, wallStartTime, wallEndTime,
4973 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08004974 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08004975 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08004976}
4977
4978void GLTrace_glUniform4fv(GLint location, GLsizei count, const GLfloat* v) {
4979 GLMessage glmsg;
4980 GLTraceContext *glContext = getGLTraceContext();
4981
Siva Velusamy0469dd62011-11-30 15:05:37 -08004982 glmsg.set_function(GLMessage::glUniform4fv);
4983
4984 // copy argument location
4985 GLMessage_DataType *arg_location = glmsg.add_args();
4986 arg_location->set_isarray(false);
4987 arg_location->set_type(GLMessage::DataType::INT);
4988 arg_location->add_intvalue(location);
4989
4990 // copy argument count
4991 GLMessage_DataType *arg_count = glmsg.add_args();
4992 arg_count->set_isarray(false);
4993 arg_count->set_type(GLMessage::DataType::INT);
4994 arg_count->add_intvalue(count);
4995
4996 // copy argument v
4997 GLMessage_DataType *arg_v = glmsg.add_args();
4998 arg_v->set_isarray(false);
4999 arg_v->set_type(GLMessage::DataType::INT);
5000 arg_v->add_intvalue((int)v);
5001
5002 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005003 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5004 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005005 glContext->hooks->gl.glUniform4fv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08005006 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5007 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005008
Siva Velusamy98011422012-02-27 12:02:47 -08005009 void *pointerArgs[] = {
5010 (void *) v,
5011 };
5012
Siva Velusamy05df4502012-02-17 10:55:03 -08005013 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5014 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005015 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005016 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005017}
5018
5019void GLTrace_glUniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) {
5020 GLMessage glmsg;
5021 GLTraceContext *glContext = getGLTraceContext();
5022
Siva Velusamy0469dd62011-11-30 15:05:37 -08005023 glmsg.set_function(GLMessage::glUniform4i);
5024
5025 // copy argument location
5026 GLMessage_DataType *arg_location = glmsg.add_args();
5027 arg_location->set_isarray(false);
5028 arg_location->set_type(GLMessage::DataType::INT);
5029 arg_location->add_intvalue(location);
5030
5031 // copy argument x
5032 GLMessage_DataType *arg_x = glmsg.add_args();
5033 arg_x->set_isarray(false);
5034 arg_x->set_type(GLMessage::DataType::INT);
5035 arg_x->add_intvalue(x);
5036
5037 // copy argument y
5038 GLMessage_DataType *arg_y = glmsg.add_args();
5039 arg_y->set_isarray(false);
5040 arg_y->set_type(GLMessage::DataType::INT);
5041 arg_y->add_intvalue(y);
5042
5043 // copy argument z
5044 GLMessage_DataType *arg_z = glmsg.add_args();
5045 arg_z->set_isarray(false);
5046 arg_z->set_type(GLMessage::DataType::INT);
5047 arg_z->add_intvalue(z);
5048
5049 // copy argument w
5050 GLMessage_DataType *arg_w = glmsg.add_args();
5051 arg_w->set_isarray(false);
5052 arg_w->set_type(GLMessage::DataType::INT);
5053 arg_w->add_intvalue(w);
5054
5055 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005056 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5057 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005058 glContext->hooks->gl.glUniform4i(location, x, y, z, w);
Siva Velusamy05df4502012-02-17 10:55:03 -08005059 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5060 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005061
Siva Velusamy98011422012-02-27 12:02:47 -08005062 void *pointerArgs[] = {
5063 };
5064
Siva Velusamy05df4502012-02-17 10:55:03 -08005065 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5066 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005067 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005068 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005069}
5070
5071void GLTrace_glUniform4iv(GLint location, GLsizei count, const GLint* v) {
5072 GLMessage glmsg;
5073 GLTraceContext *glContext = getGLTraceContext();
5074
Siva Velusamy0469dd62011-11-30 15:05:37 -08005075 glmsg.set_function(GLMessage::glUniform4iv);
5076
5077 // copy argument location
5078 GLMessage_DataType *arg_location = glmsg.add_args();
5079 arg_location->set_isarray(false);
5080 arg_location->set_type(GLMessage::DataType::INT);
5081 arg_location->add_intvalue(location);
5082
5083 // copy argument count
5084 GLMessage_DataType *arg_count = glmsg.add_args();
5085 arg_count->set_isarray(false);
5086 arg_count->set_type(GLMessage::DataType::INT);
5087 arg_count->add_intvalue(count);
5088
5089 // copy argument v
5090 GLMessage_DataType *arg_v = glmsg.add_args();
5091 arg_v->set_isarray(false);
5092 arg_v->set_type(GLMessage::DataType::INT);
5093 arg_v->add_intvalue((int)v);
5094
5095 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005096 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5097 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005098 glContext->hooks->gl.glUniform4iv(location, count, v);
Siva Velusamy05df4502012-02-17 10:55:03 -08005099 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5100 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005101
Siva Velusamy98011422012-02-27 12:02:47 -08005102 void *pointerArgs[] = {
5103 (void *) v,
5104 };
5105
Siva Velusamy05df4502012-02-17 10:55:03 -08005106 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5107 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005108 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005109 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005110}
5111
5112void GLTrace_glUniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
5113 GLMessage glmsg;
5114 GLTraceContext *glContext = getGLTraceContext();
5115
Siva Velusamy0469dd62011-11-30 15:05:37 -08005116 glmsg.set_function(GLMessage::glUniformMatrix2fv);
5117
5118 // copy argument location
5119 GLMessage_DataType *arg_location = glmsg.add_args();
5120 arg_location->set_isarray(false);
5121 arg_location->set_type(GLMessage::DataType::INT);
5122 arg_location->add_intvalue(location);
5123
5124 // copy argument count
5125 GLMessage_DataType *arg_count = glmsg.add_args();
5126 arg_count->set_isarray(false);
5127 arg_count->set_type(GLMessage::DataType::INT);
5128 arg_count->add_intvalue(count);
5129
5130 // copy argument transpose
5131 GLMessage_DataType *arg_transpose = glmsg.add_args();
5132 arg_transpose->set_isarray(false);
5133 arg_transpose->set_type(GLMessage::DataType::BOOL);
5134 arg_transpose->add_boolvalue(transpose);
5135
5136 // copy argument value
5137 GLMessage_DataType *arg_value = glmsg.add_args();
5138 arg_value->set_isarray(false);
5139 arg_value->set_type(GLMessage::DataType::INT);
5140 arg_value->add_intvalue((int)value);
5141
5142 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005143 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5144 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005145 glContext->hooks->gl.glUniformMatrix2fv(location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08005146 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5147 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005148
Siva Velusamy98011422012-02-27 12:02:47 -08005149 void *pointerArgs[] = {
5150 (void *) value,
5151 };
5152
Siva Velusamy05df4502012-02-17 10:55:03 -08005153 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5154 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005155 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005156 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005157}
5158
5159void GLTrace_glUniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
5160 GLMessage glmsg;
5161 GLTraceContext *glContext = getGLTraceContext();
5162
Siva Velusamy0469dd62011-11-30 15:05:37 -08005163 glmsg.set_function(GLMessage::glUniformMatrix3fv);
5164
5165 // copy argument location
5166 GLMessage_DataType *arg_location = glmsg.add_args();
5167 arg_location->set_isarray(false);
5168 arg_location->set_type(GLMessage::DataType::INT);
5169 arg_location->add_intvalue(location);
5170
5171 // copy argument count
5172 GLMessage_DataType *arg_count = glmsg.add_args();
5173 arg_count->set_isarray(false);
5174 arg_count->set_type(GLMessage::DataType::INT);
5175 arg_count->add_intvalue(count);
5176
5177 // copy argument transpose
5178 GLMessage_DataType *arg_transpose = glmsg.add_args();
5179 arg_transpose->set_isarray(false);
5180 arg_transpose->set_type(GLMessage::DataType::BOOL);
5181 arg_transpose->add_boolvalue(transpose);
5182
5183 // copy argument value
5184 GLMessage_DataType *arg_value = glmsg.add_args();
5185 arg_value->set_isarray(false);
5186 arg_value->set_type(GLMessage::DataType::INT);
5187 arg_value->add_intvalue((int)value);
5188
5189 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005190 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5191 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005192 glContext->hooks->gl.glUniformMatrix3fv(location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08005193 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5194 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005195
Siva Velusamy98011422012-02-27 12:02:47 -08005196 void *pointerArgs[] = {
5197 (void *) value,
5198 };
5199
Siva Velusamy05df4502012-02-17 10:55:03 -08005200 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5201 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005202 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005203 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005204}
5205
5206void GLTrace_glUniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) {
5207 GLMessage glmsg;
5208 GLTraceContext *glContext = getGLTraceContext();
5209
Siva Velusamy0469dd62011-11-30 15:05:37 -08005210 glmsg.set_function(GLMessage::glUniformMatrix4fv);
5211
5212 // copy argument location
5213 GLMessage_DataType *arg_location = glmsg.add_args();
5214 arg_location->set_isarray(false);
5215 arg_location->set_type(GLMessage::DataType::INT);
5216 arg_location->add_intvalue(location);
5217
5218 // copy argument count
5219 GLMessage_DataType *arg_count = glmsg.add_args();
5220 arg_count->set_isarray(false);
5221 arg_count->set_type(GLMessage::DataType::INT);
5222 arg_count->add_intvalue(count);
5223
5224 // copy argument transpose
5225 GLMessage_DataType *arg_transpose = glmsg.add_args();
5226 arg_transpose->set_isarray(false);
5227 arg_transpose->set_type(GLMessage::DataType::BOOL);
5228 arg_transpose->add_boolvalue(transpose);
5229
5230 // copy argument value
5231 GLMessage_DataType *arg_value = glmsg.add_args();
5232 arg_value->set_isarray(false);
5233 arg_value->set_type(GLMessage::DataType::INT);
5234 arg_value->add_intvalue((int)value);
5235
5236 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005237 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5238 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005239 glContext->hooks->gl.glUniformMatrix4fv(location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08005240 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5241 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005242
Siva Velusamy98011422012-02-27 12:02:47 -08005243 void *pointerArgs[] = {
5244 (void *) value,
5245 };
5246
Siva Velusamy05df4502012-02-17 10:55:03 -08005247 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5248 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005249 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005250 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005251}
5252
5253void GLTrace_glUseProgram(GLuint program) {
5254 GLMessage glmsg;
5255 GLTraceContext *glContext = getGLTraceContext();
5256
Siva Velusamy0469dd62011-11-30 15:05:37 -08005257 glmsg.set_function(GLMessage::glUseProgram);
5258
5259 // copy argument program
5260 GLMessage_DataType *arg_program = glmsg.add_args();
5261 arg_program->set_isarray(false);
5262 arg_program->set_type(GLMessage::DataType::INT);
5263 arg_program->add_intvalue(program);
5264
5265 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005266 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5267 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005268 glContext->hooks->gl.glUseProgram(program);
Siva Velusamy05df4502012-02-17 10:55:03 -08005269 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5270 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005271
Siva Velusamy98011422012-02-27 12:02:47 -08005272 void *pointerArgs[] = {
5273 };
5274
Siva Velusamy05df4502012-02-17 10:55:03 -08005275 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5276 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005277 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005278 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005279}
5280
5281void GLTrace_glValidateProgram(GLuint program) {
5282 GLMessage glmsg;
5283 GLTraceContext *glContext = getGLTraceContext();
5284
Siva Velusamy0469dd62011-11-30 15:05:37 -08005285 glmsg.set_function(GLMessage::glValidateProgram);
5286
5287 // copy argument program
5288 GLMessage_DataType *arg_program = glmsg.add_args();
5289 arg_program->set_isarray(false);
5290 arg_program->set_type(GLMessage::DataType::INT);
5291 arg_program->add_intvalue(program);
5292
5293 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005294 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5295 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005296 glContext->hooks->gl.glValidateProgram(program);
Siva Velusamy05df4502012-02-17 10:55:03 -08005297 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5298 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005299
Siva Velusamy98011422012-02-27 12:02:47 -08005300 void *pointerArgs[] = {
5301 };
5302
Siva Velusamy05df4502012-02-17 10:55:03 -08005303 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5304 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005305 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005306 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005307}
5308
5309void GLTrace_glVertexAttrib1f(GLuint indx, GLfloat x) {
5310 GLMessage glmsg;
5311 GLTraceContext *glContext = getGLTraceContext();
5312
Siva Velusamy0469dd62011-11-30 15:05:37 -08005313 glmsg.set_function(GLMessage::glVertexAttrib1f);
5314
5315 // copy argument indx
5316 GLMessage_DataType *arg_indx = glmsg.add_args();
5317 arg_indx->set_isarray(false);
5318 arg_indx->set_type(GLMessage::DataType::INT);
5319 arg_indx->add_intvalue(indx);
5320
5321 // copy argument x
5322 GLMessage_DataType *arg_x = glmsg.add_args();
5323 arg_x->set_isarray(false);
5324 arg_x->set_type(GLMessage::DataType::FLOAT);
5325 arg_x->add_floatvalue(x);
5326
5327 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005328 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5329 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005330 glContext->hooks->gl.glVertexAttrib1f(indx, x);
Siva Velusamy05df4502012-02-17 10:55:03 -08005331 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5332 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005333
Siva Velusamy98011422012-02-27 12:02:47 -08005334 void *pointerArgs[] = {
5335 };
5336
Siva Velusamy05df4502012-02-17 10:55:03 -08005337 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5338 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005339 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005340 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005341}
5342
5343void GLTrace_glVertexAttrib1fv(GLuint indx, const GLfloat* values) {
5344 GLMessage glmsg;
5345 GLTraceContext *glContext = getGLTraceContext();
5346
Siva Velusamy0469dd62011-11-30 15:05:37 -08005347 glmsg.set_function(GLMessage::glVertexAttrib1fv);
5348
5349 // copy argument indx
5350 GLMessage_DataType *arg_indx = glmsg.add_args();
5351 arg_indx->set_isarray(false);
5352 arg_indx->set_type(GLMessage::DataType::INT);
5353 arg_indx->add_intvalue(indx);
5354
5355 // copy argument values
5356 GLMessage_DataType *arg_values = glmsg.add_args();
5357 arg_values->set_isarray(false);
5358 arg_values->set_type(GLMessage::DataType::INT);
5359 arg_values->add_intvalue((int)values);
5360
5361 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005362 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5363 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005364 glContext->hooks->gl.glVertexAttrib1fv(indx, values);
Siva Velusamy05df4502012-02-17 10:55:03 -08005365 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5366 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005367
Siva Velusamy98011422012-02-27 12:02:47 -08005368 void *pointerArgs[] = {
5369 (void *) values,
5370 };
5371
Siva Velusamy05df4502012-02-17 10:55:03 -08005372 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5373 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005374 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005375 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005376}
5377
5378void GLTrace_glVertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) {
5379 GLMessage glmsg;
5380 GLTraceContext *glContext = getGLTraceContext();
5381
Siva Velusamy0469dd62011-11-30 15:05:37 -08005382 glmsg.set_function(GLMessage::glVertexAttrib2f);
5383
5384 // copy argument indx
5385 GLMessage_DataType *arg_indx = glmsg.add_args();
5386 arg_indx->set_isarray(false);
5387 arg_indx->set_type(GLMessage::DataType::INT);
5388 arg_indx->add_intvalue(indx);
5389
5390 // copy argument x
5391 GLMessage_DataType *arg_x = glmsg.add_args();
5392 arg_x->set_isarray(false);
5393 arg_x->set_type(GLMessage::DataType::FLOAT);
5394 arg_x->add_floatvalue(x);
5395
5396 // copy argument y
5397 GLMessage_DataType *arg_y = glmsg.add_args();
5398 arg_y->set_isarray(false);
5399 arg_y->set_type(GLMessage::DataType::FLOAT);
5400 arg_y->add_floatvalue(y);
5401
5402 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005403 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5404 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005405 glContext->hooks->gl.glVertexAttrib2f(indx, x, y);
Siva Velusamy05df4502012-02-17 10:55:03 -08005406 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5407 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005408
Siva Velusamy98011422012-02-27 12:02:47 -08005409 void *pointerArgs[] = {
5410 };
5411
Siva Velusamy05df4502012-02-17 10:55:03 -08005412 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5413 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005414 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005415 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005416}
5417
5418void GLTrace_glVertexAttrib2fv(GLuint indx, const GLfloat* values) {
5419 GLMessage glmsg;
5420 GLTraceContext *glContext = getGLTraceContext();
5421
Siva Velusamy0469dd62011-11-30 15:05:37 -08005422 glmsg.set_function(GLMessage::glVertexAttrib2fv);
5423
5424 // copy argument indx
5425 GLMessage_DataType *arg_indx = glmsg.add_args();
5426 arg_indx->set_isarray(false);
5427 arg_indx->set_type(GLMessage::DataType::INT);
5428 arg_indx->add_intvalue(indx);
5429
5430 // copy argument values
5431 GLMessage_DataType *arg_values = glmsg.add_args();
5432 arg_values->set_isarray(false);
5433 arg_values->set_type(GLMessage::DataType::INT);
5434 arg_values->add_intvalue((int)values);
5435
5436 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005437 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5438 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005439 glContext->hooks->gl.glVertexAttrib2fv(indx, values);
Siva Velusamy05df4502012-02-17 10:55:03 -08005440 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5441 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005442
Siva Velusamy98011422012-02-27 12:02:47 -08005443 void *pointerArgs[] = {
5444 (void *) values,
5445 };
5446
Siva Velusamy05df4502012-02-17 10:55:03 -08005447 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5448 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005449 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005450 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005451}
5452
5453void GLTrace_glVertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) {
5454 GLMessage glmsg;
5455 GLTraceContext *glContext = getGLTraceContext();
5456
Siva Velusamy0469dd62011-11-30 15:05:37 -08005457 glmsg.set_function(GLMessage::glVertexAttrib3f);
5458
5459 // copy argument indx
5460 GLMessage_DataType *arg_indx = glmsg.add_args();
5461 arg_indx->set_isarray(false);
5462 arg_indx->set_type(GLMessage::DataType::INT);
5463 arg_indx->add_intvalue(indx);
5464
5465 // copy argument x
5466 GLMessage_DataType *arg_x = glmsg.add_args();
5467 arg_x->set_isarray(false);
5468 arg_x->set_type(GLMessage::DataType::FLOAT);
5469 arg_x->add_floatvalue(x);
5470
5471 // copy argument y
5472 GLMessage_DataType *arg_y = glmsg.add_args();
5473 arg_y->set_isarray(false);
5474 arg_y->set_type(GLMessage::DataType::FLOAT);
5475 arg_y->add_floatvalue(y);
5476
5477 // copy argument z
5478 GLMessage_DataType *arg_z = glmsg.add_args();
5479 arg_z->set_isarray(false);
5480 arg_z->set_type(GLMessage::DataType::FLOAT);
5481 arg_z->add_floatvalue(z);
5482
5483 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005484 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5485 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005486 glContext->hooks->gl.glVertexAttrib3f(indx, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -08005487 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5488 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005489
Siva Velusamy98011422012-02-27 12:02:47 -08005490 void *pointerArgs[] = {
5491 };
5492
Siva Velusamy05df4502012-02-17 10:55:03 -08005493 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5494 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005495 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005496 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005497}
5498
5499void GLTrace_glVertexAttrib3fv(GLuint indx, const GLfloat* values) {
5500 GLMessage glmsg;
5501 GLTraceContext *glContext = getGLTraceContext();
5502
Siva Velusamy0469dd62011-11-30 15:05:37 -08005503 glmsg.set_function(GLMessage::glVertexAttrib3fv);
5504
5505 // copy argument indx
5506 GLMessage_DataType *arg_indx = glmsg.add_args();
5507 arg_indx->set_isarray(false);
5508 arg_indx->set_type(GLMessage::DataType::INT);
5509 arg_indx->add_intvalue(indx);
5510
5511 // copy argument values
5512 GLMessage_DataType *arg_values = glmsg.add_args();
5513 arg_values->set_isarray(false);
5514 arg_values->set_type(GLMessage::DataType::INT);
5515 arg_values->add_intvalue((int)values);
5516
5517 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005518 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5519 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005520 glContext->hooks->gl.glVertexAttrib3fv(indx, values);
Siva Velusamy05df4502012-02-17 10:55:03 -08005521 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5522 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005523
Siva Velusamy98011422012-02-27 12:02:47 -08005524 void *pointerArgs[] = {
5525 (void *) values,
5526 };
5527
Siva Velusamy05df4502012-02-17 10:55:03 -08005528 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5529 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005530 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005531 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005532}
5533
5534void GLTrace_glVertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
5535 GLMessage glmsg;
5536 GLTraceContext *glContext = getGLTraceContext();
5537
Siva Velusamy0469dd62011-11-30 15:05:37 -08005538 glmsg.set_function(GLMessage::glVertexAttrib4f);
5539
5540 // copy argument indx
5541 GLMessage_DataType *arg_indx = glmsg.add_args();
5542 arg_indx->set_isarray(false);
5543 arg_indx->set_type(GLMessage::DataType::INT);
5544 arg_indx->add_intvalue(indx);
5545
5546 // copy argument x
5547 GLMessage_DataType *arg_x = glmsg.add_args();
5548 arg_x->set_isarray(false);
5549 arg_x->set_type(GLMessage::DataType::FLOAT);
5550 arg_x->add_floatvalue(x);
5551
5552 // copy argument y
5553 GLMessage_DataType *arg_y = glmsg.add_args();
5554 arg_y->set_isarray(false);
5555 arg_y->set_type(GLMessage::DataType::FLOAT);
5556 arg_y->add_floatvalue(y);
5557
5558 // copy argument z
5559 GLMessage_DataType *arg_z = glmsg.add_args();
5560 arg_z->set_isarray(false);
5561 arg_z->set_type(GLMessage::DataType::FLOAT);
5562 arg_z->add_floatvalue(z);
5563
5564 // copy argument w
5565 GLMessage_DataType *arg_w = glmsg.add_args();
5566 arg_w->set_isarray(false);
5567 arg_w->set_type(GLMessage::DataType::FLOAT);
5568 arg_w->add_floatvalue(w);
5569
5570 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005571 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5572 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005573 glContext->hooks->gl.glVertexAttrib4f(indx, x, y, z, w);
Siva Velusamy05df4502012-02-17 10:55:03 -08005574 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5575 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005576
Siva Velusamy98011422012-02-27 12:02:47 -08005577 void *pointerArgs[] = {
5578 };
5579
Siva Velusamy05df4502012-02-17 10:55:03 -08005580 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5581 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005582 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005583 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005584}
5585
5586void GLTrace_glVertexAttrib4fv(GLuint indx, const GLfloat* values) {
5587 GLMessage glmsg;
5588 GLTraceContext *glContext = getGLTraceContext();
5589
Siva Velusamy0469dd62011-11-30 15:05:37 -08005590 glmsg.set_function(GLMessage::glVertexAttrib4fv);
5591
5592 // copy argument indx
5593 GLMessage_DataType *arg_indx = glmsg.add_args();
5594 arg_indx->set_isarray(false);
5595 arg_indx->set_type(GLMessage::DataType::INT);
5596 arg_indx->add_intvalue(indx);
5597
5598 // copy argument values
5599 GLMessage_DataType *arg_values = glmsg.add_args();
5600 arg_values->set_isarray(false);
5601 arg_values->set_type(GLMessage::DataType::INT);
5602 arg_values->add_intvalue((int)values);
5603
5604 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005605 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5606 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005607 glContext->hooks->gl.glVertexAttrib4fv(indx, values);
Siva Velusamy05df4502012-02-17 10:55:03 -08005608 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5609 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005610
Siva Velusamy98011422012-02-27 12:02:47 -08005611 void *pointerArgs[] = {
5612 (void *) values,
5613 };
5614
Siva Velusamy05df4502012-02-17 10:55:03 -08005615 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5616 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005617 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005618 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005619}
5620
5621void GLTrace_glVertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr) {
5622 GLMessage glmsg;
5623 GLTraceContext *glContext = getGLTraceContext();
5624
Siva Velusamy0469dd62011-11-30 15:05:37 -08005625 glmsg.set_function(GLMessage::glVertexAttribPointer);
5626
5627 // copy argument indx
5628 GLMessage_DataType *arg_indx = glmsg.add_args();
5629 arg_indx->set_isarray(false);
5630 arg_indx->set_type(GLMessage::DataType::INT);
5631 arg_indx->add_intvalue(indx);
5632
5633 // copy argument size
5634 GLMessage_DataType *arg_size = glmsg.add_args();
5635 arg_size->set_isarray(false);
5636 arg_size->set_type(GLMessage::DataType::INT);
5637 arg_size->add_intvalue(size);
5638
5639 // copy argument type
5640 GLMessage_DataType *arg_type = glmsg.add_args();
5641 arg_type->set_isarray(false);
5642 arg_type->set_type(GLMessage::DataType::ENUM);
5643 arg_type->add_intvalue((int)type);
5644
5645 // copy argument normalized
5646 GLMessage_DataType *arg_normalized = glmsg.add_args();
5647 arg_normalized->set_isarray(false);
5648 arg_normalized->set_type(GLMessage::DataType::BOOL);
5649 arg_normalized->add_boolvalue(normalized);
5650
5651 // copy argument stride
5652 GLMessage_DataType *arg_stride = glmsg.add_args();
5653 arg_stride->set_isarray(false);
5654 arg_stride->set_type(GLMessage::DataType::INT);
5655 arg_stride->add_intvalue(stride);
5656
5657 // copy argument ptr
5658 GLMessage_DataType *arg_ptr = glmsg.add_args();
5659 arg_ptr->set_isarray(false);
5660 arg_ptr->set_type(GLMessage::DataType::INT);
5661 arg_ptr->add_intvalue((int)ptr);
5662
5663 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005664 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5665 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005666 glContext->hooks->gl.glVertexAttribPointer(indx, size, type, normalized, stride, ptr);
Siva Velusamy05df4502012-02-17 10:55:03 -08005667 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5668 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005669
Siva Velusamy98011422012-02-27 12:02:47 -08005670 void *pointerArgs[] = {
5671 (void *) ptr,
5672 };
5673
Siva Velusamy05df4502012-02-17 10:55:03 -08005674 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5675 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005676 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005677 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005678}
5679
5680void GLTrace_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) {
5681 GLMessage glmsg;
5682 GLTraceContext *glContext = getGLTraceContext();
5683
Siva Velusamy0469dd62011-11-30 15:05:37 -08005684 glmsg.set_function(GLMessage::glViewport);
5685
5686 // copy argument x
5687 GLMessage_DataType *arg_x = glmsg.add_args();
5688 arg_x->set_isarray(false);
5689 arg_x->set_type(GLMessage::DataType::INT);
5690 arg_x->add_intvalue(x);
5691
5692 // copy argument y
5693 GLMessage_DataType *arg_y = glmsg.add_args();
5694 arg_y->set_isarray(false);
5695 arg_y->set_type(GLMessage::DataType::INT);
5696 arg_y->add_intvalue(y);
5697
5698 // copy argument width
5699 GLMessage_DataType *arg_width = glmsg.add_args();
5700 arg_width->set_isarray(false);
5701 arg_width->set_type(GLMessage::DataType::INT);
5702 arg_width->add_intvalue(width);
5703
5704 // copy argument height
5705 GLMessage_DataType *arg_height = glmsg.add_args();
5706 arg_height->set_isarray(false);
5707 arg_height->set_type(GLMessage::DataType::INT);
5708 arg_height->add_intvalue(height);
5709
5710 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005711 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5712 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005713 glContext->hooks->gl.glViewport(x, y, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08005714 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5715 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005716
Siva Velusamy98011422012-02-27 12:02:47 -08005717 void *pointerArgs[] = {
5718 };
5719
Siva Velusamy05df4502012-02-17 10:55:03 -08005720 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5721 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005722 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005723 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005724}
5725
5726
5727// Definitions for GL2Ext APIs
5728
5729void GLTrace_glEGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image) {
5730 GLMessage glmsg;
5731 GLTraceContext *glContext = getGLTraceContext();
5732
Siva Velusamy0469dd62011-11-30 15:05:37 -08005733 glmsg.set_function(GLMessage::glEGLImageTargetTexture2DOES);
5734
5735 // copy argument target
5736 GLMessage_DataType *arg_target = glmsg.add_args();
5737 arg_target->set_isarray(false);
5738 arg_target->set_type(GLMessage::DataType::ENUM);
5739 arg_target->add_intvalue((int)target);
5740
5741 // copy argument image
5742 GLMessage_DataType *arg_image = glmsg.add_args();
5743 arg_image->set_isarray(false);
5744 arg_image->set_type(GLMessage::DataType::INT);
5745 arg_image->add_intvalue((int)image);
5746
5747 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005748 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5749 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005750 glContext->hooks->gl.glEGLImageTargetTexture2DOES(target, image);
Siva Velusamy05df4502012-02-17 10:55:03 -08005751 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5752 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005753
Siva Velusamy98011422012-02-27 12:02:47 -08005754 void *pointerArgs[] = {
5755 (void *) image,
5756 };
5757
Siva Velusamy05df4502012-02-17 10:55:03 -08005758 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5759 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005760 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005761 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005762}
5763
5764void GLTrace_glEGLImageTargetRenderbufferStorageOES(GLenum target, GLeglImageOES image) {
5765 GLMessage glmsg;
5766 GLTraceContext *glContext = getGLTraceContext();
5767
Siva Velusamy0469dd62011-11-30 15:05:37 -08005768 glmsg.set_function(GLMessage::glEGLImageTargetRenderbufferStorageOES);
5769
5770 // copy argument target
5771 GLMessage_DataType *arg_target = glmsg.add_args();
5772 arg_target->set_isarray(false);
5773 arg_target->set_type(GLMessage::DataType::ENUM);
5774 arg_target->add_intvalue((int)target);
5775
5776 // copy argument image
5777 GLMessage_DataType *arg_image = glmsg.add_args();
5778 arg_image->set_isarray(false);
5779 arg_image->set_type(GLMessage::DataType::INT);
5780 arg_image->add_intvalue((int)image);
5781
5782 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005783 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5784 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005785 glContext->hooks->gl.glEGLImageTargetRenderbufferStorageOES(target, image);
Siva Velusamy05df4502012-02-17 10:55:03 -08005786 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5787 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005788
Siva Velusamy98011422012-02-27 12:02:47 -08005789 void *pointerArgs[] = {
5790 (void *) image,
5791 };
5792
Siva Velusamy05df4502012-02-17 10:55:03 -08005793 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5794 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005795 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005796 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005797}
5798
5799void GLTrace_glGetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary) {
5800 GLMessage glmsg;
5801 GLTraceContext *glContext = getGLTraceContext();
5802
Siva Velusamy0469dd62011-11-30 15:05:37 -08005803 glmsg.set_function(GLMessage::glGetProgramBinaryOES);
5804
5805 // copy argument program
5806 GLMessage_DataType *arg_program = glmsg.add_args();
5807 arg_program->set_isarray(false);
5808 arg_program->set_type(GLMessage::DataType::INT);
5809 arg_program->add_intvalue(program);
5810
5811 // copy argument bufSize
5812 GLMessage_DataType *arg_bufSize = glmsg.add_args();
5813 arg_bufSize->set_isarray(false);
5814 arg_bufSize->set_type(GLMessage::DataType::INT);
5815 arg_bufSize->add_intvalue(bufSize);
5816
5817 // copy argument length
5818 GLMessage_DataType *arg_length = glmsg.add_args();
5819 arg_length->set_isarray(false);
5820 arg_length->set_type(GLMessage::DataType::INT);
5821 arg_length->add_intvalue((int)length);
5822
5823 // copy argument binaryFormat
5824 GLMessage_DataType *arg_binaryFormat = glmsg.add_args();
5825 arg_binaryFormat->set_isarray(false);
5826 arg_binaryFormat->set_type(GLMessage::DataType::INT);
5827 arg_binaryFormat->add_intvalue((int)binaryFormat);
5828
5829 // copy argument binary
5830 GLMessage_DataType *arg_binary = glmsg.add_args();
5831 arg_binary->set_isarray(false);
5832 arg_binary->set_type(GLMessage::DataType::INT);
5833 arg_binary->add_intvalue((int)binary);
5834
5835 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005836 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5837 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005838 glContext->hooks->gl.glGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
Siva Velusamy05df4502012-02-17 10:55:03 -08005839 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5840 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005841
Siva Velusamy98011422012-02-27 12:02:47 -08005842 void *pointerArgs[] = {
5843 (void *) length,
5844 (void *) binaryFormat,
5845 (void *) binary,
5846 };
5847
Siva Velusamy05df4502012-02-17 10:55:03 -08005848 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5849 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005850 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005851 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005852}
5853
5854void GLTrace_glProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length) {
5855 GLMessage glmsg;
5856 GLTraceContext *glContext = getGLTraceContext();
5857
Siva Velusamy0469dd62011-11-30 15:05:37 -08005858 glmsg.set_function(GLMessage::glProgramBinaryOES);
5859
5860 // copy argument program
5861 GLMessage_DataType *arg_program = glmsg.add_args();
5862 arg_program->set_isarray(false);
5863 arg_program->set_type(GLMessage::DataType::INT);
5864 arg_program->add_intvalue(program);
5865
5866 // copy argument binaryFormat
5867 GLMessage_DataType *arg_binaryFormat = glmsg.add_args();
5868 arg_binaryFormat->set_isarray(false);
5869 arg_binaryFormat->set_type(GLMessage::DataType::ENUM);
5870 arg_binaryFormat->add_intvalue((int)binaryFormat);
5871
5872 // copy argument binary
5873 GLMessage_DataType *arg_binary = glmsg.add_args();
5874 arg_binary->set_isarray(false);
5875 arg_binary->set_type(GLMessage::DataType::INT);
5876 arg_binary->add_intvalue((int)binary);
5877
5878 // copy argument length
5879 GLMessage_DataType *arg_length = glmsg.add_args();
5880 arg_length->set_isarray(false);
5881 arg_length->set_type(GLMessage::DataType::INT);
5882 arg_length->add_intvalue(length);
5883
5884 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005885 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5886 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005887 glContext->hooks->gl.glProgramBinaryOES(program, binaryFormat, binary, length);
Siva Velusamy05df4502012-02-17 10:55:03 -08005888 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5889 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005890
Siva Velusamy98011422012-02-27 12:02:47 -08005891 void *pointerArgs[] = {
5892 (void *) binary,
5893 };
5894
Siva Velusamy05df4502012-02-17 10:55:03 -08005895 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5896 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005897 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005898 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005899}
5900
5901void* GLTrace_glMapBufferOES(GLenum target, GLenum access) {
5902 GLMessage glmsg;
5903 GLTraceContext *glContext = getGLTraceContext();
5904
Siva Velusamy0469dd62011-11-30 15:05:37 -08005905 glmsg.set_function(GLMessage::glMapBufferOES);
5906
5907 // copy argument target
5908 GLMessage_DataType *arg_target = glmsg.add_args();
5909 arg_target->set_isarray(false);
5910 arg_target->set_type(GLMessage::DataType::ENUM);
5911 arg_target->add_intvalue((int)target);
5912
5913 // copy argument access
5914 GLMessage_DataType *arg_access = glmsg.add_args();
5915 arg_access->set_isarray(false);
5916 arg_access->set_type(GLMessage::DataType::ENUM);
5917 arg_access->add_intvalue((int)access);
5918
5919 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005920 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5921 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005922 void* retValue = glContext->hooks->gl.glMapBufferOES(target, access);
Siva Velusamy05df4502012-02-17 10:55:03 -08005923 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5924 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005925
5926 // set return value
5927 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
5928 rt->set_isarray(false);
5929 rt->set_type(GLMessage::DataType::INT);
5930 rt->add_intvalue((int)retValue);
5931
Siva Velusamy98011422012-02-27 12:02:47 -08005932 void *pointerArgs[] = {
5933 (void *) retValue,
5934 };
5935
Siva Velusamy05df4502012-02-17 10:55:03 -08005936 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5937 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005938 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005939 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005940
5941 return retValue;
5942}
5943
5944GLboolean GLTrace_glUnmapBufferOES(GLenum target) {
5945 GLMessage glmsg;
5946 GLTraceContext *glContext = getGLTraceContext();
5947
Siva Velusamy0469dd62011-11-30 15:05:37 -08005948 glmsg.set_function(GLMessage::glUnmapBufferOES);
5949
5950 // copy argument target
5951 GLMessage_DataType *arg_target = glmsg.add_args();
5952 arg_target->set_isarray(false);
5953 arg_target->set_type(GLMessage::DataType::ENUM);
5954 arg_target->add_intvalue((int)target);
5955
5956 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08005957 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
5958 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005959 GLboolean retValue = glContext->hooks->gl.glUnmapBufferOES(target);
Siva Velusamy05df4502012-02-17 10:55:03 -08005960 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
5961 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005962
5963 // set return value
5964 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
5965 rt->set_isarray(false);
5966 rt->set_type(GLMessage::DataType::BOOL);
5967 rt->add_boolvalue(retValue);
5968
Siva Velusamy98011422012-02-27 12:02:47 -08005969 void *pointerArgs[] = {
5970 };
5971
Siva Velusamy05df4502012-02-17 10:55:03 -08005972 fixupGLMessage(glContext, wallStartTime, wallEndTime,
5973 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08005974 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08005975 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08005976
5977 return retValue;
5978}
5979
5980void GLTrace_glGetBufferPointervOES(GLenum target, GLenum pname, GLvoid** params) {
5981 GLMessage glmsg;
5982 GLTraceContext *glContext = getGLTraceContext();
5983
Siva Velusamy0469dd62011-11-30 15:05:37 -08005984 glmsg.set_function(GLMessage::glGetBufferPointervOES);
5985
5986 // copy argument target
5987 GLMessage_DataType *arg_target = glmsg.add_args();
5988 arg_target->set_isarray(false);
5989 arg_target->set_type(GLMessage::DataType::ENUM);
5990 arg_target->add_intvalue((int)target);
5991
5992 // copy argument pname
5993 GLMessage_DataType *arg_pname = glmsg.add_args();
5994 arg_pname->set_isarray(false);
5995 arg_pname->set_type(GLMessage::DataType::ENUM);
5996 arg_pname->add_intvalue((int)pname);
5997
5998 // copy argument params
5999 GLMessage_DataType *arg_params = glmsg.add_args();
6000 arg_params->set_isarray(false);
6001 arg_params->set_type(GLMessage::DataType::INT);
6002 arg_params->add_intvalue((int)params);
6003
6004 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006005 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6006 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006007 glContext->hooks->gl.glGetBufferPointervOES(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08006008 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6009 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006010
Siva Velusamy98011422012-02-27 12:02:47 -08006011 void *pointerArgs[] = {
6012 (void *) params,
6013 };
6014
Siva Velusamy05df4502012-02-17 10:55:03 -08006015 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6016 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006017 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006018 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006019}
6020
6021void GLTrace_glTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels) {
6022 GLMessage glmsg;
6023 GLTraceContext *glContext = getGLTraceContext();
6024
Siva Velusamy0469dd62011-11-30 15:05:37 -08006025 glmsg.set_function(GLMessage::glTexImage3DOES);
6026
6027 // copy argument target
6028 GLMessage_DataType *arg_target = glmsg.add_args();
6029 arg_target->set_isarray(false);
6030 arg_target->set_type(GLMessage::DataType::ENUM);
6031 arg_target->add_intvalue((int)target);
6032
6033 // copy argument level
6034 GLMessage_DataType *arg_level = glmsg.add_args();
6035 arg_level->set_isarray(false);
6036 arg_level->set_type(GLMessage::DataType::INT);
6037 arg_level->add_intvalue(level);
6038
6039 // copy argument internalformat
6040 GLMessage_DataType *arg_internalformat = glmsg.add_args();
6041 arg_internalformat->set_isarray(false);
6042 arg_internalformat->set_type(GLMessage::DataType::ENUM);
6043 arg_internalformat->add_intvalue((int)internalformat);
6044
6045 // copy argument width
6046 GLMessage_DataType *arg_width = glmsg.add_args();
6047 arg_width->set_isarray(false);
6048 arg_width->set_type(GLMessage::DataType::INT);
6049 arg_width->add_intvalue(width);
6050
6051 // copy argument height
6052 GLMessage_DataType *arg_height = glmsg.add_args();
6053 arg_height->set_isarray(false);
6054 arg_height->set_type(GLMessage::DataType::INT);
6055 arg_height->add_intvalue(height);
6056
6057 // copy argument depth
6058 GLMessage_DataType *arg_depth = glmsg.add_args();
6059 arg_depth->set_isarray(false);
6060 arg_depth->set_type(GLMessage::DataType::INT);
6061 arg_depth->add_intvalue(depth);
6062
6063 // copy argument border
6064 GLMessage_DataType *arg_border = glmsg.add_args();
6065 arg_border->set_isarray(false);
6066 arg_border->set_type(GLMessage::DataType::INT);
6067 arg_border->add_intvalue(border);
6068
6069 // copy argument format
6070 GLMessage_DataType *arg_format = glmsg.add_args();
6071 arg_format->set_isarray(false);
6072 arg_format->set_type(GLMessage::DataType::ENUM);
6073 arg_format->add_intvalue((int)format);
6074
6075 // copy argument type
6076 GLMessage_DataType *arg_type = glmsg.add_args();
6077 arg_type->set_isarray(false);
6078 arg_type->set_type(GLMessage::DataType::ENUM);
6079 arg_type->add_intvalue((int)type);
6080
6081 // copy argument pixels
6082 GLMessage_DataType *arg_pixels = glmsg.add_args();
6083 arg_pixels->set_isarray(false);
6084 arg_pixels->set_type(GLMessage::DataType::INT);
6085 arg_pixels->add_intvalue((int)pixels);
6086
6087 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006088 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6089 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006090 glContext->hooks->gl.glTexImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
Siva Velusamy05df4502012-02-17 10:55:03 -08006091 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6092 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006093
Siva Velusamy98011422012-02-27 12:02:47 -08006094 void *pointerArgs[] = {
6095 (void *) pixels,
6096 };
6097
Siva Velusamy05df4502012-02-17 10:55:03 -08006098 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6099 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006100 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006101 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006102}
6103
6104void GLTrace_glTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels) {
6105 GLMessage glmsg;
6106 GLTraceContext *glContext = getGLTraceContext();
6107
Siva Velusamy0469dd62011-11-30 15:05:37 -08006108 glmsg.set_function(GLMessage::glTexSubImage3DOES);
6109
6110 // copy argument target
6111 GLMessage_DataType *arg_target = glmsg.add_args();
6112 arg_target->set_isarray(false);
6113 arg_target->set_type(GLMessage::DataType::ENUM);
6114 arg_target->add_intvalue((int)target);
6115
6116 // copy argument level
6117 GLMessage_DataType *arg_level = glmsg.add_args();
6118 arg_level->set_isarray(false);
6119 arg_level->set_type(GLMessage::DataType::INT);
6120 arg_level->add_intvalue(level);
6121
6122 // copy argument xoffset
6123 GLMessage_DataType *arg_xoffset = glmsg.add_args();
6124 arg_xoffset->set_isarray(false);
6125 arg_xoffset->set_type(GLMessage::DataType::INT);
6126 arg_xoffset->add_intvalue(xoffset);
6127
6128 // copy argument yoffset
6129 GLMessage_DataType *arg_yoffset = glmsg.add_args();
6130 arg_yoffset->set_isarray(false);
6131 arg_yoffset->set_type(GLMessage::DataType::INT);
6132 arg_yoffset->add_intvalue(yoffset);
6133
6134 // copy argument zoffset
6135 GLMessage_DataType *arg_zoffset = glmsg.add_args();
6136 arg_zoffset->set_isarray(false);
6137 arg_zoffset->set_type(GLMessage::DataType::INT);
6138 arg_zoffset->add_intvalue(zoffset);
6139
6140 // copy argument width
6141 GLMessage_DataType *arg_width = glmsg.add_args();
6142 arg_width->set_isarray(false);
6143 arg_width->set_type(GLMessage::DataType::INT);
6144 arg_width->add_intvalue(width);
6145
6146 // copy argument height
6147 GLMessage_DataType *arg_height = glmsg.add_args();
6148 arg_height->set_isarray(false);
6149 arg_height->set_type(GLMessage::DataType::INT);
6150 arg_height->add_intvalue(height);
6151
6152 // copy argument depth
6153 GLMessage_DataType *arg_depth = glmsg.add_args();
6154 arg_depth->set_isarray(false);
6155 arg_depth->set_type(GLMessage::DataType::INT);
6156 arg_depth->add_intvalue(depth);
6157
6158 // copy argument format
6159 GLMessage_DataType *arg_format = glmsg.add_args();
6160 arg_format->set_isarray(false);
6161 arg_format->set_type(GLMessage::DataType::ENUM);
6162 arg_format->add_intvalue((int)format);
6163
6164 // copy argument type
6165 GLMessage_DataType *arg_type = glmsg.add_args();
6166 arg_type->set_isarray(false);
6167 arg_type->set_type(GLMessage::DataType::ENUM);
6168 arg_type->add_intvalue((int)type);
6169
6170 // copy argument pixels
6171 GLMessage_DataType *arg_pixels = glmsg.add_args();
6172 arg_pixels->set_isarray(false);
6173 arg_pixels->set_type(GLMessage::DataType::INT);
6174 arg_pixels->add_intvalue((int)pixels);
6175
6176 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006177 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6178 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006179 glContext->hooks->gl.glTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
Siva Velusamy05df4502012-02-17 10:55:03 -08006180 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6181 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006182
Siva Velusamy98011422012-02-27 12:02:47 -08006183 void *pointerArgs[] = {
6184 (void *) pixels,
6185 };
6186
Siva Velusamy05df4502012-02-17 10:55:03 -08006187 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6188 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006189 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006190 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006191}
6192
6193void GLTrace_glCopyTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height) {
6194 GLMessage glmsg;
6195 GLTraceContext *glContext = getGLTraceContext();
6196
Siva Velusamy0469dd62011-11-30 15:05:37 -08006197 glmsg.set_function(GLMessage::glCopyTexSubImage3DOES);
6198
6199 // copy argument target
6200 GLMessage_DataType *arg_target = glmsg.add_args();
6201 arg_target->set_isarray(false);
6202 arg_target->set_type(GLMessage::DataType::ENUM);
6203 arg_target->add_intvalue((int)target);
6204
6205 // copy argument level
6206 GLMessage_DataType *arg_level = glmsg.add_args();
6207 arg_level->set_isarray(false);
6208 arg_level->set_type(GLMessage::DataType::INT);
6209 arg_level->add_intvalue(level);
6210
6211 // copy argument xoffset
6212 GLMessage_DataType *arg_xoffset = glmsg.add_args();
6213 arg_xoffset->set_isarray(false);
6214 arg_xoffset->set_type(GLMessage::DataType::INT);
6215 arg_xoffset->add_intvalue(xoffset);
6216
6217 // copy argument yoffset
6218 GLMessage_DataType *arg_yoffset = glmsg.add_args();
6219 arg_yoffset->set_isarray(false);
6220 arg_yoffset->set_type(GLMessage::DataType::INT);
6221 arg_yoffset->add_intvalue(yoffset);
6222
6223 // copy argument zoffset
6224 GLMessage_DataType *arg_zoffset = glmsg.add_args();
6225 arg_zoffset->set_isarray(false);
6226 arg_zoffset->set_type(GLMessage::DataType::INT);
6227 arg_zoffset->add_intvalue(zoffset);
6228
6229 // copy argument x
6230 GLMessage_DataType *arg_x = glmsg.add_args();
6231 arg_x->set_isarray(false);
6232 arg_x->set_type(GLMessage::DataType::INT);
6233 arg_x->add_intvalue(x);
6234
6235 // copy argument y
6236 GLMessage_DataType *arg_y = glmsg.add_args();
6237 arg_y->set_isarray(false);
6238 arg_y->set_type(GLMessage::DataType::INT);
6239 arg_y->add_intvalue(y);
6240
6241 // copy argument width
6242 GLMessage_DataType *arg_width = glmsg.add_args();
6243 arg_width->set_isarray(false);
6244 arg_width->set_type(GLMessage::DataType::INT);
6245 arg_width->add_intvalue(width);
6246
6247 // copy argument height
6248 GLMessage_DataType *arg_height = glmsg.add_args();
6249 arg_height->set_isarray(false);
6250 arg_height->set_type(GLMessage::DataType::INT);
6251 arg_height->add_intvalue(height);
6252
6253 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006254 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6255 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006256 glContext->hooks->gl.glCopyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08006257 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6258 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006259
Siva Velusamy98011422012-02-27 12:02:47 -08006260 void *pointerArgs[] = {
6261 };
6262
Siva Velusamy05df4502012-02-17 10:55:03 -08006263 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6264 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006265 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006266 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006267}
6268
6269void GLTrace_glCompressedTexImage3DOES(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data) {
6270 GLMessage glmsg;
6271 GLTraceContext *glContext = getGLTraceContext();
6272
Siva Velusamy0469dd62011-11-30 15:05:37 -08006273 glmsg.set_function(GLMessage::glCompressedTexImage3DOES);
6274
6275 // copy argument target
6276 GLMessage_DataType *arg_target = glmsg.add_args();
6277 arg_target->set_isarray(false);
6278 arg_target->set_type(GLMessage::DataType::ENUM);
6279 arg_target->add_intvalue((int)target);
6280
6281 // copy argument level
6282 GLMessage_DataType *arg_level = glmsg.add_args();
6283 arg_level->set_isarray(false);
6284 arg_level->set_type(GLMessage::DataType::INT);
6285 arg_level->add_intvalue(level);
6286
6287 // copy argument internalformat
6288 GLMessage_DataType *arg_internalformat = glmsg.add_args();
6289 arg_internalformat->set_isarray(false);
6290 arg_internalformat->set_type(GLMessage::DataType::ENUM);
6291 arg_internalformat->add_intvalue((int)internalformat);
6292
6293 // copy argument width
6294 GLMessage_DataType *arg_width = glmsg.add_args();
6295 arg_width->set_isarray(false);
6296 arg_width->set_type(GLMessage::DataType::INT);
6297 arg_width->add_intvalue(width);
6298
6299 // copy argument height
6300 GLMessage_DataType *arg_height = glmsg.add_args();
6301 arg_height->set_isarray(false);
6302 arg_height->set_type(GLMessage::DataType::INT);
6303 arg_height->add_intvalue(height);
6304
6305 // copy argument depth
6306 GLMessage_DataType *arg_depth = glmsg.add_args();
6307 arg_depth->set_isarray(false);
6308 arg_depth->set_type(GLMessage::DataType::INT);
6309 arg_depth->add_intvalue(depth);
6310
6311 // copy argument border
6312 GLMessage_DataType *arg_border = glmsg.add_args();
6313 arg_border->set_isarray(false);
6314 arg_border->set_type(GLMessage::DataType::INT);
6315 arg_border->add_intvalue(border);
6316
6317 // copy argument imageSize
6318 GLMessage_DataType *arg_imageSize = glmsg.add_args();
6319 arg_imageSize->set_isarray(false);
6320 arg_imageSize->set_type(GLMessage::DataType::INT);
6321 arg_imageSize->add_intvalue(imageSize);
6322
6323 // copy argument data
6324 GLMessage_DataType *arg_data = glmsg.add_args();
6325 arg_data->set_isarray(false);
6326 arg_data->set_type(GLMessage::DataType::INT);
6327 arg_data->add_intvalue((int)data);
6328
6329 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006330 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6331 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006332 glContext->hooks->gl.glCompressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
Siva Velusamy05df4502012-02-17 10:55:03 -08006333 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6334 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006335
Siva Velusamy98011422012-02-27 12:02:47 -08006336 void *pointerArgs[] = {
6337 (void *) data,
6338 };
6339
Siva Velusamy05df4502012-02-17 10:55:03 -08006340 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6341 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006342 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006343 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006344}
6345
6346void GLTrace_glCompressedTexSubImage3DOES(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data) {
6347 GLMessage glmsg;
6348 GLTraceContext *glContext = getGLTraceContext();
6349
Siva Velusamy0469dd62011-11-30 15:05:37 -08006350 glmsg.set_function(GLMessage::glCompressedTexSubImage3DOES);
6351
6352 // copy argument target
6353 GLMessage_DataType *arg_target = glmsg.add_args();
6354 arg_target->set_isarray(false);
6355 arg_target->set_type(GLMessage::DataType::ENUM);
6356 arg_target->add_intvalue((int)target);
6357
6358 // copy argument level
6359 GLMessage_DataType *arg_level = glmsg.add_args();
6360 arg_level->set_isarray(false);
6361 arg_level->set_type(GLMessage::DataType::INT);
6362 arg_level->add_intvalue(level);
6363
6364 // copy argument xoffset
6365 GLMessage_DataType *arg_xoffset = glmsg.add_args();
6366 arg_xoffset->set_isarray(false);
6367 arg_xoffset->set_type(GLMessage::DataType::INT);
6368 arg_xoffset->add_intvalue(xoffset);
6369
6370 // copy argument yoffset
6371 GLMessage_DataType *arg_yoffset = glmsg.add_args();
6372 arg_yoffset->set_isarray(false);
6373 arg_yoffset->set_type(GLMessage::DataType::INT);
6374 arg_yoffset->add_intvalue(yoffset);
6375
6376 // copy argument zoffset
6377 GLMessage_DataType *arg_zoffset = glmsg.add_args();
6378 arg_zoffset->set_isarray(false);
6379 arg_zoffset->set_type(GLMessage::DataType::INT);
6380 arg_zoffset->add_intvalue(zoffset);
6381
6382 // copy argument width
6383 GLMessage_DataType *arg_width = glmsg.add_args();
6384 arg_width->set_isarray(false);
6385 arg_width->set_type(GLMessage::DataType::INT);
6386 arg_width->add_intvalue(width);
6387
6388 // copy argument height
6389 GLMessage_DataType *arg_height = glmsg.add_args();
6390 arg_height->set_isarray(false);
6391 arg_height->set_type(GLMessage::DataType::INT);
6392 arg_height->add_intvalue(height);
6393
6394 // copy argument depth
6395 GLMessage_DataType *arg_depth = glmsg.add_args();
6396 arg_depth->set_isarray(false);
6397 arg_depth->set_type(GLMessage::DataType::INT);
6398 arg_depth->add_intvalue(depth);
6399
6400 // copy argument format
6401 GLMessage_DataType *arg_format = glmsg.add_args();
6402 arg_format->set_isarray(false);
6403 arg_format->set_type(GLMessage::DataType::ENUM);
6404 arg_format->add_intvalue((int)format);
6405
6406 // copy argument imageSize
6407 GLMessage_DataType *arg_imageSize = glmsg.add_args();
6408 arg_imageSize->set_isarray(false);
6409 arg_imageSize->set_type(GLMessage::DataType::INT);
6410 arg_imageSize->add_intvalue(imageSize);
6411
6412 // copy argument data
6413 GLMessage_DataType *arg_data = glmsg.add_args();
6414 arg_data->set_isarray(false);
6415 arg_data->set_type(GLMessage::DataType::INT);
6416 arg_data->add_intvalue((int)data);
6417
6418 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006419 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6420 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006421 glContext->hooks->gl.glCompressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
Siva Velusamy05df4502012-02-17 10:55:03 -08006422 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6423 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006424
Siva Velusamy98011422012-02-27 12:02:47 -08006425 void *pointerArgs[] = {
6426 (void *) data,
6427 };
6428
Siva Velusamy05df4502012-02-17 10:55:03 -08006429 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6430 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006431 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006432 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006433}
6434
6435void GLTrace_glFramebufferTexture3DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) {
6436 GLMessage glmsg;
6437 GLTraceContext *glContext = getGLTraceContext();
6438
Siva Velusamy0469dd62011-11-30 15:05:37 -08006439 glmsg.set_function(GLMessage::glFramebufferTexture3DOES);
6440
6441 // copy argument target
6442 GLMessage_DataType *arg_target = glmsg.add_args();
6443 arg_target->set_isarray(false);
6444 arg_target->set_type(GLMessage::DataType::ENUM);
6445 arg_target->add_intvalue((int)target);
6446
6447 // copy argument attachment
6448 GLMessage_DataType *arg_attachment = glmsg.add_args();
6449 arg_attachment->set_isarray(false);
6450 arg_attachment->set_type(GLMessage::DataType::ENUM);
6451 arg_attachment->add_intvalue((int)attachment);
6452
6453 // copy argument textarget
6454 GLMessage_DataType *arg_textarget = glmsg.add_args();
6455 arg_textarget->set_isarray(false);
6456 arg_textarget->set_type(GLMessage::DataType::ENUM);
6457 arg_textarget->add_intvalue((int)textarget);
6458
6459 // copy argument texture
6460 GLMessage_DataType *arg_texture = glmsg.add_args();
6461 arg_texture->set_isarray(false);
6462 arg_texture->set_type(GLMessage::DataType::INT);
6463 arg_texture->add_intvalue(texture);
6464
6465 // copy argument level
6466 GLMessage_DataType *arg_level = glmsg.add_args();
6467 arg_level->set_isarray(false);
6468 arg_level->set_type(GLMessage::DataType::INT);
6469 arg_level->add_intvalue(level);
6470
6471 // copy argument zoffset
6472 GLMessage_DataType *arg_zoffset = glmsg.add_args();
6473 arg_zoffset->set_isarray(false);
6474 arg_zoffset->set_type(GLMessage::DataType::INT);
6475 arg_zoffset->add_intvalue(zoffset);
6476
6477 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006478 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6479 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006480 glContext->hooks->gl.glFramebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
Siva Velusamy05df4502012-02-17 10:55:03 -08006481 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6482 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006483
Siva Velusamy98011422012-02-27 12:02:47 -08006484 void *pointerArgs[] = {
6485 };
6486
Siva Velusamy05df4502012-02-17 10:55:03 -08006487 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6488 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006489 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006490 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006491}
6492
6493void GLTrace_glBindVertexArrayOES(GLuint array) {
6494 GLMessage glmsg;
6495 GLTraceContext *glContext = getGLTraceContext();
6496
Siva Velusamy0469dd62011-11-30 15:05:37 -08006497 glmsg.set_function(GLMessage::glBindVertexArrayOES);
6498
6499 // copy argument array
6500 GLMessage_DataType *arg_array = glmsg.add_args();
6501 arg_array->set_isarray(false);
6502 arg_array->set_type(GLMessage::DataType::INT);
6503 arg_array->add_intvalue(array);
6504
6505 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006506 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6507 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006508 glContext->hooks->gl.glBindVertexArrayOES(array);
Siva Velusamy05df4502012-02-17 10:55:03 -08006509 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6510 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006511
Siva Velusamy98011422012-02-27 12:02:47 -08006512 void *pointerArgs[] = {
6513 };
6514
Siva Velusamy05df4502012-02-17 10:55:03 -08006515 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6516 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006517 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006518 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006519}
6520
6521void GLTrace_glDeleteVertexArraysOES(GLsizei n, const GLuint *arrays) {
6522 GLMessage glmsg;
6523 GLTraceContext *glContext = getGLTraceContext();
6524
Siva Velusamy0469dd62011-11-30 15:05:37 -08006525 glmsg.set_function(GLMessage::glDeleteVertexArraysOES);
6526
6527 // copy argument n
6528 GLMessage_DataType *arg_n = glmsg.add_args();
6529 arg_n->set_isarray(false);
6530 arg_n->set_type(GLMessage::DataType::INT);
6531 arg_n->add_intvalue(n);
6532
6533 // copy argument arrays
6534 GLMessage_DataType *arg_arrays = glmsg.add_args();
6535 arg_arrays->set_isarray(false);
6536 arg_arrays->set_type(GLMessage::DataType::INT);
6537 arg_arrays->add_intvalue((int)arrays);
6538
6539 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006540 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6541 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006542 glContext->hooks->gl.glDeleteVertexArraysOES(n, arrays);
Siva Velusamy05df4502012-02-17 10:55:03 -08006543 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6544 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006545
Siva Velusamy98011422012-02-27 12:02:47 -08006546 void *pointerArgs[] = {
6547 (void *) arrays,
6548 };
6549
Siva Velusamy05df4502012-02-17 10:55:03 -08006550 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6551 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006552 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006553 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006554}
6555
6556void GLTrace_glGenVertexArraysOES(GLsizei n, GLuint *arrays) {
6557 GLMessage glmsg;
6558 GLTraceContext *glContext = getGLTraceContext();
6559
Siva Velusamy0469dd62011-11-30 15:05:37 -08006560 glmsg.set_function(GLMessage::glGenVertexArraysOES);
6561
6562 // copy argument n
6563 GLMessage_DataType *arg_n = glmsg.add_args();
6564 arg_n->set_isarray(false);
6565 arg_n->set_type(GLMessage::DataType::INT);
6566 arg_n->add_intvalue(n);
6567
6568 // copy argument arrays
6569 GLMessage_DataType *arg_arrays = glmsg.add_args();
6570 arg_arrays->set_isarray(false);
6571 arg_arrays->set_type(GLMessage::DataType::INT);
6572 arg_arrays->add_intvalue((int)arrays);
6573
6574 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006575 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6576 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006577 glContext->hooks->gl.glGenVertexArraysOES(n, arrays);
Siva Velusamy05df4502012-02-17 10:55:03 -08006578 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6579 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006580
Siva Velusamy98011422012-02-27 12:02:47 -08006581 void *pointerArgs[] = {
6582 (void *) arrays,
6583 };
6584
Siva Velusamy05df4502012-02-17 10:55:03 -08006585 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6586 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006587 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006588 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006589}
6590
6591GLboolean GLTrace_glIsVertexArrayOES(GLuint array) {
6592 GLMessage glmsg;
6593 GLTraceContext *glContext = getGLTraceContext();
6594
Siva Velusamy0469dd62011-11-30 15:05:37 -08006595 glmsg.set_function(GLMessage::glIsVertexArrayOES);
6596
6597 // copy argument array
6598 GLMessage_DataType *arg_array = glmsg.add_args();
6599 arg_array->set_isarray(false);
6600 arg_array->set_type(GLMessage::DataType::INT);
6601 arg_array->add_intvalue(array);
6602
6603 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006604 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6605 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006606 GLboolean retValue = glContext->hooks->gl.glIsVertexArrayOES(array);
Siva Velusamy05df4502012-02-17 10:55:03 -08006607 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6608 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006609
6610 // set return value
6611 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
6612 rt->set_isarray(false);
6613 rt->set_type(GLMessage::DataType::BOOL);
6614 rt->add_boolvalue(retValue);
6615
Siva Velusamy98011422012-02-27 12:02:47 -08006616 void *pointerArgs[] = {
6617 };
6618
Siva Velusamy05df4502012-02-17 10:55:03 -08006619 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6620 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006621 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006622 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006623
6624 return retValue;
6625}
6626
6627void GLTrace_glGetPerfMonitorGroupsAMD(GLint *numGroups, GLsizei groupsSize, GLuint *groups) {
6628 GLMessage glmsg;
6629 GLTraceContext *glContext = getGLTraceContext();
6630
Siva Velusamy0469dd62011-11-30 15:05:37 -08006631 glmsg.set_function(GLMessage::glGetPerfMonitorGroupsAMD);
6632
6633 // copy argument numGroups
6634 GLMessage_DataType *arg_numGroups = glmsg.add_args();
6635 arg_numGroups->set_isarray(false);
6636 arg_numGroups->set_type(GLMessage::DataType::INT);
6637 arg_numGroups->add_intvalue((int)numGroups);
6638
6639 // copy argument groupsSize
6640 GLMessage_DataType *arg_groupsSize = glmsg.add_args();
6641 arg_groupsSize->set_isarray(false);
6642 arg_groupsSize->set_type(GLMessage::DataType::INT);
6643 arg_groupsSize->add_intvalue(groupsSize);
6644
6645 // copy argument groups
6646 GLMessage_DataType *arg_groups = glmsg.add_args();
6647 arg_groups->set_isarray(false);
6648 arg_groups->set_type(GLMessage::DataType::INT);
6649 arg_groups->add_intvalue((int)groups);
6650
6651 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006652 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6653 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006654 glContext->hooks->gl.glGetPerfMonitorGroupsAMD(numGroups, groupsSize, groups);
Siva Velusamy05df4502012-02-17 10:55:03 -08006655 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6656 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006657
Siva Velusamy98011422012-02-27 12:02:47 -08006658 void *pointerArgs[] = {
6659 (void *) numGroups,
6660 (void *) groups,
6661 };
6662
Siva Velusamy05df4502012-02-17 10:55:03 -08006663 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6664 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006665 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006666 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006667}
6668
6669void GLTrace_glGetPerfMonitorCountersAMD(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters) {
6670 GLMessage glmsg;
6671 GLTraceContext *glContext = getGLTraceContext();
6672
Siva Velusamy0469dd62011-11-30 15:05:37 -08006673 glmsg.set_function(GLMessage::glGetPerfMonitorCountersAMD);
6674
6675 // copy argument group
6676 GLMessage_DataType *arg_group = glmsg.add_args();
6677 arg_group->set_isarray(false);
6678 arg_group->set_type(GLMessage::DataType::INT);
6679 arg_group->add_intvalue(group);
6680
6681 // copy argument numCounters
6682 GLMessage_DataType *arg_numCounters = glmsg.add_args();
6683 arg_numCounters->set_isarray(false);
6684 arg_numCounters->set_type(GLMessage::DataType::INT);
6685 arg_numCounters->add_intvalue((int)numCounters);
6686
6687 // copy argument maxActiveCounters
6688 GLMessage_DataType *arg_maxActiveCounters = glmsg.add_args();
6689 arg_maxActiveCounters->set_isarray(false);
6690 arg_maxActiveCounters->set_type(GLMessage::DataType::INT);
6691 arg_maxActiveCounters->add_intvalue((int)maxActiveCounters);
6692
6693 // copy argument counterSize
6694 GLMessage_DataType *arg_counterSize = glmsg.add_args();
6695 arg_counterSize->set_isarray(false);
6696 arg_counterSize->set_type(GLMessage::DataType::INT);
6697 arg_counterSize->add_intvalue(counterSize);
6698
6699 // copy argument counters
6700 GLMessage_DataType *arg_counters = glmsg.add_args();
6701 arg_counters->set_isarray(false);
6702 arg_counters->set_type(GLMessage::DataType::INT);
6703 arg_counters->add_intvalue((int)counters);
6704
6705 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006706 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6707 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006708 glContext->hooks->gl.glGetPerfMonitorCountersAMD(group, numCounters, maxActiveCounters, counterSize, counters);
Siva Velusamy05df4502012-02-17 10:55:03 -08006709 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6710 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006711
Siva Velusamy98011422012-02-27 12:02:47 -08006712 void *pointerArgs[] = {
6713 (void *) numCounters,
6714 (void *) maxActiveCounters,
6715 (void *) counters,
6716 };
6717
Siva Velusamy05df4502012-02-17 10:55:03 -08006718 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6719 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006720 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006721 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006722}
6723
6724void GLTrace_glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString) {
6725 GLMessage glmsg;
6726 GLTraceContext *glContext = getGLTraceContext();
6727
Siva Velusamy0469dd62011-11-30 15:05:37 -08006728 glmsg.set_function(GLMessage::glGetPerfMonitorGroupStringAMD);
6729
6730 // copy argument group
6731 GLMessage_DataType *arg_group = glmsg.add_args();
6732 arg_group->set_isarray(false);
6733 arg_group->set_type(GLMessage::DataType::INT);
6734 arg_group->add_intvalue(group);
6735
6736 // copy argument bufSize
6737 GLMessage_DataType *arg_bufSize = glmsg.add_args();
6738 arg_bufSize->set_isarray(false);
6739 arg_bufSize->set_type(GLMessage::DataType::INT);
6740 arg_bufSize->add_intvalue(bufSize);
6741
6742 // copy argument length
6743 GLMessage_DataType *arg_length = glmsg.add_args();
6744 arg_length->set_isarray(false);
6745 arg_length->set_type(GLMessage::DataType::INT);
6746 arg_length->add_intvalue((int)length);
6747
6748 // copy argument groupString
6749 GLMessage_DataType *arg_groupString = glmsg.add_args();
6750 arg_groupString->set_isarray(false);
6751 arg_groupString->set_type(GLMessage::DataType::INT);
6752 arg_groupString->add_intvalue((int)groupString);
6753
6754 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006755 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6756 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006757 glContext->hooks->gl.glGetPerfMonitorGroupStringAMD(group, bufSize, length, groupString);
Siva Velusamy05df4502012-02-17 10:55:03 -08006758 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6759 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006760
Siva Velusamy98011422012-02-27 12:02:47 -08006761 void *pointerArgs[] = {
6762 (void *) length,
6763 (void *) groupString,
6764 };
6765
Siva Velusamy05df4502012-02-17 10:55:03 -08006766 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6767 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006768 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006769 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006770}
6771
6772void GLTrace_glGetPerfMonitorCounterStringAMD(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString) {
6773 GLMessage glmsg;
6774 GLTraceContext *glContext = getGLTraceContext();
6775
Siva Velusamy0469dd62011-11-30 15:05:37 -08006776 glmsg.set_function(GLMessage::glGetPerfMonitorCounterStringAMD);
6777
6778 // copy argument group
6779 GLMessage_DataType *arg_group = glmsg.add_args();
6780 arg_group->set_isarray(false);
6781 arg_group->set_type(GLMessage::DataType::INT);
6782 arg_group->add_intvalue(group);
6783
6784 // copy argument counter
6785 GLMessage_DataType *arg_counter = glmsg.add_args();
6786 arg_counter->set_isarray(false);
6787 arg_counter->set_type(GLMessage::DataType::INT);
6788 arg_counter->add_intvalue(counter);
6789
6790 // copy argument bufSize
6791 GLMessage_DataType *arg_bufSize = glmsg.add_args();
6792 arg_bufSize->set_isarray(false);
6793 arg_bufSize->set_type(GLMessage::DataType::INT);
6794 arg_bufSize->add_intvalue(bufSize);
6795
6796 // copy argument length
6797 GLMessage_DataType *arg_length = glmsg.add_args();
6798 arg_length->set_isarray(false);
6799 arg_length->set_type(GLMessage::DataType::INT);
6800 arg_length->add_intvalue((int)length);
6801
6802 // copy argument counterString
6803 GLMessage_DataType *arg_counterString = glmsg.add_args();
6804 arg_counterString->set_isarray(false);
6805 arg_counterString->set_type(GLMessage::DataType::INT);
6806 arg_counterString->add_intvalue((int)counterString);
6807
6808 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006809 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6810 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006811 glContext->hooks->gl.glGetPerfMonitorCounterStringAMD(group, counter, bufSize, length, counterString);
Siva Velusamy05df4502012-02-17 10:55:03 -08006812 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6813 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006814
Siva Velusamy98011422012-02-27 12:02:47 -08006815 void *pointerArgs[] = {
6816 (void *) length,
6817 (void *) counterString,
6818 };
6819
Siva Velusamy05df4502012-02-17 10:55:03 -08006820 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6821 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006822 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006823 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006824}
6825
6826void GLTrace_glGetPerfMonitorCounterInfoAMD(GLuint group, GLuint counter, GLenum pname, GLvoid *data) {
6827 GLMessage glmsg;
6828 GLTraceContext *glContext = getGLTraceContext();
6829
Siva Velusamy0469dd62011-11-30 15:05:37 -08006830 glmsg.set_function(GLMessage::glGetPerfMonitorCounterInfoAMD);
6831
6832 // copy argument group
6833 GLMessage_DataType *arg_group = glmsg.add_args();
6834 arg_group->set_isarray(false);
6835 arg_group->set_type(GLMessage::DataType::INT);
6836 arg_group->add_intvalue(group);
6837
6838 // copy argument counter
6839 GLMessage_DataType *arg_counter = glmsg.add_args();
6840 arg_counter->set_isarray(false);
6841 arg_counter->set_type(GLMessage::DataType::INT);
6842 arg_counter->add_intvalue(counter);
6843
6844 // copy argument pname
6845 GLMessage_DataType *arg_pname = glmsg.add_args();
6846 arg_pname->set_isarray(false);
6847 arg_pname->set_type(GLMessage::DataType::ENUM);
6848 arg_pname->add_intvalue((int)pname);
6849
6850 // copy argument data
6851 GLMessage_DataType *arg_data = glmsg.add_args();
6852 arg_data->set_isarray(false);
6853 arg_data->set_type(GLMessage::DataType::INT);
6854 arg_data->add_intvalue((int)data);
6855
6856 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006857 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6858 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006859 glContext->hooks->gl.glGetPerfMonitorCounterInfoAMD(group, counter, pname, data);
Siva Velusamy05df4502012-02-17 10:55:03 -08006860 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6861 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006862
Siva Velusamy98011422012-02-27 12:02:47 -08006863 void *pointerArgs[] = {
6864 (void *) data,
6865 };
6866
Siva Velusamy05df4502012-02-17 10:55:03 -08006867 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6868 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006869 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006870 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006871}
6872
6873void GLTrace_glGenPerfMonitorsAMD(GLsizei n, GLuint *monitors) {
6874 GLMessage glmsg;
6875 GLTraceContext *glContext = getGLTraceContext();
6876
Siva Velusamy0469dd62011-11-30 15:05:37 -08006877 glmsg.set_function(GLMessage::glGenPerfMonitorsAMD);
6878
6879 // copy argument n
6880 GLMessage_DataType *arg_n = glmsg.add_args();
6881 arg_n->set_isarray(false);
6882 arg_n->set_type(GLMessage::DataType::INT);
6883 arg_n->add_intvalue(n);
6884
6885 // copy argument monitors
6886 GLMessage_DataType *arg_monitors = glmsg.add_args();
6887 arg_monitors->set_isarray(false);
6888 arg_monitors->set_type(GLMessage::DataType::INT);
6889 arg_monitors->add_intvalue((int)monitors);
6890
6891 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006892 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6893 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006894 glContext->hooks->gl.glGenPerfMonitorsAMD(n, monitors);
Siva Velusamy05df4502012-02-17 10:55:03 -08006895 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6896 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006897
Siva Velusamy98011422012-02-27 12:02:47 -08006898 void *pointerArgs[] = {
6899 (void *) monitors,
6900 };
6901
Siva Velusamy05df4502012-02-17 10:55:03 -08006902 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6903 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006904 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006905 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006906}
6907
6908void GLTrace_glDeletePerfMonitorsAMD(GLsizei n, GLuint *monitors) {
6909 GLMessage glmsg;
6910 GLTraceContext *glContext = getGLTraceContext();
6911
Siva Velusamy0469dd62011-11-30 15:05:37 -08006912 glmsg.set_function(GLMessage::glDeletePerfMonitorsAMD);
6913
6914 // copy argument n
6915 GLMessage_DataType *arg_n = glmsg.add_args();
6916 arg_n->set_isarray(false);
6917 arg_n->set_type(GLMessage::DataType::INT);
6918 arg_n->add_intvalue(n);
6919
6920 // copy argument monitors
6921 GLMessage_DataType *arg_monitors = glmsg.add_args();
6922 arg_monitors->set_isarray(false);
6923 arg_monitors->set_type(GLMessage::DataType::INT);
6924 arg_monitors->add_intvalue((int)monitors);
6925
6926 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006927 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6928 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006929 glContext->hooks->gl.glDeletePerfMonitorsAMD(n, monitors);
Siva Velusamy05df4502012-02-17 10:55:03 -08006930 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6931 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006932
Siva Velusamy98011422012-02-27 12:02:47 -08006933 void *pointerArgs[] = {
6934 (void *) monitors,
6935 };
6936
Siva Velusamy05df4502012-02-17 10:55:03 -08006937 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6938 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006939 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006940 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006941}
6942
6943void GLTrace_glSelectPerfMonitorCountersAMD(GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList) {
6944 GLMessage glmsg;
6945 GLTraceContext *glContext = getGLTraceContext();
6946
Siva Velusamy0469dd62011-11-30 15:05:37 -08006947 glmsg.set_function(GLMessage::glSelectPerfMonitorCountersAMD);
6948
6949 // copy argument monitor
6950 GLMessage_DataType *arg_monitor = glmsg.add_args();
6951 arg_monitor->set_isarray(false);
6952 arg_monitor->set_type(GLMessage::DataType::INT);
6953 arg_monitor->add_intvalue(monitor);
6954
6955 // copy argument enable
6956 GLMessage_DataType *arg_enable = glmsg.add_args();
6957 arg_enable->set_isarray(false);
6958 arg_enable->set_type(GLMessage::DataType::BOOL);
6959 arg_enable->add_boolvalue(enable);
6960
6961 // copy argument group
6962 GLMessage_DataType *arg_group = glmsg.add_args();
6963 arg_group->set_isarray(false);
6964 arg_group->set_type(GLMessage::DataType::INT);
6965 arg_group->add_intvalue(group);
6966
6967 // copy argument numCounters
6968 GLMessage_DataType *arg_numCounters = glmsg.add_args();
6969 arg_numCounters->set_isarray(false);
6970 arg_numCounters->set_type(GLMessage::DataType::INT);
6971 arg_numCounters->add_intvalue(numCounters);
6972
6973 // copy argument countersList
6974 GLMessage_DataType *arg_countersList = glmsg.add_args();
6975 arg_countersList->set_isarray(false);
6976 arg_countersList->set_type(GLMessage::DataType::INT);
6977 arg_countersList->add_intvalue((int)countersList);
6978
6979 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08006980 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
6981 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006982 glContext->hooks->gl.glSelectPerfMonitorCountersAMD(monitor, enable, group, numCounters, countersList);
Siva Velusamy05df4502012-02-17 10:55:03 -08006983 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
6984 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006985
Siva Velusamy98011422012-02-27 12:02:47 -08006986 void *pointerArgs[] = {
6987 (void *) countersList,
6988 };
6989
Siva Velusamy05df4502012-02-17 10:55:03 -08006990 fixupGLMessage(glContext, wallStartTime, wallEndTime,
6991 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08006992 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08006993 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08006994}
6995
6996void GLTrace_glBeginPerfMonitorAMD(GLuint monitor) {
6997 GLMessage glmsg;
6998 GLTraceContext *glContext = getGLTraceContext();
6999
Siva Velusamy0469dd62011-11-30 15:05:37 -08007000 glmsg.set_function(GLMessage::glBeginPerfMonitorAMD);
7001
7002 // copy argument monitor
7003 GLMessage_DataType *arg_monitor = glmsg.add_args();
7004 arg_monitor->set_isarray(false);
7005 arg_monitor->set_type(GLMessage::DataType::INT);
7006 arg_monitor->add_intvalue(monitor);
7007
7008 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007009 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7010 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007011 glContext->hooks->gl.glBeginPerfMonitorAMD(monitor);
Siva Velusamy05df4502012-02-17 10:55:03 -08007012 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7013 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007014
Siva Velusamy98011422012-02-27 12:02:47 -08007015 void *pointerArgs[] = {
7016 };
7017
Siva Velusamy05df4502012-02-17 10:55:03 -08007018 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7019 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007020 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007021 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007022}
7023
7024void GLTrace_glEndPerfMonitorAMD(GLuint monitor) {
7025 GLMessage glmsg;
7026 GLTraceContext *glContext = getGLTraceContext();
7027
Siva Velusamy0469dd62011-11-30 15:05:37 -08007028 glmsg.set_function(GLMessage::glEndPerfMonitorAMD);
7029
7030 // copy argument monitor
7031 GLMessage_DataType *arg_monitor = glmsg.add_args();
7032 arg_monitor->set_isarray(false);
7033 arg_monitor->set_type(GLMessage::DataType::INT);
7034 arg_monitor->add_intvalue(monitor);
7035
7036 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007037 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7038 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007039 glContext->hooks->gl.glEndPerfMonitorAMD(monitor);
Siva Velusamy05df4502012-02-17 10:55:03 -08007040 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7041 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007042
Siva Velusamy98011422012-02-27 12:02:47 -08007043 void *pointerArgs[] = {
7044 };
7045
Siva Velusamy05df4502012-02-17 10:55:03 -08007046 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7047 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007048 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007049 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007050}
7051
7052void GLTrace_glGetPerfMonitorCounterDataAMD(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten) {
7053 GLMessage glmsg;
7054 GLTraceContext *glContext = getGLTraceContext();
7055
Siva Velusamy0469dd62011-11-30 15:05:37 -08007056 glmsg.set_function(GLMessage::glGetPerfMonitorCounterDataAMD);
7057
7058 // copy argument monitor
7059 GLMessage_DataType *arg_monitor = glmsg.add_args();
7060 arg_monitor->set_isarray(false);
7061 arg_monitor->set_type(GLMessage::DataType::INT);
7062 arg_monitor->add_intvalue(monitor);
7063
7064 // copy argument pname
7065 GLMessage_DataType *arg_pname = glmsg.add_args();
7066 arg_pname->set_isarray(false);
7067 arg_pname->set_type(GLMessage::DataType::ENUM);
7068 arg_pname->add_intvalue((int)pname);
7069
7070 // copy argument dataSize
7071 GLMessage_DataType *arg_dataSize = glmsg.add_args();
7072 arg_dataSize->set_isarray(false);
7073 arg_dataSize->set_type(GLMessage::DataType::INT);
7074 arg_dataSize->add_intvalue(dataSize);
7075
7076 // copy argument data
7077 GLMessage_DataType *arg_data = glmsg.add_args();
7078 arg_data->set_isarray(false);
7079 arg_data->set_type(GLMessage::DataType::INT);
7080 arg_data->add_intvalue((int)data);
7081
7082 // copy argument bytesWritten
7083 GLMessage_DataType *arg_bytesWritten = glmsg.add_args();
7084 arg_bytesWritten->set_isarray(false);
7085 arg_bytesWritten->set_type(GLMessage::DataType::INT);
7086 arg_bytesWritten->add_intvalue((int)bytesWritten);
7087
7088 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007089 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7090 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007091 glContext->hooks->gl.glGetPerfMonitorCounterDataAMD(monitor, pname, dataSize, data, bytesWritten);
Siva Velusamy05df4502012-02-17 10:55:03 -08007092 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7093 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007094
Siva Velusamy98011422012-02-27 12:02:47 -08007095 void *pointerArgs[] = {
7096 (void *) data,
7097 (void *) bytesWritten,
7098 };
7099
Siva Velusamy05df4502012-02-17 10:55:03 -08007100 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7101 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007102 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007103 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007104}
7105
Mathias Agopian31272602012-01-28 14:20:59 -08007106void GLTrace_glBlitFramebufferANGLE(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) {
7107 GLMessage glmsg;
7108 GLTraceContext *glContext = getGLTraceContext();
7109
7110 glmsg.set_function(GLMessage::glBlitFramebufferANGLE);
7111
7112 // copy argument srcX0
7113 GLMessage_DataType *arg_srcX0 = glmsg.add_args();
7114 arg_srcX0->set_isarray(false);
7115 arg_srcX0->set_type(GLMessage::DataType::INT);
7116 arg_srcX0->add_intvalue(srcX0);
7117
7118 // copy argument srcY0
7119 GLMessage_DataType *arg_srcY0 = glmsg.add_args();
7120 arg_srcY0->set_isarray(false);
7121 arg_srcY0->set_type(GLMessage::DataType::INT);
7122 arg_srcY0->add_intvalue(srcY0);
7123
7124 // copy argument srcX1
7125 GLMessage_DataType *arg_srcX1 = glmsg.add_args();
7126 arg_srcX1->set_isarray(false);
7127 arg_srcX1->set_type(GLMessage::DataType::INT);
7128 arg_srcX1->add_intvalue(srcX1);
7129
7130 // copy argument srcY1
7131 GLMessage_DataType *arg_srcY1 = glmsg.add_args();
7132 arg_srcY1->set_isarray(false);
7133 arg_srcY1->set_type(GLMessage::DataType::INT);
7134 arg_srcY1->add_intvalue(srcY1);
7135
7136 // copy argument dstX0
7137 GLMessage_DataType *arg_dstX0 = glmsg.add_args();
7138 arg_dstX0->set_isarray(false);
7139 arg_dstX0->set_type(GLMessage::DataType::INT);
7140 arg_dstX0->add_intvalue(dstX0);
7141
7142 // copy argument dstY0
7143 GLMessage_DataType *arg_dstY0 = glmsg.add_args();
7144 arg_dstY0->set_isarray(false);
7145 arg_dstY0->set_type(GLMessage::DataType::INT);
7146 arg_dstY0->add_intvalue(dstY0);
7147
7148 // copy argument dstX1
7149 GLMessage_DataType *arg_dstX1 = glmsg.add_args();
7150 arg_dstX1->set_isarray(false);
7151 arg_dstX1->set_type(GLMessage::DataType::INT);
7152 arg_dstX1->add_intvalue(dstX1);
7153
7154 // copy argument dstY1
7155 GLMessage_DataType *arg_dstY1 = glmsg.add_args();
7156 arg_dstY1->set_isarray(false);
7157 arg_dstY1->set_type(GLMessage::DataType::INT);
7158 arg_dstY1->add_intvalue(dstY1);
7159
7160 // copy argument mask
7161 GLMessage_DataType *arg_mask = glmsg.add_args();
7162 arg_mask->set_isarray(false);
7163 arg_mask->set_type(GLMessage::DataType::INT);
7164 arg_mask->add_intvalue(mask);
7165
7166 // copy argument filter
7167 GLMessage_DataType *arg_filter = glmsg.add_args();
7168 arg_filter->set_isarray(false);
7169 arg_filter->set_type(GLMessage::DataType::ENUM);
7170 arg_filter->add_intvalue((int)filter);
7171
7172 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007173 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7174 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007175 glContext->hooks->gl.glBlitFramebufferANGLE(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
Siva Velusamy05df4502012-02-17 10:55:03 -08007176 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7177 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007178
Siva Velusamy98011422012-02-27 12:02:47 -08007179 void *pointerArgs[] = {
7180 };
7181
Siva Velusamy05df4502012-02-17 10:55:03 -08007182 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7183 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007184 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007185 glContext->traceGLMessage(&glmsg);
7186}
7187
7188void GLTrace_glRenderbufferStorageMultisampleANGLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
7189 GLMessage glmsg;
7190 GLTraceContext *glContext = getGLTraceContext();
7191
7192 glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleANGLE);
7193
7194 // copy argument target
7195 GLMessage_DataType *arg_target = glmsg.add_args();
7196 arg_target->set_isarray(false);
7197 arg_target->set_type(GLMessage::DataType::ENUM);
7198 arg_target->add_intvalue((int)target);
7199
7200 // copy argument samples
7201 GLMessage_DataType *arg_samples = glmsg.add_args();
7202 arg_samples->set_isarray(false);
7203 arg_samples->set_type(GLMessage::DataType::INT);
7204 arg_samples->add_intvalue(samples);
7205
7206 // copy argument internalformat
7207 GLMessage_DataType *arg_internalformat = glmsg.add_args();
7208 arg_internalformat->set_isarray(false);
7209 arg_internalformat->set_type(GLMessage::DataType::ENUM);
7210 arg_internalformat->add_intvalue((int)internalformat);
7211
7212 // copy argument width
7213 GLMessage_DataType *arg_width = glmsg.add_args();
7214 arg_width->set_isarray(false);
7215 arg_width->set_type(GLMessage::DataType::INT);
7216 arg_width->add_intvalue(width);
7217
7218 // copy argument height
7219 GLMessage_DataType *arg_height = glmsg.add_args();
7220 arg_height->set_isarray(false);
7221 arg_height->set_type(GLMessage::DataType::INT);
7222 arg_height->add_intvalue(height);
7223
7224 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007225 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7226 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007227 glContext->hooks->gl.glRenderbufferStorageMultisampleANGLE(target, samples, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08007228 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7229 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007230
Siva Velusamy98011422012-02-27 12:02:47 -08007231 void *pointerArgs[] = {
7232 };
7233
Siva Velusamy05df4502012-02-17 10:55:03 -08007234 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7235 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007236 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007237 glContext->traceGLMessage(&glmsg);
7238}
7239
7240void GLTrace_glRenderbufferStorageMultisampleAPPLE(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
7241 GLMessage glmsg;
7242 GLTraceContext *glContext = getGLTraceContext();
7243
7244 glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleAPPLE);
7245
7246 // copy argument target
7247 GLMessage_DataType *arg_target = glmsg.add_args();
7248 arg_target->set_isarray(false);
7249 arg_target->set_type(GLMessage::DataType::ENUM);
7250 arg_target->add_intvalue((int)target);
7251
7252 // copy argument samples
7253 GLMessage_DataType *arg_samples = glmsg.add_args();
7254 arg_samples->set_isarray(false);
7255 arg_samples->set_type(GLMessage::DataType::INT);
7256 arg_samples->add_intvalue(samples);
7257
7258 // copy argument internalformat
7259 GLMessage_DataType *arg_internalformat = glmsg.add_args();
7260 arg_internalformat->set_isarray(false);
7261 arg_internalformat->set_type(GLMessage::DataType::ENUM);
7262 arg_internalformat->add_intvalue((int)internalformat);
7263
7264 // copy argument width
7265 GLMessage_DataType *arg_width = glmsg.add_args();
7266 arg_width->set_isarray(false);
7267 arg_width->set_type(GLMessage::DataType::INT);
7268 arg_width->add_intvalue(width);
7269
7270 // copy argument height
7271 GLMessage_DataType *arg_height = glmsg.add_args();
7272 arg_height->set_isarray(false);
7273 arg_height->set_type(GLMessage::DataType::INT);
7274 arg_height->add_intvalue(height);
7275
7276 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007277 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7278 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007279 glContext->hooks->gl.glRenderbufferStorageMultisampleAPPLE(target, samples, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08007280 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7281 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007282
Siva Velusamy98011422012-02-27 12:02:47 -08007283 void *pointerArgs[] = {
7284 };
7285
Siva Velusamy05df4502012-02-17 10:55:03 -08007286 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7287 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007288 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007289 glContext->traceGLMessage(&glmsg);
7290}
7291
7292void GLTrace_glResolveMultisampleFramebufferAPPLE(void) {
7293 GLMessage glmsg;
7294 GLTraceContext *glContext = getGLTraceContext();
7295
7296 glmsg.set_function(GLMessage::glResolveMultisampleFramebufferAPPLE);
7297
7298 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007299 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7300 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007301 glContext->hooks->gl.glResolveMultisampleFramebufferAPPLE();
Siva Velusamy05df4502012-02-17 10:55:03 -08007302 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7303 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007304
Siva Velusamy98011422012-02-27 12:02:47 -08007305 void *pointerArgs[] = {
7306 };
7307
Siva Velusamy05df4502012-02-17 10:55:03 -08007308 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7309 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007310 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007311 glContext->traceGLMessage(&glmsg);
7312}
7313
7314void GLTrace_glLabelObjectEXT(GLenum type, GLuint object, GLsizei length, const GLchar *label) {
7315 GLMessage glmsg;
7316 GLTraceContext *glContext = getGLTraceContext();
7317
7318 glmsg.set_function(GLMessage::glLabelObjectEXT);
7319
7320 // copy argument type
7321 GLMessage_DataType *arg_type = glmsg.add_args();
7322 arg_type->set_isarray(false);
7323 arg_type->set_type(GLMessage::DataType::ENUM);
7324 arg_type->add_intvalue((int)type);
7325
7326 // copy argument object
7327 GLMessage_DataType *arg_object = glmsg.add_args();
7328 arg_object->set_isarray(false);
7329 arg_object->set_type(GLMessage::DataType::INT);
7330 arg_object->add_intvalue(object);
7331
7332 // copy argument length
7333 GLMessage_DataType *arg_length = glmsg.add_args();
7334 arg_length->set_isarray(false);
7335 arg_length->set_type(GLMessage::DataType::INT);
7336 arg_length->add_intvalue(length);
7337
7338 // copy argument label
7339 GLMessage_DataType *arg_label = glmsg.add_args();
7340 arg_label->set_isarray(false);
7341 arg_label->set_type(GLMessage::DataType::INT);
7342 arg_label->add_intvalue((int)label);
7343
7344 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007345 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7346 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007347 glContext->hooks->gl.glLabelObjectEXT(type, object, length, label);
Siva Velusamy05df4502012-02-17 10:55:03 -08007348 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7349 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007350
Siva Velusamy98011422012-02-27 12:02:47 -08007351 void *pointerArgs[] = {
7352 (void *) label,
7353 };
7354
Siva Velusamy05df4502012-02-17 10:55:03 -08007355 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7356 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007357 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007358 glContext->traceGLMessage(&glmsg);
7359}
7360
7361void GLTrace_glGetObjectLabelEXT(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label) {
7362 GLMessage glmsg;
7363 GLTraceContext *glContext = getGLTraceContext();
7364
7365 glmsg.set_function(GLMessage::glGetObjectLabelEXT);
7366
7367 // copy argument type
7368 GLMessage_DataType *arg_type = glmsg.add_args();
7369 arg_type->set_isarray(false);
7370 arg_type->set_type(GLMessage::DataType::ENUM);
7371 arg_type->add_intvalue((int)type);
7372
7373 // copy argument object
7374 GLMessage_DataType *arg_object = glmsg.add_args();
7375 arg_object->set_isarray(false);
7376 arg_object->set_type(GLMessage::DataType::INT);
7377 arg_object->add_intvalue(object);
7378
7379 // copy argument bufSize
7380 GLMessage_DataType *arg_bufSize = glmsg.add_args();
7381 arg_bufSize->set_isarray(false);
7382 arg_bufSize->set_type(GLMessage::DataType::INT);
7383 arg_bufSize->add_intvalue(bufSize);
7384
7385 // copy argument length
7386 GLMessage_DataType *arg_length = glmsg.add_args();
7387 arg_length->set_isarray(false);
7388 arg_length->set_type(GLMessage::DataType::INT);
7389 arg_length->add_intvalue((int)length);
7390
7391 // copy argument label
7392 GLMessage_DataType *arg_label = glmsg.add_args();
7393 arg_label->set_isarray(false);
7394 arg_label->set_type(GLMessage::DataType::INT);
7395 arg_label->add_intvalue((int)label);
7396
7397 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007398 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7399 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007400 glContext->hooks->gl.glGetObjectLabelEXT(type, object, bufSize, length, label);
Siva Velusamy05df4502012-02-17 10:55:03 -08007401 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7402 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007403
Siva Velusamy98011422012-02-27 12:02:47 -08007404 void *pointerArgs[] = {
7405 (void *) length,
7406 (void *) label,
7407 };
7408
Siva Velusamy05df4502012-02-17 10:55:03 -08007409 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7410 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007411 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007412 glContext->traceGLMessage(&glmsg);
7413}
7414
7415void GLTrace_glInsertEventMarkerEXT(GLsizei length, const GLchar *marker) {
7416 GLMessage glmsg;
7417 GLTraceContext *glContext = getGLTraceContext();
7418
7419 glmsg.set_function(GLMessage::glInsertEventMarkerEXT);
7420
7421 // copy argument length
7422 GLMessage_DataType *arg_length = glmsg.add_args();
7423 arg_length->set_isarray(false);
7424 arg_length->set_type(GLMessage::DataType::INT);
7425 arg_length->add_intvalue(length);
7426
7427 // copy argument marker
7428 GLMessage_DataType *arg_marker = glmsg.add_args();
7429 arg_marker->set_isarray(false);
7430 arg_marker->set_type(GLMessage::DataType::INT);
7431 arg_marker->add_intvalue((int)marker);
7432
7433 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007434 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7435 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007436 glContext->hooks->gl.glInsertEventMarkerEXT(length, marker);
Siva Velusamy05df4502012-02-17 10:55:03 -08007437 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7438 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007439
Siva Velusamy98011422012-02-27 12:02:47 -08007440 void *pointerArgs[] = {
7441 (void *) marker,
7442 };
7443
Siva Velusamy05df4502012-02-17 10:55:03 -08007444 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7445 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007446 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007447 glContext->traceGLMessage(&glmsg);
7448}
7449
7450void GLTrace_glPushGroupMarkerEXT(GLsizei length, const GLchar *marker) {
7451 GLMessage glmsg;
7452 GLTraceContext *glContext = getGLTraceContext();
7453
7454 glmsg.set_function(GLMessage::glPushGroupMarkerEXT);
7455
7456 // copy argument length
7457 GLMessage_DataType *arg_length = glmsg.add_args();
7458 arg_length->set_isarray(false);
7459 arg_length->set_type(GLMessage::DataType::INT);
7460 arg_length->add_intvalue(length);
7461
7462 // copy argument marker
7463 GLMessage_DataType *arg_marker = glmsg.add_args();
7464 arg_marker->set_isarray(false);
7465 arg_marker->set_type(GLMessage::DataType::INT);
7466 arg_marker->add_intvalue((int)marker);
7467
7468 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007469 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7470 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007471 glContext->hooks->gl.glPushGroupMarkerEXT(length, marker);
Siva Velusamy05df4502012-02-17 10:55:03 -08007472 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7473 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007474
Siva Velusamy98011422012-02-27 12:02:47 -08007475 void *pointerArgs[] = {
7476 (void *) marker,
7477 };
7478
Siva Velusamy05df4502012-02-17 10:55:03 -08007479 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7480 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007481 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007482 glContext->traceGLMessage(&glmsg);
7483}
7484
7485void GLTrace_glPopGroupMarkerEXT(void) {
7486 GLMessage glmsg;
7487 GLTraceContext *glContext = getGLTraceContext();
7488
7489 glmsg.set_function(GLMessage::glPopGroupMarkerEXT);
7490
7491 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007492 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7493 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007494 glContext->hooks->gl.glPopGroupMarkerEXT();
Siva Velusamy05df4502012-02-17 10:55:03 -08007495 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7496 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007497
Siva Velusamy98011422012-02-27 12:02:47 -08007498 void *pointerArgs[] = {
7499 };
7500
Siva Velusamy05df4502012-02-17 10:55:03 -08007501 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7502 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007503 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007504 glContext->traceGLMessage(&glmsg);
7505}
7506
Siva Velusamy0469dd62011-11-30 15:05:37 -08007507void GLTrace_glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum *attachments) {
7508 GLMessage glmsg;
7509 GLTraceContext *glContext = getGLTraceContext();
7510
Siva Velusamy0469dd62011-11-30 15:05:37 -08007511 glmsg.set_function(GLMessage::glDiscardFramebufferEXT);
7512
7513 // copy argument target
7514 GLMessage_DataType *arg_target = glmsg.add_args();
7515 arg_target->set_isarray(false);
7516 arg_target->set_type(GLMessage::DataType::ENUM);
7517 arg_target->add_intvalue((int)target);
7518
7519 // copy argument numAttachments
7520 GLMessage_DataType *arg_numAttachments = glmsg.add_args();
7521 arg_numAttachments->set_isarray(false);
7522 arg_numAttachments->set_type(GLMessage::DataType::INT);
7523 arg_numAttachments->add_intvalue(numAttachments);
7524
7525 // copy argument attachments
7526 GLMessage_DataType *arg_attachments = glmsg.add_args();
7527 arg_attachments->set_isarray(false);
7528 arg_attachments->set_type(GLMessage::DataType::INT);
7529 arg_attachments->add_intvalue((int)attachments);
7530
7531 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007532 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7533 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007534 glContext->hooks->gl.glDiscardFramebufferEXT(target, numAttachments, attachments);
Siva Velusamy05df4502012-02-17 10:55:03 -08007535 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7536 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007537
Siva Velusamy98011422012-02-27 12:02:47 -08007538 void *pointerArgs[] = {
7539 (void *) attachments,
7540 };
7541
Siva Velusamy05df4502012-02-17 10:55:03 -08007542 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7543 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007544 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007545 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007546}
7547
Mathias Agopian31272602012-01-28 14:20:59 -08007548void GLTrace_glRenderbufferStorageMultisampleEXT(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
7549 GLMessage glmsg;
7550 GLTraceContext *glContext = getGLTraceContext();
7551
7552 glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleEXT);
7553
7554 // copy argument target
7555 GLMessage_DataType *arg_target = glmsg.add_args();
7556 arg_target->set_isarray(false);
7557 arg_target->set_type(GLMessage::DataType::ENUM);
7558 arg_target->add_intvalue((int)target);
7559
7560 // copy argument samples
7561 GLMessage_DataType *arg_samples = glmsg.add_args();
7562 arg_samples->set_isarray(false);
7563 arg_samples->set_type(GLMessage::DataType::INT);
7564 arg_samples->add_intvalue(samples);
7565
7566 // copy argument internalformat
7567 GLMessage_DataType *arg_internalformat = glmsg.add_args();
7568 arg_internalformat->set_isarray(false);
7569 arg_internalformat->set_type(GLMessage::DataType::ENUM);
7570 arg_internalformat->add_intvalue((int)internalformat);
7571
7572 // copy argument width
7573 GLMessage_DataType *arg_width = glmsg.add_args();
7574 arg_width->set_isarray(false);
7575 arg_width->set_type(GLMessage::DataType::INT);
7576 arg_width->add_intvalue(width);
7577
7578 // copy argument height
7579 GLMessage_DataType *arg_height = glmsg.add_args();
7580 arg_height->set_isarray(false);
7581 arg_height->set_type(GLMessage::DataType::INT);
7582 arg_height->add_intvalue(height);
7583
7584 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007585 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7586 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007587 glContext->hooks->gl.glRenderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08007588 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7589 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007590
Siva Velusamy98011422012-02-27 12:02:47 -08007591 void *pointerArgs[] = {
7592 };
7593
Siva Velusamy05df4502012-02-17 10:55:03 -08007594 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7595 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007596 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007597 glContext->traceGLMessage(&glmsg);
7598}
7599
7600void GLTrace_glFramebufferTexture2DMultisampleEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) {
7601 GLMessage glmsg;
7602 GLTraceContext *glContext = getGLTraceContext();
7603
7604 glmsg.set_function(GLMessage::glFramebufferTexture2DMultisampleEXT);
7605
7606 // copy argument target
7607 GLMessage_DataType *arg_target = glmsg.add_args();
7608 arg_target->set_isarray(false);
7609 arg_target->set_type(GLMessage::DataType::ENUM);
7610 arg_target->add_intvalue((int)target);
7611
7612 // copy argument attachment
7613 GLMessage_DataType *arg_attachment = glmsg.add_args();
7614 arg_attachment->set_isarray(false);
7615 arg_attachment->set_type(GLMessage::DataType::ENUM);
7616 arg_attachment->add_intvalue((int)attachment);
7617
7618 // copy argument textarget
7619 GLMessage_DataType *arg_textarget = glmsg.add_args();
7620 arg_textarget->set_isarray(false);
7621 arg_textarget->set_type(GLMessage::DataType::ENUM);
7622 arg_textarget->add_intvalue((int)textarget);
7623
7624 // copy argument texture
7625 GLMessage_DataType *arg_texture = glmsg.add_args();
7626 arg_texture->set_isarray(false);
7627 arg_texture->set_type(GLMessage::DataType::INT);
7628 arg_texture->add_intvalue(texture);
7629
7630 // copy argument level
7631 GLMessage_DataType *arg_level = glmsg.add_args();
7632 arg_level->set_isarray(false);
7633 arg_level->set_type(GLMessage::DataType::INT);
7634 arg_level->add_intvalue(level);
7635
7636 // copy argument samples
7637 GLMessage_DataType *arg_samples = glmsg.add_args();
7638 arg_samples->set_isarray(false);
7639 arg_samples->set_type(GLMessage::DataType::INT);
7640 arg_samples->add_intvalue(samples);
7641
7642 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007643 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7644 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007645 glContext->hooks->gl.glFramebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
Siva Velusamy05df4502012-02-17 10:55:03 -08007646 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7647 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007648
Siva Velusamy98011422012-02-27 12:02:47 -08007649 void *pointerArgs[] = {
7650 };
7651
Siva Velusamy05df4502012-02-17 10:55:03 -08007652 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7653 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007654 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007655 glContext->traceGLMessage(&glmsg);
7656}
7657
Siva Velusamy0469dd62011-11-30 15:05:37 -08007658void GLTrace_glMultiDrawArraysEXT(GLenum mode, GLint *first, GLsizei *count, GLsizei primcount) {
7659 GLMessage glmsg;
7660 GLTraceContext *glContext = getGLTraceContext();
7661
Siva Velusamy0469dd62011-11-30 15:05:37 -08007662 glmsg.set_function(GLMessage::glMultiDrawArraysEXT);
7663
7664 // copy argument mode
7665 GLMessage_DataType *arg_mode = glmsg.add_args();
7666 arg_mode->set_isarray(false);
7667 arg_mode->set_type(GLMessage::DataType::ENUM);
7668 arg_mode->add_intvalue((int)mode);
7669
7670 // copy argument first
7671 GLMessage_DataType *arg_first = glmsg.add_args();
7672 arg_first->set_isarray(false);
7673 arg_first->set_type(GLMessage::DataType::INT);
7674 arg_first->add_intvalue((int)first);
7675
7676 // copy argument count
7677 GLMessage_DataType *arg_count = glmsg.add_args();
7678 arg_count->set_isarray(false);
7679 arg_count->set_type(GLMessage::DataType::INT);
7680 arg_count->add_intvalue((int)count);
7681
7682 // copy argument primcount
7683 GLMessage_DataType *arg_primcount = glmsg.add_args();
7684 arg_primcount->set_isarray(false);
7685 arg_primcount->set_type(GLMessage::DataType::INT);
7686 arg_primcount->add_intvalue(primcount);
7687
7688 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007689 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7690 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007691 glContext->hooks->gl.glMultiDrawArraysEXT(mode, first, count, primcount);
Siva Velusamy05df4502012-02-17 10:55:03 -08007692 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7693 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007694
Siva Velusamy98011422012-02-27 12:02:47 -08007695 void *pointerArgs[] = {
7696 (void *) first,
7697 (void *) count,
7698 };
7699
Siva Velusamy05df4502012-02-17 10:55:03 -08007700 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7701 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007702 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007703 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007704}
7705
7706void GLTrace_glMultiDrawElementsEXT(GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount) {
7707 GLMessage glmsg;
7708 GLTraceContext *glContext = getGLTraceContext();
7709
Siva Velusamy0469dd62011-11-30 15:05:37 -08007710 glmsg.set_function(GLMessage::glMultiDrawElementsEXT);
7711
7712 // copy argument mode
7713 GLMessage_DataType *arg_mode = glmsg.add_args();
7714 arg_mode->set_isarray(false);
7715 arg_mode->set_type(GLMessage::DataType::ENUM);
7716 arg_mode->add_intvalue((int)mode);
7717
7718 // copy argument count
7719 GLMessage_DataType *arg_count = glmsg.add_args();
7720 arg_count->set_isarray(false);
7721 arg_count->set_type(GLMessage::DataType::INT);
7722 arg_count->add_intvalue((int)count);
7723
7724 // copy argument type
7725 GLMessage_DataType *arg_type = glmsg.add_args();
7726 arg_type->set_isarray(false);
7727 arg_type->set_type(GLMessage::DataType::ENUM);
7728 arg_type->add_intvalue((int)type);
7729
7730 // copy argument indices
7731 GLMessage_DataType *arg_indices = glmsg.add_args();
7732 arg_indices->set_isarray(false);
7733 arg_indices->set_type(GLMessage::DataType::INT);
7734 arg_indices->add_intvalue((int)indices);
7735
7736 // copy argument primcount
7737 GLMessage_DataType *arg_primcount = glmsg.add_args();
7738 arg_primcount->set_isarray(false);
7739 arg_primcount->set_type(GLMessage::DataType::INT);
7740 arg_primcount->add_intvalue(primcount);
7741
7742 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007743 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7744 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007745 glContext->hooks->gl.glMultiDrawElementsEXT(mode, count, type, indices, primcount);
Siva Velusamy05df4502012-02-17 10:55:03 -08007746 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7747 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007748
Siva Velusamy98011422012-02-27 12:02:47 -08007749 void *pointerArgs[] = {
7750 (void *) count,
7751 (void *) indices,
7752 };
7753
Siva Velusamy05df4502012-02-17 10:55:03 -08007754 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7755 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007756 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08007757 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08007758}
7759
Mathias Agopian31272602012-01-28 14:20:59 -08007760void GLTrace_glGenQueriesEXT(GLsizei n, GLuint *ids) {
7761 GLMessage glmsg;
7762 GLTraceContext *glContext = getGLTraceContext();
7763
7764 glmsg.set_function(GLMessage::glGenQueriesEXT);
7765
7766 // copy argument n
7767 GLMessage_DataType *arg_n = glmsg.add_args();
7768 arg_n->set_isarray(false);
7769 arg_n->set_type(GLMessage::DataType::INT);
7770 arg_n->add_intvalue(n);
7771
7772 // copy argument ids
7773 GLMessage_DataType *arg_ids = glmsg.add_args();
7774 arg_ids->set_isarray(false);
7775 arg_ids->set_type(GLMessage::DataType::INT);
7776 arg_ids->add_intvalue((int)ids);
7777
7778 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007779 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7780 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007781 glContext->hooks->gl.glGenQueriesEXT(n, ids);
Siva Velusamy05df4502012-02-17 10:55:03 -08007782 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7783 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007784
Siva Velusamy98011422012-02-27 12:02:47 -08007785 void *pointerArgs[] = {
7786 (void *) ids,
7787 };
7788
Siva Velusamy05df4502012-02-17 10:55:03 -08007789 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7790 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007791 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007792 glContext->traceGLMessage(&glmsg);
7793}
7794
7795void GLTrace_glDeleteQueriesEXT(GLsizei n, const GLuint *ids) {
7796 GLMessage glmsg;
7797 GLTraceContext *glContext = getGLTraceContext();
7798
7799 glmsg.set_function(GLMessage::glDeleteQueriesEXT);
7800
7801 // copy argument n
7802 GLMessage_DataType *arg_n = glmsg.add_args();
7803 arg_n->set_isarray(false);
7804 arg_n->set_type(GLMessage::DataType::INT);
7805 arg_n->add_intvalue(n);
7806
7807 // copy argument ids
7808 GLMessage_DataType *arg_ids = glmsg.add_args();
7809 arg_ids->set_isarray(false);
7810 arg_ids->set_type(GLMessage::DataType::INT);
7811 arg_ids->add_intvalue((int)ids);
7812
7813 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007814 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7815 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007816 glContext->hooks->gl.glDeleteQueriesEXT(n, ids);
Siva Velusamy05df4502012-02-17 10:55:03 -08007817 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7818 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007819
Siva Velusamy98011422012-02-27 12:02:47 -08007820 void *pointerArgs[] = {
7821 (void *) ids,
7822 };
7823
Siva Velusamy05df4502012-02-17 10:55:03 -08007824 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7825 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007826 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007827 glContext->traceGLMessage(&glmsg);
7828}
7829
7830GLboolean GLTrace_glIsQueryEXT(GLuint id) {
7831 GLMessage glmsg;
7832 GLTraceContext *glContext = getGLTraceContext();
7833
7834 glmsg.set_function(GLMessage::glIsQueryEXT);
7835
7836 // copy argument id
7837 GLMessage_DataType *arg_id = glmsg.add_args();
7838 arg_id->set_isarray(false);
7839 arg_id->set_type(GLMessage::DataType::INT);
7840 arg_id->add_intvalue(id);
7841
7842 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007843 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7844 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007845 GLboolean retValue = glContext->hooks->gl.glIsQueryEXT(id);
Siva Velusamy05df4502012-02-17 10:55:03 -08007846 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7847 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007848
7849 // set return value
7850 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
7851 rt->set_isarray(false);
7852 rt->set_type(GLMessage::DataType::BOOL);
7853 rt->add_boolvalue(retValue);
7854
Siva Velusamy98011422012-02-27 12:02:47 -08007855 void *pointerArgs[] = {
7856 };
7857
Siva Velusamy05df4502012-02-17 10:55:03 -08007858 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7859 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007860 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007861 glContext->traceGLMessage(&glmsg);
7862
7863 return retValue;
7864}
7865
7866void GLTrace_glBeginQueryEXT(GLenum target, GLuint id) {
7867 GLMessage glmsg;
7868 GLTraceContext *glContext = getGLTraceContext();
7869
7870 glmsg.set_function(GLMessage::glBeginQueryEXT);
7871
7872 // copy argument target
7873 GLMessage_DataType *arg_target = glmsg.add_args();
7874 arg_target->set_isarray(false);
7875 arg_target->set_type(GLMessage::DataType::ENUM);
7876 arg_target->add_intvalue((int)target);
7877
7878 // copy argument id
7879 GLMessage_DataType *arg_id = glmsg.add_args();
7880 arg_id->set_isarray(false);
7881 arg_id->set_type(GLMessage::DataType::INT);
7882 arg_id->add_intvalue(id);
7883
7884 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007885 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7886 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007887 glContext->hooks->gl.glBeginQueryEXT(target, id);
Siva Velusamy05df4502012-02-17 10:55:03 -08007888 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7889 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007890
Siva Velusamy98011422012-02-27 12:02:47 -08007891 void *pointerArgs[] = {
7892 };
7893
Siva Velusamy05df4502012-02-17 10:55:03 -08007894 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7895 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007896 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007897 glContext->traceGLMessage(&glmsg);
7898}
7899
7900void GLTrace_glEndQueryEXT(GLenum target) {
7901 GLMessage glmsg;
7902 GLTraceContext *glContext = getGLTraceContext();
7903
7904 glmsg.set_function(GLMessage::glEndQueryEXT);
7905
7906 // copy argument target
7907 GLMessage_DataType *arg_target = glmsg.add_args();
7908 arg_target->set_isarray(false);
7909 arg_target->set_type(GLMessage::DataType::ENUM);
7910 arg_target->add_intvalue((int)target);
7911
7912 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007913 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7914 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007915 glContext->hooks->gl.glEndQueryEXT(target);
Siva Velusamy05df4502012-02-17 10:55:03 -08007916 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7917 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007918
Siva Velusamy98011422012-02-27 12:02:47 -08007919 void *pointerArgs[] = {
7920 };
7921
Siva Velusamy05df4502012-02-17 10:55:03 -08007922 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7923 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007924 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007925 glContext->traceGLMessage(&glmsg);
7926}
7927
7928void GLTrace_glGetQueryivEXT(GLenum target, GLenum pname, GLint *params) {
7929 GLMessage glmsg;
7930 GLTraceContext *glContext = getGLTraceContext();
7931
7932 glmsg.set_function(GLMessage::glGetQueryivEXT);
7933
7934 // copy argument target
7935 GLMessage_DataType *arg_target = glmsg.add_args();
7936 arg_target->set_isarray(false);
7937 arg_target->set_type(GLMessage::DataType::ENUM);
7938 arg_target->add_intvalue((int)target);
7939
7940 // copy argument pname
7941 GLMessage_DataType *arg_pname = glmsg.add_args();
7942 arg_pname->set_isarray(false);
7943 arg_pname->set_type(GLMessage::DataType::ENUM);
7944 arg_pname->add_intvalue((int)pname);
7945
7946 // copy argument params
7947 GLMessage_DataType *arg_params = glmsg.add_args();
7948 arg_params->set_isarray(false);
7949 arg_params->set_type(GLMessage::DataType::INT);
7950 arg_params->add_intvalue((int)params);
7951
7952 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007953 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7954 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007955 glContext->hooks->gl.glGetQueryivEXT(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08007956 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7957 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007958
Siva Velusamy98011422012-02-27 12:02:47 -08007959 void *pointerArgs[] = {
7960 (void *) params,
7961 };
7962
Siva Velusamy05df4502012-02-17 10:55:03 -08007963 fixupGLMessage(glContext, wallStartTime, wallEndTime,
7964 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08007965 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08007966 glContext->traceGLMessage(&glmsg);
7967}
7968
7969void GLTrace_glGetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint *params) {
7970 GLMessage glmsg;
7971 GLTraceContext *glContext = getGLTraceContext();
7972
7973 glmsg.set_function(GLMessage::glGetQueryObjectuivEXT);
7974
7975 // copy argument id
7976 GLMessage_DataType *arg_id = glmsg.add_args();
7977 arg_id->set_isarray(false);
7978 arg_id->set_type(GLMessage::DataType::INT);
7979 arg_id->add_intvalue(id);
7980
7981 // copy argument pname
7982 GLMessage_DataType *arg_pname = glmsg.add_args();
7983 arg_pname->set_isarray(false);
7984 arg_pname->set_type(GLMessage::DataType::ENUM);
7985 arg_pname->add_intvalue((int)pname);
7986
7987 // copy argument params
7988 GLMessage_DataType *arg_params = glmsg.add_args();
7989 arg_params->set_isarray(false);
7990 arg_params->set_type(GLMessage::DataType::INT);
7991 arg_params->add_intvalue((int)params);
7992
7993 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08007994 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
7995 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08007996 glContext->hooks->gl.glGetQueryObjectuivEXT(id, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08007997 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
7998 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08007999
Siva Velusamy98011422012-02-27 12:02:47 -08008000 void *pointerArgs[] = {
8001 (void *) params,
8002 };
8003
Siva Velusamy05df4502012-02-17 10:55:03 -08008004 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8005 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008006 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008007 glContext->traceGLMessage(&glmsg);
8008}
8009
8010GLenum GLTrace_glGetGraphicsResetStatusEXT(void) {
8011 GLMessage glmsg;
8012 GLTraceContext *glContext = getGLTraceContext();
8013
8014 glmsg.set_function(GLMessage::glGetGraphicsResetStatusEXT);
8015
8016 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008017 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8018 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008019 GLenum retValue = glContext->hooks->gl.glGetGraphicsResetStatusEXT();
Siva Velusamy05df4502012-02-17 10:55:03 -08008020 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8021 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008022
8023 // set return value
8024 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
8025 rt->set_isarray(false);
8026 rt->set_type(GLMessage::DataType::ENUM);
8027 rt->add_intvalue((int)retValue);
8028
Siva Velusamy98011422012-02-27 12:02:47 -08008029 void *pointerArgs[] = {
8030 };
8031
Siva Velusamy05df4502012-02-17 10:55:03 -08008032 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8033 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008034 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008035 glContext->traceGLMessage(&glmsg);
8036
8037 return retValue;
8038}
8039
8040void GLTrace_glReadnPixelsEXT(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data) {
8041 GLMessage glmsg;
8042 GLTraceContext *glContext = getGLTraceContext();
8043
8044 glmsg.set_function(GLMessage::glReadnPixelsEXT);
8045
8046 // copy argument x
8047 GLMessage_DataType *arg_x = glmsg.add_args();
8048 arg_x->set_isarray(false);
8049 arg_x->set_type(GLMessage::DataType::INT);
8050 arg_x->add_intvalue(x);
8051
8052 // copy argument y
8053 GLMessage_DataType *arg_y = glmsg.add_args();
8054 arg_y->set_isarray(false);
8055 arg_y->set_type(GLMessage::DataType::INT);
8056 arg_y->add_intvalue(y);
8057
8058 // copy argument width
8059 GLMessage_DataType *arg_width = glmsg.add_args();
8060 arg_width->set_isarray(false);
8061 arg_width->set_type(GLMessage::DataType::INT);
8062 arg_width->add_intvalue(width);
8063
8064 // copy argument height
8065 GLMessage_DataType *arg_height = glmsg.add_args();
8066 arg_height->set_isarray(false);
8067 arg_height->set_type(GLMessage::DataType::INT);
8068 arg_height->add_intvalue(height);
8069
8070 // copy argument format
8071 GLMessage_DataType *arg_format = glmsg.add_args();
8072 arg_format->set_isarray(false);
8073 arg_format->set_type(GLMessage::DataType::ENUM);
8074 arg_format->add_intvalue((int)format);
8075
8076 // copy argument type
8077 GLMessage_DataType *arg_type = glmsg.add_args();
8078 arg_type->set_isarray(false);
8079 arg_type->set_type(GLMessage::DataType::ENUM);
8080 arg_type->add_intvalue((int)type);
8081
8082 // copy argument bufSize
8083 GLMessage_DataType *arg_bufSize = glmsg.add_args();
8084 arg_bufSize->set_isarray(false);
8085 arg_bufSize->set_type(GLMessage::DataType::INT);
8086 arg_bufSize->add_intvalue(bufSize);
8087
8088 // copy argument data
8089 GLMessage_DataType *arg_data = glmsg.add_args();
8090 arg_data->set_isarray(false);
8091 arg_data->set_type(GLMessage::DataType::INT);
8092 arg_data->add_intvalue((int)data);
8093
8094 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008095 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8096 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008097 glContext->hooks->gl.glReadnPixelsEXT(x, y, width, height, format, type, bufSize, data);
Siva Velusamy05df4502012-02-17 10:55:03 -08008098 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8099 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008100
Siva Velusamy98011422012-02-27 12:02:47 -08008101 void *pointerArgs[] = {
8102 (void *) data,
8103 };
8104
Siva Velusamy05df4502012-02-17 10:55:03 -08008105 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8106 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008107 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008108 glContext->traceGLMessage(&glmsg);
8109}
8110
8111void GLTrace_glGetnUniformfvEXT(GLuint program, GLint location, GLsizei bufSize, float *params) {
8112 GLMessage glmsg;
8113 GLTraceContext *glContext = getGLTraceContext();
8114
8115 glmsg.set_function(GLMessage::glGetnUniformfvEXT);
8116
8117 // copy argument program
8118 GLMessage_DataType *arg_program = glmsg.add_args();
8119 arg_program->set_isarray(false);
8120 arg_program->set_type(GLMessage::DataType::INT);
8121 arg_program->add_intvalue(program);
8122
8123 // copy argument location
8124 GLMessage_DataType *arg_location = glmsg.add_args();
8125 arg_location->set_isarray(false);
8126 arg_location->set_type(GLMessage::DataType::INT);
8127 arg_location->add_intvalue(location);
8128
8129 // copy argument bufSize
8130 GLMessage_DataType *arg_bufSize = glmsg.add_args();
8131 arg_bufSize->set_isarray(false);
8132 arg_bufSize->set_type(GLMessage::DataType::INT);
8133 arg_bufSize->add_intvalue(bufSize);
8134
8135 // copy argument params
8136 GLMessage_DataType *arg_params = glmsg.add_args();
8137 arg_params->set_isarray(false);
8138 arg_params->set_type(GLMessage::DataType::INT);
8139 arg_params->add_intvalue((int)params);
8140
8141 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008142 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8143 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008144 glContext->hooks->gl.glGetnUniformfvEXT(program, location, bufSize, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08008145 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8146 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008147
Siva Velusamy98011422012-02-27 12:02:47 -08008148 void *pointerArgs[] = {
8149 (void *) params,
8150 };
8151
Siva Velusamy05df4502012-02-17 10:55:03 -08008152 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8153 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008154 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008155 glContext->traceGLMessage(&glmsg);
8156}
8157
8158void GLTrace_glGetnUniformivEXT(GLuint program, GLint location, GLsizei bufSize, GLint *params) {
8159 GLMessage glmsg;
8160 GLTraceContext *glContext = getGLTraceContext();
8161
8162 glmsg.set_function(GLMessage::glGetnUniformivEXT);
8163
8164 // copy argument program
8165 GLMessage_DataType *arg_program = glmsg.add_args();
8166 arg_program->set_isarray(false);
8167 arg_program->set_type(GLMessage::DataType::INT);
8168 arg_program->add_intvalue(program);
8169
8170 // copy argument location
8171 GLMessage_DataType *arg_location = glmsg.add_args();
8172 arg_location->set_isarray(false);
8173 arg_location->set_type(GLMessage::DataType::INT);
8174 arg_location->add_intvalue(location);
8175
8176 // copy argument bufSize
8177 GLMessage_DataType *arg_bufSize = glmsg.add_args();
8178 arg_bufSize->set_isarray(false);
8179 arg_bufSize->set_type(GLMessage::DataType::INT);
8180 arg_bufSize->add_intvalue(bufSize);
8181
8182 // copy argument params
8183 GLMessage_DataType *arg_params = glmsg.add_args();
8184 arg_params->set_isarray(false);
8185 arg_params->set_type(GLMessage::DataType::INT);
8186 arg_params->add_intvalue((int)params);
8187
8188 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008189 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8190 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008191 glContext->hooks->gl.glGetnUniformivEXT(program, location, bufSize, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08008192 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8193 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008194
Siva Velusamy98011422012-02-27 12:02:47 -08008195 void *pointerArgs[] = {
8196 (void *) params,
8197 };
8198
Siva Velusamy05df4502012-02-17 10:55:03 -08008199 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8200 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008201 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008202 glContext->traceGLMessage(&glmsg);
8203}
8204
8205void GLTrace_glUseProgramStagesEXT(GLuint pipeline, GLbitfield stages, GLuint program) {
8206 GLMessage glmsg;
8207 GLTraceContext *glContext = getGLTraceContext();
8208
8209 glmsg.set_function(GLMessage::glUseProgramStagesEXT);
8210
8211 // copy argument pipeline
8212 GLMessage_DataType *arg_pipeline = glmsg.add_args();
8213 arg_pipeline->set_isarray(false);
8214 arg_pipeline->set_type(GLMessage::DataType::INT);
8215 arg_pipeline->add_intvalue(pipeline);
8216
8217 // copy argument stages
8218 GLMessage_DataType *arg_stages = glmsg.add_args();
8219 arg_stages->set_isarray(false);
8220 arg_stages->set_type(GLMessage::DataType::INT);
8221 arg_stages->add_intvalue(stages);
8222
8223 // copy argument program
8224 GLMessage_DataType *arg_program = glmsg.add_args();
8225 arg_program->set_isarray(false);
8226 arg_program->set_type(GLMessage::DataType::INT);
8227 arg_program->add_intvalue(program);
8228
8229 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008230 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8231 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008232 glContext->hooks->gl.glUseProgramStagesEXT(pipeline, stages, program);
Siva Velusamy05df4502012-02-17 10:55:03 -08008233 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8234 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008235
Siva Velusamy98011422012-02-27 12:02:47 -08008236 void *pointerArgs[] = {
8237 };
8238
Siva Velusamy05df4502012-02-17 10:55:03 -08008239 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8240 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008241 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008242 glContext->traceGLMessage(&glmsg);
8243}
8244
8245void GLTrace_glActiveShaderProgramEXT(GLuint pipeline, GLuint program) {
8246 GLMessage glmsg;
8247 GLTraceContext *glContext = getGLTraceContext();
8248
8249 glmsg.set_function(GLMessage::glActiveShaderProgramEXT);
8250
8251 // copy argument pipeline
8252 GLMessage_DataType *arg_pipeline = glmsg.add_args();
8253 arg_pipeline->set_isarray(false);
8254 arg_pipeline->set_type(GLMessage::DataType::INT);
8255 arg_pipeline->add_intvalue(pipeline);
8256
8257 // copy argument program
8258 GLMessage_DataType *arg_program = glmsg.add_args();
8259 arg_program->set_isarray(false);
8260 arg_program->set_type(GLMessage::DataType::INT);
8261 arg_program->add_intvalue(program);
8262
8263 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008264 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8265 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008266 glContext->hooks->gl.glActiveShaderProgramEXT(pipeline, program);
Siva Velusamy05df4502012-02-17 10:55:03 -08008267 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8268 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008269
Siva Velusamy98011422012-02-27 12:02:47 -08008270 void *pointerArgs[] = {
8271 };
8272
Siva Velusamy05df4502012-02-17 10:55:03 -08008273 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8274 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008275 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008276 glContext->traceGLMessage(&glmsg);
8277}
8278
8279GLuint GLTrace_glCreateShaderProgramvEXT(GLenum type, GLsizei count, const GLchar **strings) {
8280 GLMessage glmsg;
8281 GLTraceContext *glContext = getGLTraceContext();
8282
8283 glmsg.set_function(GLMessage::glCreateShaderProgramvEXT);
8284
8285 // copy argument type
8286 GLMessage_DataType *arg_type = glmsg.add_args();
8287 arg_type->set_isarray(false);
8288 arg_type->set_type(GLMessage::DataType::ENUM);
8289 arg_type->add_intvalue((int)type);
8290
8291 // copy argument count
8292 GLMessage_DataType *arg_count = glmsg.add_args();
8293 arg_count->set_isarray(false);
8294 arg_count->set_type(GLMessage::DataType::INT);
8295 arg_count->add_intvalue(count);
8296
8297 // copy argument strings
8298 GLMessage_DataType *arg_strings = glmsg.add_args();
8299 arg_strings->set_isarray(false);
8300 arg_strings->set_type(GLMessage::DataType::INT);
8301 arg_strings->add_intvalue((int)strings);
8302
8303 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008304 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8305 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008306 GLuint retValue = glContext->hooks->gl.glCreateShaderProgramvEXT(type, count, strings);
Siva Velusamy05df4502012-02-17 10:55:03 -08008307 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8308 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008309
8310 // set return value
8311 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
8312 rt->set_isarray(false);
8313 rt->set_type(GLMessage::DataType::INT);
8314 rt->add_intvalue(retValue);
8315
Siva Velusamy98011422012-02-27 12:02:47 -08008316 void *pointerArgs[] = {
8317 (void *) strings,
8318 };
8319
Siva Velusamy05df4502012-02-17 10:55:03 -08008320 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8321 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008322 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008323 glContext->traceGLMessage(&glmsg);
8324
8325 return retValue;
8326}
8327
8328void GLTrace_glBindProgramPipelineEXT(GLuint pipeline) {
8329 GLMessage glmsg;
8330 GLTraceContext *glContext = getGLTraceContext();
8331
8332 glmsg.set_function(GLMessage::glBindProgramPipelineEXT);
8333
8334 // copy argument pipeline
8335 GLMessage_DataType *arg_pipeline = glmsg.add_args();
8336 arg_pipeline->set_isarray(false);
8337 arg_pipeline->set_type(GLMessage::DataType::INT);
8338 arg_pipeline->add_intvalue(pipeline);
8339
8340 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008341 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8342 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008343 glContext->hooks->gl.glBindProgramPipelineEXT(pipeline);
Siva Velusamy05df4502012-02-17 10:55:03 -08008344 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8345 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008346
Siva Velusamy98011422012-02-27 12:02:47 -08008347 void *pointerArgs[] = {
8348 };
8349
Siva Velusamy05df4502012-02-17 10:55:03 -08008350 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8351 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008352 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008353 glContext->traceGLMessage(&glmsg);
8354}
8355
8356void GLTrace_glDeleteProgramPipelinesEXT(GLsizei n, const GLuint *pipelines) {
8357 GLMessage glmsg;
8358 GLTraceContext *glContext = getGLTraceContext();
8359
8360 glmsg.set_function(GLMessage::glDeleteProgramPipelinesEXT);
8361
8362 // copy argument n
8363 GLMessage_DataType *arg_n = glmsg.add_args();
8364 arg_n->set_isarray(false);
8365 arg_n->set_type(GLMessage::DataType::INT);
8366 arg_n->add_intvalue(n);
8367
8368 // copy argument pipelines
8369 GLMessage_DataType *arg_pipelines = glmsg.add_args();
8370 arg_pipelines->set_isarray(false);
8371 arg_pipelines->set_type(GLMessage::DataType::INT);
8372 arg_pipelines->add_intvalue((int)pipelines);
8373
8374 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008375 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8376 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008377 glContext->hooks->gl.glDeleteProgramPipelinesEXT(n, pipelines);
Siva Velusamy05df4502012-02-17 10:55:03 -08008378 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8379 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008380
Siva Velusamy98011422012-02-27 12:02:47 -08008381 void *pointerArgs[] = {
8382 (void *) pipelines,
8383 };
8384
Siva Velusamy05df4502012-02-17 10:55:03 -08008385 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8386 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008387 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008388 glContext->traceGLMessage(&glmsg);
8389}
8390
8391void GLTrace_glGenProgramPipelinesEXT(GLsizei n, GLuint *pipelines) {
8392 GLMessage glmsg;
8393 GLTraceContext *glContext = getGLTraceContext();
8394
8395 glmsg.set_function(GLMessage::glGenProgramPipelinesEXT);
8396
8397 // copy argument n
8398 GLMessage_DataType *arg_n = glmsg.add_args();
8399 arg_n->set_isarray(false);
8400 arg_n->set_type(GLMessage::DataType::INT);
8401 arg_n->add_intvalue(n);
8402
8403 // copy argument pipelines
8404 GLMessage_DataType *arg_pipelines = glmsg.add_args();
8405 arg_pipelines->set_isarray(false);
8406 arg_pipelines->set_type(GLMessage::DataType::INT);
8407 arg_pipelines->add_intvalue((int)pipelines);
8408
8409 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008410 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8411 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008412 glContext->hooks->gl.glGenProgramPipelinesEXT(n, pipelines);
Siva Velusamy05df4502012-02-17 10:55:03 -08008413 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8414 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008415
Siva Velusamy98011422012-02-27 12:02:47 -08008416 void *pointerArgs[] = {
8417 (void *) pipelines,
8418 };
8419
Siva Velusamy05df4502012-02-17 10:55:03 -08008420 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8421 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008422 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008423 glContext->traceGLMessage(&glmsg);
8424}
8425
8426GLboolean GLTrace_glIsProgramPipelineEXT(GLuint pipeline) {
8427 GLMessage glmsg;
8428 GLTraceContext *glContext = getGLTraceContext();
8429
8430 glmsg.set_function(GLMessage::glIsProgramPipelineEXT);
8431
8432 // copy argument pipeline
8433 GLMessage_DataType *arg_pipeline = glmsg.add_args();
8434 arg_pipeline->set_isarray(false);
8435 arg_pipeline->set_type(GLMessage::DataType::INT);
8436 arg_pipeline->add_intvalue(pipeline);
8437
8438 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008439 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8440 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008441 GLboolean retValue = glContext->hooks->gl.glIsProgramPipelineEXT(pipeline);
Siva Velusamy05df4502012-02-17 10:55:03 -08008442 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8443 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008444
8445 // set return value
8446 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
8447 rt->set_isarray(false);
8448 rt->set_type(GLMessage::DataType::BOOL);
8449 rt->add_boolvalue(retValue);
8450
Siva Velusamy98011422012-02-27 12:02:47 -08008451 void *pointerArgs[] = {
8452 };
8453
Siva Velusamy05df4502012-02-17 10:55:03 -08008454 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8455 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008456 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008457 glContext->traceGLMessage(&glmsg);
8458
8459 return retValue;
8460}
8461
8462void GLTrace_glProgramParameteriEXT(GLuint program, GLenum pname, GLint value) {
8463 GLMessage glmsg;
8464 GLTraceContext *glContext = getGLTraceContext();
8465
8466 glmsg.set_function(GLMessage::glProgramParameteriEXT);
8467
8468 // copy argument program
8469 GLMessage_DataType *arg_program = glmsg.add_args();
8470 arg_program->set_isarray(false);
8471 arg_program->set_type(GLMessage::DataType::INT);
8472 arg_program->add_intvalue(program);
8473
8474 // copy argument pname
8475 GLMessage_DataType *arg_pname = glmsg.add_args();
8476 arg_pname->set_isarray(false);
8477 arg_pname->set_type(GLMessage::DataType::ENUM);
8478 arg_pname->add_intvalue((int)pname);
8479
8480 // copy argument value
8481 GLMessage_DataType *arg_value = glmsg.add_args();
8482 arg_value->set_isarray(false);
8483 arg_value->set_type(GLMessage::DataType::INT);
8484 arg_value->add_intvalue(value);
8485
8486 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008487 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8488 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008489 glContext->hooks->gl.glProgramParameteriEXT(program, pname, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08008490 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8491 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008492
Siva Velusamy98011422012-02-27 12:02:47 -08008493 void *pointerArgs[] = {
8494 };
8495
Siva Velusamy05df4502012-02-17 10:55:03 -08008496 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8497 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008498 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008499 glContext->traceGLMessage(&glmsg);
8500}
8501
8502void GLTrace_glGetProgramPipelineivEXT(GLuint pipeline, GLenum pname, GLint *params) {
8503 GLMessage glmsg;
8504 GLTraceContext *glContext = getGLTraceContext();
8505
8506 glmsg.set_function(GLMessage::glGetProgramPipelineivEXT);
8507
8508 // copy argument pipeline
8509 GLMessage_DataType *arg_pipeline = glmsg.add_args();
8510 arg_pipeline->set_isarray(false);
8511 arg_pipeline->set_type(GLMessage::DataType::INT);
8512 arg_pipeline->add_intvalue(pipeline);
8513
8514 // copy argument pname
8515 GLMessage_DataType *arg_pname = glmsg.add_args();
8516 arg_pname->set_isarray(false);
8517 arg_pname->set_type(GLMessage::DataType::ENUM);
8518 arg_pname->add_intvalue((int)pname);
8519
8520 // copy argument params
8521 GLMessage_DataType *arg_params = glmsg.add_args();
8522 arg_params->set_isarray(false);
8523 arg_params->set_type(GLMessage::DataType::INT);
8524 arg_params->add_intvalue((int)params);
8525
8526 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008527 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8528 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008529 glContext->hooks->gl.glGetProgramPipelineivEXT(pipeline, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -08008530 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8531 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008532
Siva Velusamy98011422012-02-27 12:02:47 -08008533 void *pointerArgs[] = {
8534 (void *) params,
8535 };
8536
Siva Velusamy05df4502012-02-17 10:55:03 -08008537 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8538 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008539 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008540 glContext->traceGLMessage(&glmsg);
8541}
8542
8543void GLTrace_glProgramUniform1iEXT(GLuint program, GLint location, GLint x) {
8544 GLMessage glmsg;
8545 GLTraceContext *glContext = getGLTraceContext();
8546
8547 glmsg.set_function(GLMessage::glProgramUniform1iEXT);
8548
8549 // copy argument program
8550 GLMessage_DataType *arg_program = glmsg.add_args();
8551 arg_program->set_isarray(false);
8552 arg_program->set_type(GLMessage::DataType::INT);
8553 arg_program->add_intvalue(program);
8554
8555 // copy argument location
8556 GLMessage_DataType *arg_location = glmsg.add_args();
8557 arg_location->set_isarray(false);
8558 arg_location->set_type(GLMessage::DataType::INT);
8559 arg_location->add_intvalue(location);
8560
8561 // copy argument x
8562 GLMessage_DataType *arg_x = glmsg.add_args();
8563 arg_x->set_isarray(false);
8564 arg_x->set_type(GLMessage::DataType::INT);
8565 arg_x->add_intvalue(x);
8566
8567 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008568 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8569 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008570 glContext->hooks->gl.glProgramUniform1iEXT(program, location, x);
Siva Velusamy05df4502012-02-17 10:55:03 -08008571 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8572 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008573
Siva Velusamy98011422012-02-27 12:02:47 -08008574 void *pointerArgs[] = {
8575 };
8576
Siva Velusamy05df4502012-02-17 10:55:03 -08008577 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8578 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008579 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008580 glContext->traceGLMessage(&glmsg);
8581}
8582
8583void GLTrace_glProgramUniform2iEXT(GLuint program, GLint location, GLint x, GLint y) {
8584 GLMessage glmsg;
8585 GLTraceContext *glContext = getGLTraceContext();
8586
8587 glmsg.set_function(GLMessage::glProgramUniform2iEXT);
8588
8589 // copy argument program
8590 GLMessage_DataType *arg_program = glmsg.add_args();
8591 arg_program->set_isarray(false);
8592 arg_program->set_type(GLMessage::DataType::INT);
8593 arg_program->add_intvalue(program);
8594
8595 // copy argument location
8596 GLMessage_DataType *arg_location = glmsg.add_args();
8597 arg_location->set_isarray(false);
8598 arg_location->set_type(GLMessage::DataType::INT);
8599 arg_location->add_intvalue(location);
8600
8601 // copy argument x
8602 GLMessage_DataType *arg_x = glmsg.add_args();
8603 arg_x->set_isarray(false);
8604 arg_x->set_type(GLMessage::DataType::INT);
8605 arg_x->add_intvalue(x);
8606
8607 // copy argument y
8608 GLMessage_DataType *arg_y = glmsg.add_args();
8609 arg_y->set_isarray(false);
8610 arg_y->set_type(GLMessage::DataType::INT);
8611 arg_y->add_intvalue(y);
8612
8613 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008614 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8615 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008616 glContext->hooks->gl.glProgramUniform2iEXT(program, location, x, y);
Siva Velusamy05df4502012-02-17 10:55:03 -08008617 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8618 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008619
Siva Velusamy98011422012-02-27 12:02:47 -08008620 void *pointerArgs[] = {
8621 };
8622
Siva Velusamy05df4502012-02-17 10:55:03 -08008623 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8624 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008625 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008626 glContext->traceGLMessage(&glmsg);
8627}
8628
8629void GLTrace_glProgramUniform3iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z) {
8630 GLMessage glmsg;
8631 GLTraceContext *glContext = getGLTraceContext();
8632
8633 glmsg.set_function(GLMessage::glProgramUniform3iEXT);
8634
8635 // copy argument program
8636 GLMessage_DataType *arg_program = glmsg.add_args();
8637 arg_program->set_isarray(false);
8638 arg_program->set_type(GLMessage::DataType::INT);
8639 arg_program->add_intvalue(program);
8640
8641 // copy argument location
8642 GLMessage_DataType *arg_location = glmsg.add_args();
8643 arg_location->set_isarray(false);
8644 arg_location->set_type(GLMessage::DataType::INT);
8645 arg_location->add_intvalue(location);
8646
8647 // copy argument x
8648 GLMessage_DataType *arg_x = glmsg.add_args();
8649 arg_x->set_isarray(false);
8650 arg_x->set_type(GLMessage::DataType::INT);
8651 arg_x->add_intvalue(x);
8652
8653 // copy argument y
8654 GLMessage_DataType *arg_y = glmsg.add_args();
8655 arg_y->set_isarray(false);
8656 arg_y->set_type(GLMessage::DataType::INT);
8657 arg_y->add_intvalue(y);
8658
8659 // copy argument z
8660 GLMessage_DataType *arg_z = glmsg.add_args();
8661 arg_z->set_isarray(false);
8662 arg_z->set_type(GLMessage::DataType::INT);
8663 arg_z->add_intvalue(z);
8664
8665 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008666 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8667 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008668 glContext->hooks->gl.glProgramUniform3iEXT(program, location, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -08008669 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8670 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008671
Siva Velusamy98011422012-02-27 12:02:47 -08008672 void *pointerArgs[] = {
8673 };
8674
Siva Velusamy05df4502012-02-17 10:55:03 -08008675 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8676 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008677 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008678 glContext->traceGLMessage(&glmsg);
8679}
8680
8681void GLTrace_glProgramUniform4iEXT(GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w) {
8682 GLMessage glmsg;
8683 GLTraceContext *glContext = getGLTraceContext();
8684
8685 glmsg.set_function(GLMessage::glProgramUniform4iEXT);
8686
8687 // copy argument program
8688 GLMessage_DataType *arg_program = glmsg.add_args();
8689 arg_program->set_isarray(false);
8690 arg_program->set_type(GLMessage::DataType::INT);
8691 arg_program->add_intvalue(program);
8692
8693 // copy argument location
8694 GLMessage_DataType *arg_location = glmsg.add_args();
8695 arg_location->set_isarray(false);
8696 arg_location->set_type(GLMessage::DataType::INT);
8697 arg_location->add_intvalue(location);
8698
8699 // copy argument x
8700 GLMessage_DataType *arg_x = glmsg.add_args();
8701 arg_x->set_isarray(false);
8702 arg_x->set_type(GLMessage::DataType::INT);
8703 arg_x->add_intvalue(x);
8704
8705 // copy argument y
8706 GLMessage_DataType *arg_y = glmsg.add_args();
8707 arg_y->set_isarray(false);
8708 arg_y->set_type(GLMessage::DataType::INT);
8709 arg_y->add_intvalue(y);
8710
8711 // copy argument z
8712 GLMessage_DataType *arg_z = glmsg.add_args();
8713 arg_z->set_isarray(false);
8714 arg_z->set_type(GLMessage::DataType::INT);
8715 arg_z->add_intvalue(z);
8716
8717 // copy argument w
8718 GLMessage_DataType *arg_w = glmsg.add_args();
8719 arg_w->set_isarray(false);
8720 arg_w->set_type(GLMessage::DataType::INT);
8721 arg_w->add_intvalue(w);
8722
8723 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008724 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8725 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008726 glContext->hooks->gl.glProgramUniform4iEXT(program, location, x, y, z, w);
Siva Velusamy05df4502012-02-17 10:55:03 -08008727 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8728 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008729
Siva Velusamy98011422012-02-27 12:02:47 -08008730 void *pointerArgs[] = {
8731 };
8732
Siva Velusamy05df4502012-02-17 10:55:03 -08008733 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8734 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008735 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008736 glContext->traceGLMessage(&glmsg);
8737}
8738
8739void GLTrace_glProgramUniform1fEXT(GLuint program, GLint location, GLfloat x) {
8740 GLMessage glmsg;
8741 GLTraceContext *glContext = getGLTraceContext();
8742
8743 glmsg.set_function(GLMessage::glProgramUniform1fEXT);
8744
8745 // copy argument program
8746 GLMessage_DataType *arg_program = glmsg.add_args();
8747 arg_program->set_isarray(false);
8748 arg_program->set_type(GLMessage::DataType::INT);
8749 arg_program->add_intvalue(program);
8750
8751 // copy argument location
8752 GLMessage_DataType *arg_location = glmsg.add_args();
8753 arg_location->set_isarray(false);
8754 arg_location->set_type(GLMessage::DataType::INT);
8755 arg_location->add_intvalue(location);
8756
8757 // copy argument x
8758 GLMessage_DataType *arg_x = glmsg.add_args();
8759 arg_x->set_isarray(false);
8760 arg_x->set_type(GLMessage::DataType::FLOAT);
8761 arg_x->add_floatvalue(x);
8762
8763 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008764 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8765 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008766 glContext->hooks->gl.glProgramUniform1fEXT(program, location, x);
Siva Velusamy05df4502012-02-17 10:55:03 -08008767 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8768 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008769
Siva Velusamy98011422012-02-27 12:02:47 -08008770 void *pointerArgs[] = {
8771 };
8772
Siva Velusamy05df4502012-02-17 10:55:03 -08008773 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8774 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008775 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008776 glContext->traceGLMessage(&glmsg);
8777}
8778
8779void GLTrace_glProgramUniform2fEXT(GLuint program, GLint location, GLfloat x, GLfloat y) {
8780 GLMessage glmsg;
8781 GLTraceContext *glContext = getGLTraceContext();
8782
8783 glmsg.set_function(GLMessage::glProgramUniform2fEXT);
8784
8785 // copy argument program
8786 GLMessage_DataType *arg_program = glmsg.add_args();
8787 arg_program->set_isarray(false);
8788 arg_program->set_type(GLMessage::DataType::INT);
8789 arg_program->add_intvalue(program);
8790
8791 // copy argument location
8792 GLMessage_DataType *arg_location = glmsg.add_args();
8793 arg_location->set_isarray(false);
8794 arg_location->set_type(GLMessage::DataType::INT);
8795 arg_location->add_intvalue(location);
8796
8797 // copy argument x
8798 GLMessage_DataType *arg_x = glmsg.add_args();
8799 arg_x->set_isarray(false);
8800 arg_x->set_type(GLMessage::DataType::FLOAT);
8801 arg_x->add_floatvalue(x);
8802
8803 // copy argument y
8804 GLMessage_DataType *arg_y = glmsg.add_args();
8805 arg_y->set_isarray(false);
8806 arg_y->set_type(GLMessage::DataType::FLOAT);
8807 arg_y->add_floatvalue(y);
8808
8809 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008810 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8811 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008812 glContext->hooks->gl.glProgramUniform2fEXT(program, location, x, y);
Siva Velusamy05df4502012-02-17 10:55:03 -08008813 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8814 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008815
Siva Velusamy98011422012-02-27 12:02:47 -08008816 void *pointerArgs[] = {
8817 };
8818
Siva Velusamy05df4502012-02-17 10:55:03 -08008819 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8820 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008821 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008822 glContext->traceGLMessage(&glmsg);
8823}
8824
8825void GLTrace_glProgramUniform3fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z) {
8826 GLMessage glmsg;
8827 GLTraceContext *glContext = getGLTraceContext();
8828
8829 glmsg.set_function(GLMessage::glProgramUniform3fEXT);
8830
8831 // copy argument program
8832 GLMessage_DataType *arg_program = glmsg.add_args();
8833 arg_program->set_isarray(false);
8834 arg_program->set_type(GLMessage::DataType::INT);
8835 arg_program->add_intvalue(program);
8836
8837 // copy argument location
8838 GLMessage_DataType *arg_location = glmsg.add_args();
8839 arg_location->set_isarray(false);
8840 arg_location->set_type(GLMessage::DataType::INT);
8841 arg_location->add_intvalue(location);
8842
8843 // copy argument x
8844 GLMessage_DataType *arg_x = glmsg.add_args();
8845 arg_x->set_isarray(false);
8846 arg_x->set_type(GLMessage::DataType::FLOAT);
8847 arg_x->add_floatvalue(x);
8848
8849 // copy argument y
8850 GLMessage_DataType *arg_y = glmsg.add_args();
8851 arg_y->set_isarray(false);
8852 arg_y->set_type(GLMessage::DataType::FLOAT);
8853 arg_y->add_floatvalue(y);
8854
8855 // copy argument z
8856 GLMessage_DataType *arg_z = glmsg.add_args();
8857 arg_z->set_isarray(false);
8858 arg_z->set_type(GLMessage::DataType::FLOAT);
8859 arg_z->add_floatvalue(z);
8860
8861 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008862 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8863 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008864 glContext->hooks->gl.glProgramUniform3fEXT(program, location, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -08008865 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8866 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008867
Siva Velusamy98011422012-02-27 12:02:47 -08008868 void *pointerArgs[] = {
8869 };
8870
Siva Velusamy05df4502012-02-17 10:55:03 -08008871 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8872 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008873 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008874 glContext->traceGLMessage(&glmsg);
8875}
8876
8877void GLTrace_glProgramUniform4fEXT(GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) {
8878 GLMessage glmsg;
8879 GLTraceContext *glContext = getGLTraceContext();
8880
8881 glmsg.set_function(GLMessage::glProgramUniform4fEXT);
8882
8883 // copy argument program
8884 GLMessage_DataType *arg_program = glmsg.add_args();
8885 arg_program->set_isarray(false);
8886 arg_program->set_type(GLMessage::DataType::INT);
8887 arg_program->add_intvalue(program);
8888
8889 // copy argument location
8890 GLMessage_DataType *arg_location = glmsg.add_args();
8891 arg_location->set_isarray(false);
8892 arg_location->set_type(GLMessage::DataType::INT);
8893 arg_location->add_intvalue(location);
8894
8895 // copy argument x
8896 GLMessage_DataType *arg_x = glmsg.add_args();
8897 arg_x->set_isarray(false);
8898 arg_x->set_type(GLMessage::DataType::FLOAT);
8899 arg_x->add_floatvalue(x);
8900
8901 // copy argument y
8902 GLMessage_DataType *arg_y = glmsg.add_args();
8903 arg_y->set_isarray(false);
8904 arg_y->set_type(GLMessage::DataType::FLOAT);
8905 arg_y->add_floatvalue(y);
8906
8907 // copy argument z
8908 GLMessage_DataType *arg_z = glmsg.add_args();
8909 arg_z->set_isarray(false);
8910 arg_z->set_type(GLMessage::DataType::FLOAT);
8911 arg_z->add_floatvalue(z);
8912
8913 // copy argument w
8914 GLMessage_DataType *arg_w = glmsg.add_args();
8915 arg_w->set_isarray(false);
8916 arg_w->set_type(GLMessage::DataType::FLOAT);
8917 arg_w->add_floatvalue(w);
8918
8919 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008920 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8921 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008922 glContext->hooks->gl.glProgramUniform4fEXT(program, location, x, y, z, w);
Siva Velusamy05df4502012-02-17 10:55:03 -08008923 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8924 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008925
Siva Velusamy98011422012-02-27 12:02:47 -08008926 void *pointerArgs[] = {
8927 };
8928
Siva Velusamy05df4502012-02-17 10:55:03 -08008929 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8930 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008931 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008932 glContext->traceGLMessage(&glmsg);
8933}
8934
8935void GLTrace_glProgramUniform1ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value) {
8936 GLMessage glmsg;
8937 GLTraceContext *glContext = getGLTraceContext();
8938
8939 glmsg.set_function(GLMessage::glProgramUniform1ivEXT);
8940
8941 // copy argument program
8942 GLMessage_DataType *arg_program = glmsg.add_args();
8943 arg_program->set_isarray(false);
8944 arg_program->set_type(GLMessage::DataType::INT);
8945 arg_program->add_intvalue(program);
8946
8947 // copy argument location
8948 GLMessage_DataType *arg_location = glmsg.add_args();
8949 arg_location->set_isarray(false);
8950 arg_location->set_type(GLMessage::DataType::INT);
8951 arg_location->add_intvalue(location);
8952
8953 // copy argument count
8954 GLMessage_DataType *arg_count = glmsg.add_args();
8955 arg_count->set_isarray(false);
8956 arg_count->set_type(GLMessage::DataType::INT);
8957 arg_count->add_intvalue(count);
8958
8959 // copy argument value
8960 GLMessage_DataType *arg_value = glmsg.add_args();
8961 arg_value->set_isarray(false);
8962 arg_value->set_type(GLMessage::DataType::INT);
8963 arg_value->add_intvalue((int)value);
8964
8965 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08008966 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
8967 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08008968 glContext->hooks->gl.glProgramUniform1ivEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08008969 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
8970 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08008971
Siva Velusamy98011422012-02-27 12:02:47 -08008972 void *pointerArgs[] = {
8973 (void *) value,
8974 };
8975
Siva Velusamy05df4502012-02-17 10:55:03 -08008976 fixupGLMessage(glContext, wallStartTime, wallEndTime,
8977 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08008978 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08008979 glContext->traceGLMessage(&glmsg);
8980}
8981
8982void GLTrace_glProgramUniform2ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value) {
8983 GLMessage glmsg;
8984 GLTraceContext *glContext = getGLTraceContext();
8985
8986 glmsg.set_function(GLMessage::glProgramUniform2ivEXT);
8987
8988 // copy argument program
8989 GLMessage_DataType *arg_program = glmsg.add_args();
8990 arg_program->set_isarray(false);
8991 arg_program->set_type(GLMessage::DataType::INT);
8992 arg_program->add_intvalue(program);
8993
8994 // copy argument location
8995 GLMessage_DataType *arg_location = glmsg.add_args();
8996 arg_location->set_isarray(false);
8997 arg_location->set_type(GLMessage::DataType::INT);
8998 arg_location->add_intvalue(location);
8999
9000 // copy argument count
9001 GLMessage_DataType *arg_count = glmsg.add_args();
9002 arg_count->set_isarray(false);
9003 arg_count->set_type(GLMessage::DataType::INT);
9004 arg_count->add_intvalue(count);
9005
9006 // copy argument value
9007 GLMessage_DataType *arg_value = glmsg.add_args();
9008 arg_value->set_isarray(false);
9009 arg_value->set_type(GLMessage::DataType::INT);
9010 arg_value->add_intvalue((int)value);
9011
9012 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009013 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9014 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009015 glContext->hooks->gl.glProgramUniform2ivEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009016 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9017 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009018
Siva Velusamy98011422012-02-27 12:02:47 -08009019 void *pointerArgs[] = {
9020 (void *) value,
9021 };
9022
Siva Velusamy05df4502012-02-17 10:55:03 -08009023 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9024 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009025 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009026 glContext->traceGLMessage(&glmsg);
9027}
9028
9029void GLTrace_glProgramUniform3ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value) {
9030 GLMessage glmsg;
9031 GLTraceContext *glContext = getGLTraceContext();
9032
9033 glmsg.set_function(GLMessage::glProgramUniform3ivEXT);
9034
9035 // copy argument program
9036 GLMessage_DataType *arg_program = glmsg.add_args();
9037 arg_program->set_isarray(false);
9038 arg_program->set_type(GLMessage::DataType::INT);
9039 arg_program->add_intvalue(program);
9040
9041 // copy argument location
9042 GLMessage_DataType *arg_location = glmsg.add_args();
9043 arg_location->set_isarray(false);
9044 arg_location->set_type(GLMessage::DataType::INT);
9045 arg_location->add_intvalue(location);
9046
9047 // copy argument count
9048 GLMessage_DataType *arg_count = glmsg.add_args();
9049 arg_count->set_isarray(false);
9050 arg_count->set_type(GLMessage::DataType::INT);
9051 arg_count->add_intvalue(count);
9052
9053 // copy argument value
9054 GLMessage_DataType *arg_value = glmsg.add_args();
9055 arg_value->set_isarray(false);
9056 arg_value->set_type(GLMessage::DataType::INT);
9057 arg_value->add_intvalue((int)value);
9058
9059 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009060 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9061 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009062 glContext->hooks->gl.glProgramUniform3ivEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009063 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9064 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009065
Siva Velusamy98011422012-02-27 12:02:47 -08009066 void *pointerArgs[] = {
9067 (void *) value,
9068 };
9069
Siva Velusamy05df4502012-02-17 10:55:03 -08009070 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9071 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009072 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009073 glContext->traceGLMessage(&glmsg);
9074}
9075
9076void GLTrace_glProgramUniform4ivEXT(GLuint program, GLint location, GLsizei count, const GLint *value) {
9077 GLMessage glmsg;
9078 GLTraceContext *glContext = getGLTraceContext();
9079
9080 glmsg.set_function(GLMessage::glProgramUniform4ivEXT);
9081
9082 // copy argument program
9083 GLMessage_DataType *arg_program = glmsg.add_args();
9084 arg_program->set_isarray(false);
9085 arg_program->set_type(GLMessage::DataType::INT);
9086 arg_program->add_intvalue(program);
9087
9088 // copy argument location
9089 GLMessage_DataType *arg_location = glmsg.add_args();
9090 arg_location->set_isarray(false);
9091 arg_location->set_type(GLMessage::DataType::INT);
9092 arg_location->add_intvalue(location);
9093
9094 // copy argument count
9095 GLMessage_DataType *arg_count = glmsg.add_args();
9096 arg_count->set_isarray(false);
9097 arg_count->set_type(GLMessage::DataType::INT);
9098 arg_count->add_intvalue(count);
9099
9100 // copy argument value
9101 GLMessage_DataType *arg_value = glmsg.add_args();
9102 arg_value->set_isarray(false);
9103 arg_value->set_type(GLMessage::DataType::INT);
9104 arg_value->add_intvalue((int)value);
9105
9106 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009107 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9108 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009109 glContext->hooks->gl.glProgramUniform4ivEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009110 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9111 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009112
Siva Velusamy98011422012-02-27 12:02:47 -08009113 void *pointerArgs[] = {
9114 (void *) value,
9115 };
9116
Siva Velusamy05df4502012-02-17 10:55:03 -08009117 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9118 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009119 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009120 glContext->traceGLMessage(&glmsg);
9121}
9122
9123void GLTrace_glProgramUniform1fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
9124 GLMessage glmsg;
9125 GLTraceContext *glContext = getGLTraceContext();
9126
9127 glmsg.set_function(GLMessage::glProgramUniform1fvEXT);
9128
9129 // copy argument program
9130 GLMessage_DataType *arg_program = glmsg.add_args();
9131 arg_program->set_isarray(false);
9132 arg_program->set_type(GLMessage::DataType::INT);
9133 arg_program->add_intvalue(program);
9134
9135 // copy argument location
9136 GLMessage_DataType *arg_location = glmsg.add_args();
9137 arg_location->set_isarray(false);
9138 arg_location->set_type(GLMessage::DataType::INT);
9139 arg_location->add_intvalue(location);
9140
9141 // copy argument count
9142 GLMessage_DataType *arg_count = glmsg.add_args();
9143 arg_count->set_isarray(false);
9144 arg_count->set_type(GLMessage::DataType::INT);
9145 arg_count->add_intvalue(count);
9146
9147 // copy argument value
9148 GLMessage_DataType *arg_value = glmsg.add_args();
9149 arg_value->set_isarray(false);
9150 arg_value->set_type(GLMessage::DataType::INT);
9151 arg_value->add_intvalue((int)value);
9152
9153 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009154 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9155 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009156 glContext->hooks->gl.glProgramUniform1fvEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009157 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9158 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009159
Siva Velusamy98011422012-02-27 12:02:47 -08009160 void *pointerArgs[] = {
9161 (void *) value,
9162 };
9163
Siva Velusamy05df4502012-02-17 10:55:03 -08009164 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9165 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009166 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009167 glContext->traceGLMessage(&glmsg);
9168}
9169
9170void GLTrace_glProgramUniform2fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
9171 GLMessage glmsg;
9172 GLTraceContext *glContext = getGLTraceContext();
9173
9174 glmsg.set_function(GLMessage::glProgramUniform2fvEXT);
9175
9176 // copy argument program
9177 GLMessage_DataType *arg_program = glmsg.add_args();
9178 arg_program->set_isarray(false);
9179 arg_program->set_type(GLMessage::DataType::INT);
9180 arg_program->add_intvalue(program);
9181
9182 // copy argument location
9183 GLMessage_DataType *arg_location = glmsg.add_args();
9184 arg_location->set_isarray(false);
9185 arg_location->set_type(GLMessage::DataType::INT);
9186 arg_location->add_intvalue(location);
9187
9188 // copy argument count
9189 GLMessage_DataType *arg_count = glmsg.add_args();
9190 arg_count->set_isarray(false);
9191 arg_count->set_type(GLMessage::DataType::INT);
9192 arg_count->add_intvalue(count);
9193
9194 // copy argument value
9195 GLMessage_DataType *arg_value = glmsg.add_args();
9196 arg_value->set_isarray(false);
9197 arg_value->set_type(GLMessage::DataType::INT);
9198 arg_value->add_intvalue((int)value);
9199
9200 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009201 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9202 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009203 glContext->hooks->gl.glProgramUniform2fvEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009204 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9205 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009206
Siva Velusamy98011422012-02-27 12:02:47 -08009207 void *pointerArgs[] = {
9208 (void *) value,
9209 };
9210
Siva Velusamy05df4502012-02-17 10:55:03 -08009211 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9212 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009213 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009214 glContext->traceGLMessage(&glmsg);
9215}
9216
9217void GLTrace_glProgramUniform3fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
9218 GLMessage glmsg;
9219 GLTraceContext *glContext = getGLTraceContext();
9220
9221 glmsg.set_function(GLMessage::glProgramUniform3fvEXT);
9222
9223 // copy argument program
9224 GLMessage_DataType *arg_program = glmsg.add_args();
9225 arg_program->set_isarray(false);
9226 arg_program->set_type(GLMessage::DataType::INT);
9227 arg_program->add_intvalue(program);
9228
9229 // copy argument location
9230 GLMessage_DataType *arg_location = glmsg.add_args();
9231 arg_location->set_isarray(false);
9232 arg_location->set_type(GLMessage::DataType::INT);
9233 arg_location->add_intvalue(location);
9234
9235 // copy argument count
9236 GLMessage_DataType *arg_count = glmsg.add_args();
9237 arg_count->set_isarray(false);
9238 arg_count->set_type(GLMessage::DataType::INT);
9239 arg_count->add_intvalue(count);
9240
9241 // copy argument value
9242 GLMessage_DataType *arg_value = glmsg.add_args();
9243 arg_value->set_isarray(false);
9244 arg_value->set_type(GLMessage::DataType::INT);
9245 arg_value->add_intvalue((int)value);
9246
9247 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009248 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9249 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009250 glContext->hooks->gl.glProgramUniform3fvEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009251 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9252 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009253
Siva Velusamy98011422012-02-27 12:02:47 -08009254 void *pointerArgs[] = {
9255 (void *) value,
9256 };
9257
Siva Velusamy05df4502012-02-17 10:55:03 -08009258 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9259 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009260 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009261 glContext->traceGLMessage(&glmsg);
9262}
9263
9264void GLTrace_glProgramUniform4fvEXT(GLuint program, GLint location, GLsizei count, const GLfloat *value) {
9265 GLMessage glmsg;
9266 GLTraceContext *glContext = getGLTraceContext();
9267
9268 glmsg.set_function(GLMessage::glProgramUniform4fvEXT);
9269
9270 // copy argument program
9271 GLMessage_DataType *arg_program = glmsg.add_args();
9272 arg_program->set_isarray(false);
9273 arg_program->set_type(GLMessage::DataType::INT);
9274 arg_program->add_intvalue(program);
9275
9276 // copy argument location
9277 GLMessage_DataType *arg_location = glmsg.add_args();
9278 arg_location->set_isarray(false);
9279 arg_location->set_type(GLMessage::DataType::INT);
9280 arg_location->add_intvalue(location);
9281
9282 // copy argument count
9283 GLMessage_DataType *arg_count = glmsg.add_args();
9284 arg_count->set_isarray(false);
9285 arg_count->set_type(GLMessage::DataType::INT);
9286 arg_count->add_intvalue(count);
9287
9288 // copy argument value
9289 GLMessage_DataType *arg_value = glmsg.add_args();
9290 arg_value->set_isarray(false);
9291 arg_value->set_type(GLMessage::DataType::INT);
9292 arg_value->add_intvalue((int)value);
9293
9294 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009295 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9296 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009297 glContext->hooks->gl.glProgramUniform4fvEXT(program, location, count, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009298 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9299 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009300
Siva Velusamy98011422012-02-27 12:02:47 -08009301 void *pointerArgs[] = {
9302 (void *) value,
9303 };
9304
Siva Velusamy05df4502012-02-17 10:55:03 -08009305 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9306 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009307 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009308 glContext->traceGLMessage(&glmsg);
9309}
9310
9311void GLTrace_glProgramUniformMatrix2fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
9312 GLMessage glmsg;
9313 GLTraceContext *glContext = getGLTraceContext();
9314
9315 glmsg.set_function(GLMessage::glProgramUniformMatrix2fvEXT);
9316
9317 // copy argument program
9318 GLMessage_DataType *arg_program = glmsg.add_args();
9319 arg_program->set_isarray(false);
9320 arg_program->set_type(GLMessage::DataType::INT);
9321 arg_program->add_intvalue(program);
9322
9323 // copy argument location
9324 GLMessage_DataType *arg_location = glmsg.add_args();
9325 arg_location->set_isarray(false);
9326 arg_location->set_type(GLMessage::DataType::INT);
9327 arg_location->add_intvalue(location);
9328
9329 // copy argument count
9330 GLMessage_DataType *arg_count = glmsg.add_args();
9331 arg_count->set_isarray(false);
9332 arg_count->set_type(GLMessage::DataType::INT);
9333 arg_count->add_intvalue(count);
9334
9335 // copy argument transpose
9336 GLMessage_DataType *arg_transpose = glmsg.add_args();
9337 arg_transpose->set_isarray(false);
9338 arg_transpose->set_type(GLMessage::DataType::BOOL);
9339 arg_transpose->add_boolvalue(transpose);
9340
9341 // copy argument value
9342 GLMessage_DataType *arg_value = glmsg.add_args();
9343 arg_value->set_isarray(false);
9344 arg_value->set_type(GLMessage::DataType::INT);
9345 arg_value->add_intvalue((int)value);
9346
9347 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009348 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9349 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009350 glContext->hooks->gl.glProgramUniformMatrix2fvEXT(program, location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009351 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9352 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009353
Siva Velusamy98011422012-02-27 12:02:47 -08009354 void *pointerArgs[] = {
9355 (void *) value,
9356 };
9357
Siva Velusamy05df4502012-02-17 10:55:03 -08009358 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9359 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009360 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009361 glContext->traceGLMessage(&glmsg);
9362}
9363
9364void GLTrace_glProgramUniformMatrix3fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
9365 GLMessage glmsg;
9366 GLTraceContext *glContext = getGLTraceContext();
9367
9368 glmsg.set_function(GLMessage::glProgramUniformMatrix3fvEXT);
9369
9370 // copy argument program
9371 GLMessage_DataType *arg_program = glmsg.add_args();
9372 arg_program->set_isarray(false);
9373 arg_program->set_type(GLMessage::DataType::INT);
9374 arg_program->add_intvalue(program);
9375
9376 // copy argument location
9377 GLMessage_DataType *arg_location = glmsg.add_args();
9378 arg_location->set_isarray(false);
9379 arg_location->set_type(GLMessage::DataType::INT);
9380 arg_location->add_intvalue(location);
9381
9382 // copy argument count
9383 GLMessage_DataType *arg_count = glmsg.add_args();
9384 arg_count->set_isarray(false);
9385 arg_count->set_type(GLMessage::DataType::INT);
9386 arg_count->add_intvalue(count);
9387
9388 // copy argument transpose
9389 GLMessage_DataType *arg_transpose = glmsg.add_args();
9390 arg_transpose->set_isarray(false);
9391 arg_transpose->set_type(GLMessage::DataType::BOOL);
9392 arg_transpose->add_boolvalue(transpose);
9393
9394 // copy argument value
9395 GLMessage_DataType *arg_value = glmsg.add_args();
9396 arg_value->set_isarray(false);
9397 arg_value->set_type(GLMessage::DataType::INT);
9398 arg_value->add_intvalue((int)value);
9399
9400 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009401 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9402 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009403 glContext->hooks->gl.glProgramUniformMatrix3fvEXT(program, location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009404 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9405 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009406
Siva Velusamy98011422012-02-27 12:02:47 -08009407 void *pointerArgs[] = {
9408 (void *) value,
9409 };
9410
Siva Velusamy05df4502012-02-17 10:55:03 -08009411 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9412 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009413 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009414 glContext->traceGLMessage(&glmsg);
9415}
9416
9417void GLTrace_glProgramUniformMatrix4fvEXT(GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) {
9418 GLMessage glmsg;
9419 GLTraceContext *glContext = getGLTraceContext();
9420
9421 glmsg.set_function(GLMessage::glProgramUniformMatrix4fvEXT);
9422
9423 // copy argument program
9424 GLMessage_DataType *arg_program = glmsg.add_args();
9425 arg_program->set_isarray(false);
9426 arg_program->set_type(GLMessage::DataType::INT);
9427 arg_program->add_intvalue(program);
9428
9429 // copy argument location
9430 GLMessage_DataType *arg_location = glmsg.add_args();
9431 arg_location->set_isarray(false);
9432 arg_location->set_type(GLMessage::DataType::INT);
9433 arg_location->add_intvalue(location);
9434
9435 // copy argument count
9436 GLMessage_DataType *arg_count = glmsg.add_args();
9437 arg_count->set_isarray(false);
9438 arg_count->set_type(GLMessage::DataType::INT);
9439 arg_count->add_intvalue(count);
9440
9441 // copy argument transpose
9442 GLMessage_DataType *arg_transpose = glmsg.add_args();
9443 arg_transpose->set_isarray(false);
9444 arg_transpose->set_type(GLMessage::DataType::BOOL);
9445 arg_transpose->add_boolvalue(transpose);
9446
9447 // copy argument value
9448 GLMessage_DataType *arg_value = glmsg.add_args();
9449 arg_value->set_isarray(false);
9450 arg_value->set_type(GLMessage::DataType::INT);
9451 arg_value->add_intvalue((int)value);
9452
9453 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009454 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9455 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009456 glContext->hooks->gl.glProgramUniformMatrix4fvEXT(program, location, count, transpose, value);
Siva Velusamy05df4502012-02-17 10:55:03 -08009457 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9458 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009459
Siva Velusamy98011422012-02-27 12:02:47 -08009460 void *pointerArgs[] = {
9461 (void *) value,
9462 };
9463
Siva Velusamy05df4502012-02-17 10:55:03 -08009464 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9465 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009466 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009467 glContext->traceGLMessage(&glmsg);
9468}
9469
9470void GLTrace_glValidateProgramPipelineEXT(GLuint pipeline) {
9471 GLMessage glmsg;
9472 GLTraceContext *glContext = getGLTraceContext();
9473
9474 glmsg.set_function(GLMessage::glValidateProgramPipelineEXT);
9475
9476 // copy argument pipeline
9477 GLMessage_DataType *arg_pipeline = glmsg.add_args();
9478 arg_pipeline->set_isarray(false);
9479 arg_pipeline->set_type(GLMessage::DataType::INT);
9480 arg_pipeline->add_intvalue(pipeline);
9481
9482 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009483 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9484 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009485 glContext->hooks->gl.glValidateProgramPipelineEXT(pipeline);
Siva Velusamy05df4502012-02-17 10:55:03 -08009486 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9487 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009488
Siva Velusamy98011422012-02-27 12:02:47 -08009489 void *pointerArgs[] = {
9490 };
9491
Siva Velusamy05df4502012-02-17 10:55:03 -08009492 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9493 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009494 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009495 glContext->traceGLMessage(&glmsg);
9496}
9497
9498void GLTrace_glGetProgramPipelineInfoLogEXT(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog) {
9499 GLMessage glmsg;
9500 GLTraceContext *glContext = getGLTraceContext();
9501
9502 glmsg.set_function(GLMessage::glGetProgramPipelineInfoLogEXT);
9503
9504 // copy argument pipeline
9505 GLMessage_DataType *arg_pipeline = glmsg.add_args();
9506 arg_pipeline->set_isarray(false);
9507 arg_pipeline->set_type(GLMessage::DataType::INT);
9508 arg_pipeline->add_intvalue(pipeline);
9509
9510 // copy argument bufSize
9511 GLMessage_DataType *arg_bufSize = glmsg.add_args();
9512 arg_bufSize->set_isarray(false);
9513 arg_bufSize->set_type(GLMessage::DataType::INT);
9514 arg_bufSize->add_intvalue(bufSize);
9515
9516 // copy argument length
9517 GLMessage_DataType *arg_length = glmsg.add_args();
9518 arg_length->set_isarray(false);
9519 arg_length->set_type(GLMessage::DataType::INT);
9520 arg_length->add_intvalue((int)length);
9521
9522 // copy argument infoLog
9523 GLMessage_DataType *arg_infoLog = glmsg.add_args();
9524 arg_infoLog->set_isarray(false);
9525 arg_infoLog->set_type(GLMessage::DataType::INT);
9526 arg_infoLog->add_intvalue((int)infoLog);
9527
9528 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009529 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9530 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009531 glContext->hooks->gl.glGetProgramPipelineInfoLogEXT(pipeline, bufSize, length, infoLog);
Siva Velusamy05df4502012-02-17 10:55:03 -08009532 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9533 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009534
Siva Velusamy98011422012-02-27 12:02:47 -08009535 void *pointerArgs[] = {
9536 (void *) length,
9537 (void *) infoLog,
9538 };
9539
Siva Velusamy05df4502012-02-17 10:55:03 -08009540 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9541 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009542 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009543 glContext->traceGLMessage(&glmsg);
9544}
9545
9546void GLTrace_glTexStorage1DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) {
9547 GLMessage glmsg;
9548 GLTraceContext *glContext = getGLTraceContext();
9549
9550 glmsg.set_function(GLMessage::glTexStorage1DEXT);
9551
9552 // copy argument target
9553 GLMessage_DataType *arg_target = glmsg.add_args();
9554 arg_target->set_isarray(false);
9555 arg_target->set_type(GLMessage::DataType::ENUM);
9556 arg_target->add_intvalue((int)target);
9557
9558 // copy argument levels
9559 GLMessage_DataType *arg_levels = glmsg.add_args();
9560 arg_levels->set_isarray(false);
9561 arg_levels->set_type(GLMessage::DataType::INT);
9562 arg_levels->add_intvalue(levels);
9563
9564 // copy argument internalformat
9565 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9566 arg_internalformat->set_isarray(false);
9567 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9568 arg_internalformat->add_intvalue((int)internalformat);
9569
9570 // copy argument width
9571 GLMessage_DataType *arg_width = glmsg.add_args();
9572 arg_width->set_isarray(false);
9573 arg_width->set_type(GLMessage::DataType::INT);
9574 arg_width->add_intvalue(width);
9575
9576 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009577 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9578 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009579 glContext->hooks->gl.glTexStorage1DEXT(target, levels, internalformat, width);
Siva Velusamy05df4502012-02-17 10:55:03 -08009580 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9581 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009582
Siva Velusamy98011422012-02-27 12:02:47 -08009583 void *pointerArgs[] = {
9584 };
9585
Siva Velusamy05df4502012-02-17 10:55:03 -08009586 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9587 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009588 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009589 glContext->traceGLMessage(&glmsg);
9590}
9591
9592void GLTrace_glTexStorage2DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) {
9593 GLMessage glmsg;
9594 GLTraceContext *glContext = getGLTraceContext();
9595
9596 glmsg.set_function(GLMessage::glTexStorage2DEXT);
9597
9598 // copy argument target
9599 GLMessage_DataType *arg_target = glmsg.add_args();
9600 arg_target->set_isarray(false);
9601 arg_target->set_type(GLMessage::DataType::ENUM);
9602 arg_target->add_intvalue((int)target);
9603
9604 // copy argument levels
9605 GLMessage_DataType *arg_levels = glmsg.add_args();
9606 arg_levels->set_isarray(false);
9607 arg_levels->set_type(GLMessage::DataType::INT);
9608 arg_levels->add_intvalue(levels);
9609
9610 // copy argument internalformat
9611 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9612 arg_internalformat->set_isarray(false);
9613 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9614 arg_internalformat->add_intvalue((int)internalformat);
9615
9616 // copy argument width
9617 GLMessage_DataType *arg_width = glmsg.add_args();
9618 arg_width->set_isarray(false);
9619 arg_width->set_type(GLMessage::DataType::INT);
9620 arg_width->add_intvalue(width);
9621
9622 // copy argument height
9623 GLMessage_DataType *arg_height = glmsg.add_args();
9624 arg_height->set_isarray(false);
9625 arg_height->set_type(GLMessage::DataType::INT);
9626 arg_height->add_intvalue(height);
9627
9628 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009629 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9630 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009631 glContext->hooks->gl.glTexStorage2DEXT(target, levels, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08009632 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9633 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009634
Siva Velusamy98011422012-02-27 12:02:47 -08009635 void *pointerArgs[] = {
9636 };
9637
Siva Velusamy05df4502012-02-17 10:55:03 -08009638 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9639 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009640 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009641 glContext->traceGLMessage(&glmsg);
9642}
9643
9644void GLTrace_glTexStorage3DEXT(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) {
9645 GLMessage glmsg;
9646 GLTraceContext *glContext = getGLTraceContext();
9647
9648 glmsg.set_function(GLMessage::glTexStorage3DEXT);
9649
9650 // copy argument target
9651 GLMessage_DataType *arg_target = glmsg.add_args();
9652 arg_target->set_isarray(false);
9653 arg_target->set_type(GLMessage::DataType::ENUM);
9654 arg_target->add_intvalue((int)target);
9655
9656 // copy argument levels
9657 GLMessage_DataType *arg_levels = glmsg.add_args();
9658 arg_levels->set_isarray(false);
9659 arg_levels->set_type(GLMessage::DataType::INT);
9660 arg_levels->add_intvalue(levels);
9661
9662 // copy argument internalformat
9663 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9664 arg_internalformat->set_isarray(false);
9665 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9666 arg_internalformat->add_intvalue((int)internalformat);
9667
9668 // copy argument width
9669 GLMessage_DataType *arg_width = glmsg.add_args();
9670 arg_width->set_isarray(false);
9671 arg_width->set_type(GLMessage::DataType::INT);
9672 arg_width->add_intvalue(width);
9673
9674 // copy argument height
9675 GLMessage_DataType *arg_height = glmsg.add_args();
9676 arg_height->set_isarray(false);
9677 arg_height->set_type(GLMessage::DataType::INT);
9678 arg_height->add_intvalue(height);
9679
9680 // copy argument depth
9681 GLMessage_DataType *arg_depth = glmsg.add_args();
9682 arg_depth->set_isarray(false);
9683 arg_depth->set_type(GLMessage::DataType::INT);
9684 arg_depth->add_intvalue(depth);
9685
9686 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009687 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9688 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009689 glContext->hooks->gl.glTexStorage3DEXT(target, levels, internalformat, width, height, depth);
Siva Velusamy05df4502012-02-17 10:55:03 -08009690 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9691 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009692
Siva Velusamy98011422012-02-27 12:02:47 -08009693 void *pointerArgs[] = {
9694 };
9695
Siva Velusamy05df4502012-02-17 10:55:03 -08009696 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9697 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009698 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009699 glContext->traceGLMessage(&glmsg);
9700}
9701
9702void GLTrace_glTextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width) {
9703 GLMessage glmsg;
9704 GLTraceContext *glContext = getGLTraceContext();
9705
9706 glmsg.set_function(GLMessage::glTextureStorage1DEXT);
9707
9708 // copy argument texture
9709 GLMessage_DataType *arg_texture = glmsg.add_args();
9710 arg_texture->set_isarray(false);
9711 arg_texture->set_type(GLMessage::DataType::INT);
9712 arg_texture->add_intvalue(texture);
9713
9714 // copy argument target
9715 GLMessage_DataType *arg_target = glmsg.add_args();
9716 arg_target->set_isarray(false);
9717 arg_target->set_type(GLMessage::DataType::ENUM);
9718 arg_target->add_intvalue((int)target);
9719
9720 // copy argument levels
9721 GLMessage_DataType *arg_levels = glmsg.add_args();
9722 arg_levels->set_isarray(false);
9723 arg_levels->set_type(GLMessage::DataType::INT);
9724 arg_levels->add_intvalue(levels);
9725
9726 // copy argument internalformat
9727 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9728 arg_internalformat->set_isarray(false);
9729 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9730 arg_internalformat->add_intvalue((int)internalformat);
9731
9732 // copy argument width
9733 GLMessage_DataType *arg_width = glmsg.add_args();
9734 arg_width->set_isarray(false);
9735 arg_width->set_type(GLMessage::DataType::INT);
9736 arg_width->add_intvalue(width);
9737
9738 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009739 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9740 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009741 glContext->hooks->gl.glTextureStorage1DEXT(texture, target, levels, internalformat, width);
Siva Velusamy05df4502012-02-17 10:55:03 -08009742 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9743 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009744
Siva Velusamy98011422012-02-27 12:02:47 -08009745 void *pointerArgs[] = {
9746 };
9747
Siva Velusamy05df4502012-02-17 10:55:03 -08009748 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9749 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009750 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009751 glContext->traceGLMessage(&glmsg);
9752}
9753
9754void GLTrace_glTextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height) {
9755 GLMessage glmsg;
9756 GLTraceContext *glContext = getGLTraceContext();
9757
9758 glmsg.set_function(GLMessage::glTextureStorage2DEXT);
9759
9760 // copy argument texture
9761 GLMessage_DataType *arg_texture = glmsg.add_args();
9762 arg_texture->set_isarray(false);
9763 arg_texture->set_type(GLMessage::DataType::INT);
9764 arg_texture->add_intvalue(texture);
9765
9766 // copy argument target
9767 GLMessage_DataType *arg_target = glmsg.add_args();
9768 arg_target->set_isarray(false);
9769 arg_target->set_type(GLMessage::DataType::ENUM);
9770 arg_target->add_intvalue((int)target);
9771
9772 // copy argument levels
9773 GLMessage_DataType *arg_levels = glmsg.add_args();
9774 arg_levels->set_isarray(false);
9775 arg_levels->set_type(GLMessage::DataType::INT);
9776 arg_levels->add_intvalue(levels);
9777
9778 // copy argument internalformat
9779 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9780 arg_internalformat->set_isarray(false);
9781 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9782 arg_internalformat->add_intvalue((int)internalformat);
9783
9784 // copy argument width
9785 GLMessage_DataType *arg_width = glmsg.add_args();
9786 arg_width->set_isarray(false);
9787 arg_width->set_type(GLMessage::DataType::INT);
9788 arg_width->add_intvalue(width);
9789
9790 // copy argument height
9791 GLMessage_DataType *arg_height = glmsg.add_args();
9792 arg_height->set_isarray(false);
9793 arg_height->set_type(GLMessage::DataType::INT);
9794 arg_height->add_intvalue(height);
9795
9796 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009797 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9798 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009799 glContext->hooks->gl.glTextureStorage2DEXT(texture, target, levels, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08009800 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9801 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009802
Siva Velusamy98011422012-02-27 12:02:47 -08009803 void *pointerArgs[] = {
9804 };
9805
Siva Velusamy05df4502012-02-17 10:55:03 -08009806 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9807 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009808 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009809 glContext->traceGLMessage(&glmsg);
9810}
9811
9812void GLTrace_glTextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth) {
9813 GLMessage glmsg;
9814 GLTraceContext *glContext = getGLTraceContext();
9815
9816 glmsg.set_function(GLMessage::glTextureStorage3DEXT);
9817
9818 // copy argument texture
9819 GLMessage_DataType *arg_texture = glmsg.add_args();
9820 arg_texture->set_isarray(false);
9821 arg_texture->set_type(GLMessage::DataType::INT);
9822 arg_texture->add_intvalue(texture);
9823
9824 // copy argument target
9825 GLMessage_DataType *arg_target = glmsg.add_args();
9826 arg_target->set_isarray(false);
9827 arg_target->set_type(GLMessage::DataType::ENUM);
9828 arg_target->add_intvalue((int)target);
9829
9830 // copy argument levels
9831 GLMessage_DataType *arg_levels = glmsg.add_args();
9832 arg_levels->set_isarray(false);
9833 arg_levels->set_type(GLMessage::DataType::INT);
9834 arg_levels->add_intvalue(levels);
9835
9836 // copy argument internalformat
9837 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9838 arg_internalformat->set_isarray(false);
9839 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9840 arg_internalformat->add_intvalue((int)internalformat);
9841
9842 // copy argument width
9843 GLMessage_DataType *arg_width = glmsg.add_args();
9844 arg_width->set_isarray(false);
9845 arg_width->set_type(GLMessage::DataType::INT);
9846 arg_width->add_intvalue(width);
9847
9848 // copy argument height
9849 GLMessage_DataType *arg_height = glmsg.add_args();
9850 arg_height->set_isarray(false);
9851 arg_height->set_type(GLMessage::DataType::INT);
9852 arg_height->add_intvalue(height);
9853
9854 // copy argument depth
9855 GLMessage_DataType *arg_depth = glmsg.add_args();
9856 arg_depth->set_isarray(false);
9857 arg_depth->set_type(GLMessage::DataType::INT);
9858 arg_depth->add_intvalue(depth);
9859
9860 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009861 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9862 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -08009863 glContext->hooks->gl.glTextureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);
Siva Velusamy05df4502012-02-17 10:55:03 -08009864 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9865 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -08009866
Siva Velusamy98011422012-02-27 12:02:47 -08009867 void *pointerArgs[] = {
9868 };
9869
Siva Velusamy05df4502012-02-17 10:55:03 -08009870 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9871 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009872 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -08009873 glContext->traceGLMessage(&glmsg);
9874}
9875
Siva Velusamy0469dd62011-11-30 15:05:37 -08009876void GLTrace_glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) {
9877 GLMessage glmsg;
9878 GLTraceContext *glContext = getGLTraceContext();
9879
Siva Velusamy0469dd62011-11-30 15:05:37 -08009880 glmsg.set_function(GLMessage::glRenderbufferStorageMultisampleIMG);
9881
9882 // copy argument target
9883 GLMessage_DataType *arg_target = glmsg.add_args();
9884 arg_target->set_isarray(false);
9885 arg_target->set_type(GLMessage::DataType::ENUM);
9886 arg_target->add_intvalue((int)target);
9887
9888 // copy argument samples
9889 GLMessage_DataType *arg_samples = glmsg.add_args();
9890 arg_samples->set_isarray(false);
9891 arg_samples->set_type(GLMessage::DataType::INT);
9892 arg_samples->add_intvalue(samples);
9893
9894 // copy argument internalformat
9895 GLMessage_DataType *arg_internalformat = glmsg.add_args();
9896 arg_internalformat->set_isarray(false);
9897 arg_internalformat->set_type(GLMessage::DataType::ENUM);
9898 arg_internalformat->add_intvalue((int)internalformat);
9899
9900 // copy argument width
9901 GLMessage_DataType *arg_width = glmsg.add_args();
9902 arg_width->set_isarray(false);
9903 arg_width->set_type(GLMessage::DataType::INT);
9904 arg_width->add_intvalue(width);
9905
9906 // copy argument height
9907 GLMessage_DataType *arg_height = glmsg.add_args();
9908 arg_height->set_isarray(false);
9909 arg_height->set_type(GLMessage::DataType::INT);
9910 arg_height->add_intvalue(height);
9911
9912 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009913 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9914 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009915 glContext->hooks->gl.glRenderbufferStorageMultisampleIMG(target, samples, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -08009916 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9917 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009918
Siva Velusamy98011422012-02-27 12:02:47 -08009919 void *pointerArgs[] = {
9920 };
9921
Siva Velusamy05df4502012-02-17 10:55:03 -08009922 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9923 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009924 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08009925 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009926}
9927
9928void GLTrace_glFramebufferTexture2DMultisampleIMG(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples) {
9929 GLMessage glmsg;
9930 GLTraceContext *glContext = getGLTraceContext();
9931
Siva Velusamy0469dd62011-11-30 15:05:37 -08009932 glmsg.set_function(GLMessage::glFramebufferTexture2DMultisampleIMG);
9933
9934 // copy argument target
9935 GLMessage_DataType *arg_target = glmsg.add_args();
9936 arg_target->set_isarray(false);
9937 arg_target->set_type(GLMessage::DataType::ENUM);
9938 arg_target->add_intvalue((int)target);
9939
9940 // copy argument attachment
9941 GLMessage_DataType *arg_attachment = glmsg.add_args();
9942 arg_attachment->set_isarray(false);
9943 arg_attachment->set_type(GLMessage::DataType::ENUM);
9944 arg_attachment->add_intvalue((int)attachment);
9945
9946 // copy argument textarget
9947 GLMessage_DataType *arg_textarget = glmsg.add_args();
9948 arg_textarget->set_isarray(false);
9949 arg_textarget->set_type(GLMessage::DataType::ENUM);
9950 arg_textarget->add_intvalue((int)textarget);
9951
9952 // copy argument texture
9953 GLMessage_DataType *arg_texture = glmsg.add_args();
9954 arg_texture->set_isarray(false);
9955 arg_texture->set_type(GLMessage::DataType::INT);
9956 arg_texture->add_intvalue(texture);
9957
9958 // copy argument level
9959 GLMessage_DataType *arg_level = glmsg.add_args();
9960 arg_level->set_isarray(false);
9961 arg_level->set_type(GLMessage::DataType::INT);
9962 arg_level->add_intvalue(level);
9963
9964 // copy argument samples
9965 GLMessage_DataType *arg_samples = glmsg.add_args();
9966 arg_samples->set_isarray(false);
9967 arg_samples->set_type(GLMessage::DataType::INT);
9968 arg_samples->add_intvalue(samples);
9969
9970 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009971 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
9972 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009973 glContext->hooks->gl.glFramebufferTexture2DMultisampleIMG(target, attachment, textarget, texture, level, samples);
Siva Velusamy05df4502012-02-17 10:55:03 -08009974 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
9975 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009976
Siva Velusamy98011422012-02-27 12:02:47 -08009977 void *pointerArgs[] = {
9978 };
9979
Siva Velusamy05df4502012-02-17 10:55:03 -08009980 fixupGLMessage(glContext, wallStartTime, wallEndTime,
9981 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -08009982 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -08009983 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -08009984}
9985
Mathias Agopian31272602012-01-28 14:20:59 -08009986void GLTrace_glCoverageMaskNV(GLboolean mask) {
9987 GLMessage glmsg;
9988 GLTraceContext *glContext = getGLTraceContext();
9989
9990 glmsg.set_function(GLMessage::glCoverageMaskNV);
9991
9992 // copy argument mask
9993 GLMessage_DataType *arg_mask = glmsg.add_args();
9994 arg_mask->set_isarray(false);
9995 arg_mask->set_type(GLMessage::DataType::BOOL);
9996 arg_mask->add_boolvalue(mask);
9997
9998 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -08009999 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10000 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -080010001 glContext->hooks->gl.glCoverageMaskNV(mask);
Siva Velusamy05df4502012-02-17 10:55:03 -080010002 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10003 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -080010004
Siva Velusamy98011422012-02-27 12:02:47 -080010005 void *pointerArgs[] = {
10006 };
10007
Siva Velusamy05df4502012-02-17 10:55:03 -080010008 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10009 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010010 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -080010011 glContext->traceGLMessage(&glmsg);
10012}
10013
10014void GLTrace_glCoverageOperationNV(GLenum operation) {
10015 GLMessage glmsg;
10016 GLTraceContext *glContext = getGLTraceContext();
10017
10018 glmsg.set_function(GLMessage::glCoverageOperationNV);
10019
10020 // copy argument operation
10021 GLMessage_DataType *arg_operation = glmsg.add_args();
10022 arg_operation->set_isarray(false);
10023 arg_operation->set_type(GLMessage::DataType::ENUM);
10024 arg_operation->add_intvalue((int)operation);
10025
10026 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010027 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10028 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -080010029 glContext->hooks->gl.glCoverageOperationNV(operation);
Siva Velusamy05df4502012-02-17 10:55:03 -080010030 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10031 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -080010032
Siva Velusamy98011422012-02-27 12:02:47 -080010033 void *pointerArgs[] = {
10034 };
10035
Siva Velusamy05df4502012-02-17 10:55:03 -080010036 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10037 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010038 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -080010039 glContext->traceGLMessage(&glmsg);
10040}
10041
10042void GLTrace_glDrawBuffersNV(GLsizei n, const GLenum *bufs) {
10043 GLMessage glmsg;
10044 GLTraceContext *glContext = getGLTraceContext();
10045
10046 glmsg.set_function(GLMessage::glDrawBuffersNV);
10047
10048 // copy argument n
10049 GLMessage_DataType *arg_n = glmsg.add_args();
10050 arg_n->set_isarray(false);
10051 arg_n->set_type(GLMessage::DataType::INT);
10052 arg_n->add_intvalue(n);
10053
10054 // copy argument bufs
10055 GLMessage_DataType *arg_bufs = glmsg.add_args();
10056 arg_bufs->set_isarray(false);
10057 arg_bufs->set_type(GLMessage::DataType::INT);
10058 arg_bufs->add_intvalue((int)bufs);
10059
10060 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010061 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10062 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -080010063 glContext->hooks->gl.glDrawBuffersNV(n, bufs);
Siva Velusamy05df4502012-02-17 10:55:03 -080010064 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10065 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Mathias Agopian31272602012-01-28 14:20:59 -080010066
Siva Velusamy98011422012-02-27 12:02:47 -080010067 void *pointerArgs[] = {
10068 (void *) bufs,
10069 };
10070
Siva Velusamy05df4502012-02-17 10:55:03 -080010071 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10072 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010073 &glmsg, pointerArgs);
Mathias Agopian31272602012-01-28 14:20:59 -080010074 glContext->traceGLMessage(&glmsg);
10075}
10076
Siva Velusamy0469dd62011-11-30 15:05:37 -080010077void GLTrace_glDeleteFencesNV(GLsizei n, const GLuint *fences) {
10078 GLMessage glmsg;
10079 GLTraceContext *glContext = getGLTraceContext();
10080
Siva Velusamy0469dd62011-11-30 15:05:37 -080010081 glmsg.set_function(GLMessage::glDeleteFencesNV);
10082
10083 // copy argument n
10084 GLMessage_DataType *arg_n = glmsg.add_args();
10085 arg_n->set_isarray(false);
10086 arg_n->set_type(GLMessage::DataType::INT);
10087 arg_n->add_intvalue(n);
10088
10089 // copy argument fences
10090 GLMessage_DataType *arg_fences = glmsg.add_args();
10091 arg_fences->set_isarray(false);
10092 arg_fences->set_type(GLMessage::DataType::INT);
10093 arg_fences->add_intvalue((int)fences);
10094
10095 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010096 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10097 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010098 glContext->hooks->gl.glDeleteFencesNV(n, fences);
Siva Velusamy05df4502012-02-17 10:55:03 -080010099 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10100 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010101
Siva Velusamy98011422012-02-27 12:02:47 -080010102 void *pointerArgs[] = {
10103 (void *) fences,
10104 };
10105
Siva Velusamy05df4502012-02-17 10:55:03 -080010106 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10107 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010108 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010109 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010110}
10111
10112void GLTrace_glGenFencesNV(GLsizei n, GLuint *fences) {
10113 GLMessage glmsg;
10114 GLTraceContext *glContext = getGLTraceContext();
10115
Siva Velusamy0469dd62011-11-30 15:05:37 -080010116 glmsg.set_function(GLMessage::glGenFencesNV);
10117
10118 // copy argument n
10119 GLMessage_DataType *arg_n = glmsg.add_args();
10120 arg_n->set_isarray(false);
10121 arg_n->set_type(GLMessage::DataType::INT);
10122 arg_n->add_intvalue(n);
10123
10124 // copy argument fences
10125 GLMessage_DataType *arg_fences = glmsg.add_args();
10126 arg_fences->set_isarray(false);
10127 arg_fences->set_type(GLMessage::DataType::INT);
10128 arg_fences->add_intvalue((int)fences);
10129
10130 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010131 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10132 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010133 glContext->hooks->gl.glGenFencesNV(n, fences);
Siva Velusamy05df4502012-02-17 10:55:03 -080010134 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10135 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010136
Siva Velusamy98011422012-02-27 12:02:47 -080010137 void *pointerArgs[] = {
10138 (void *) fences,
10139 };
10140
Siva Velusamy05df4502012-02-17 10:55:03 -080010141 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10142 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010143 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010144 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010145}
10146
10147GLboolean GLTrace_glIsFenceNV(GLuint fence) {
10148 GLMessage glmsg;
10149 GLTraceContext *glContext = getGLTraceContext();
10150
Siva Velusamy0469dd62011-11-30 15:05:37 -080010151 glmsg.set_function(GLMessage::glIsFenceNV);
10152
10153 // copy argument fence
10154 GLMessage_DataType *arg_fence = glmsg.add_args();
10155 arg_fence->set_isarray(false);
10156 arg_fence->set_type(GLMessage::DataType::INT);
10157 arg_fence->add_intvalue(fence);
10158
10159 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010160 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10161 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010162 GLboolean retValue = glContext->hooks->gl.glIsFenceNV(fence);
Siva Velusamy05df4502012-02-17 10:55:03 -080010163 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10164 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010165
10166 // set return value
10167 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
10168 rt->set_isarray(false);
10169 rt->set_type(GLMessage::DataType::BOOL);
10170 rt->add_boolvalue(retValue);
10171
Siva Velusamy98011422012-02-27 12:02:47 -080010172 void *pointerArgs[] = {
10173 };
10174
Siva Velusamy05df4502012-02-17 10:55:03 -080010175 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10176 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010177 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010178 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010179
10180 return retValue;
10181}
10182
10183GLboolean GLTrace_glTestFenceNV(GLuint fence) {
10184 GLMessage glmsg;
10185 GLTraceContext *glContext = getGLTraceContext();
10186
Siva Velusamy0469dd62011-11-30 15:05:37 -080010187 glmsg.set_function(GLMessage::glTestFenceNV);
10188
10189 // copy argument fence
10190 GLMessage_DataType *arg_fence = glmsg.add_args();
10191 arg_fence->set_isarray(false);
10192 arg_fence->set_type(GLMessage::DataType::INT);
10193 arg_fence->add_intvalue(fence);
10194
10195 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010196 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10197 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010198 GLboolean retValue = glContext->hooks->gl.glTestFenceNV(fence);
Siva Velusamy05df4502012-02-17 10:55:03 -080010199 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10200 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010201
10202 // set return value
10203 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
10204 rt->set_isarray(false);
10205 rt->set_type(GLMessage::DataType::BOOL);
10206 rt->add_boolvalue(retValue);
10207
Siva Velusamy98011422012-02-27 12:02:47 -080010208 void *pointerArgs[] = {
10209 };
10210
Siva Velusamy05df4502012-02-17 10:55:03 -080010211 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10212 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010213 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010214 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010215
10216 return retValue;
10217}
10218
10219void GLTrace_glGetFenceivNV(GLuint fence, GLenum pname, GLint *params) {
10220 GLMessage glmsg;
10221 GLTraceContext *glContext = getGLTraceContext();
10222
Siva Velusamy0469dd62011-11-30 15:05:37 -080010223 glmsg.set_function(GLMessage::glGetFenceivNV);
10224
10225 // copy argument fence
10226 GLMessage_DataType *arg_fence = glmsg.add_args();
10227 arg_fence->set_isarray(false);
10228 arg_fence->set_type(GLMessage::DataType::INT);
10229 arg_fence->add_intvalue(fence);
10230
10231 // copy argument pname
10232 GLMessage_DataType *arg_pname = glmsg.add_args();
10233 arg_pname->set_isarray(false);
10234 arg_pname->set_type(GLMessage::DataType::ENUM);
10235 arg_pname->add_intvalue((int)pname);
10236
10237 // copy argument params
10238 GLMessage_DataType *arg_params = glmsg.add_args();
10239 arg_params->set_isarray(false);
10240 arg_params->set_type(GLMessage::DataType::INT);
10241 arg_params->add_intvalue((int)params);
10242
10243 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010244 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10245 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010246 glContext->hooks->gl.glGetFenceivNV(fence, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080010247 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10248 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010249
Siva Velusamy98011422012-02-27 12:02:47 -080010250 void *pointerArgs[] = {
10251 (void *) params,
10252 };
10253
Siva Velusamy05df4502012-02-17 10:55:03 -080010254 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10255 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010256 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010257 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010258}
10259
10260void GLTrace_glFinishFenceNV(GLuint fence) {
10261 GLMessage glmsg;
10262 GLTraceContext *glContext = getGLTraceContext();
10263
Siva Velusamy0469dd62011-11-30 15:05:37 -080010264 glmsg.set_function(GLMessage::glFinishFenceNV);
10265
10266 // copy argument fence
10267 GLMessage_DataType *arg_fence = glmsg.add_args();
10268 arg_fence->set_isarray(false);
10269 arg_fence->set_type(GLMessage::DataType::INT);
10270 arg_fence->add_intvalue(fence);
10271
10272 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010273 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10274 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010275 glContext->hooks->gl.glFinishFenceNV(fence);
Siva Velusamy05df4502012-02-17 10:55:03 -080010276 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10277 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010278
Siva Velusamy98011422012-02-27 12:02:47 -080010279 void *pointerArgs[] = {
10280 };
10281
Siva Velusamy05df4502012-02-17 10:55:03 -080010282 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10283 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010284 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010285 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010286}
10287
10288void GLTrace_glSetFenceNV(GLuint fence, GLenum condition) {
10289 GLMessage glmsg;
10290 GLTraceContext *glContext = getGLTraceContext();
10291
Siva Velusamy0469dd62011-11-30 15:05:37 -080010292 glmsg.set_function(GLMessage::glSetFenceNV);
10293
10294 // copy argument fence
10295 GLMessage_DataType *arg_fence = glmsg.add_args();
10296 arg_fence->set_isarray(false);
10297 arg_fence->set_type(GLMessage::DataType::INT);
10298 arg_fence->add_intvalue(fence);
10299
10300 // copy argument condition
10301 GLMessage_DataType *arg_condition = glmsg.add_args();
10302 arg_condition->set_isarray(false);
10303 arg_condition->set_type(GLMessage::DataType::ENUM);
10304 arg_condition->add_intvalue((int)condition);
10305
10306 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010307 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10308 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010309 glContext->hooks->gl.glSetFenceNV(fence, condition);
Siva Velusamy05df4502012-02-17 10:55:03 -080010310 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10311 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010312
Siva Velusamy98011422012-02-27 12:02:47 -080010313 void *pointerArgs[] = {
10314 };
10315
Siva Velusamy05df4502012-02-17 10:55:03 -080010316 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10317 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010318 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010319 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010320}
10321
Mathias Agopian31272602012-01-28 14:20:59 -080010322void GLTrace_glReadBufferNV(GLenum mode) {
Siva Velusamy0469dd62011-11-30 15:05:37 -080010323 GLMessage glmsg;
10324 GLTraceContext *glContext = getGLTraceContext();
10325
Mathias Agopian31272602012-01-28 14:20:59 -080010326 glmsg.set_function(GLMessage::glReadBufferNV);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010327
Mathias Agopian31272602012-01-28 14:20:59 -080010328 // copy argument mode
10329 GLMessage_DataType *arg_mode = glmsg.add_args();
10330 arg_mode->set_isarray(false);
10331 arg_mode->set_type(GLMessage::DataType::ENUM);
10332 arg_mode->add_intvalue((int)mode);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010333
10334 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010335 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10336 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -080010337 glContext->hooks->gl.glReadBufferNV(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -080010338 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10339 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010340
Siva Velusamy98011422012-02-27 12:02:47 -080010341 void *pointerArgs[] = {
10342 };
10343
Siva Velusamy05df4502012-02-17 10:55:03 -080010344 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10345 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010346 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010347 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010348}
10349
Mathias Agopian31272602012-01-28 14:20:59 -080010350void GLTrace_glAlphaFuncQCOM(GLenum func, GLclampf ref) {
Siva Velusamy0469dd62011-11-30 15:05:37 -080010351 GLMessage glmsg;
10352 GLTraceContext *glContext = getGLTraceContext();
10353
Mathias Agopian31272602012-01-28 14:20:59 -080010354 glmsg.set_function(GLMessage::glAlphaFuncQCOM);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010355
Mathias Agopian31272602012-01-28 14:20:59 -080010356 // copy argument func
10357 GLMessage_DataType *arg_func = glmsg.add_args();
10358 arg_func->set_isarray(false);
10359 arg_func->set_type(GLMessage::DataType::ENUM);
10360 arg_func->add_intvalue((int)func);
10361
10362 // copy argument ref
10363 GLMessage_DataType *arg_ref = glmsg.add_args();
10364 arg_ref->set_isarray(false);
10365 arg_ref->set_type(GLMessage::DataType::FLOAT);
10366 arg_ref->add_floatvalue(ref);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010367
10368 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010369 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10370 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Mathias Agopian31272602012-01-28 14:20:59 -080010371 glContext->hooks->gl.glAlphaFuncQCOM(func, ref);
Siva Velusamy05df4502012-02-17 10:55:03 -080010372 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10373 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010374
Siva Velusamy98011422012-02-27 12:02:47 -080010375 void *pointerArgs[] = {
10376 };
10377
Siva Velusamy05df4502012-02-17 10:55:03 -080010378 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10379 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010380 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010381 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010382}
10383
10384void GLTrace_glGetDriverControlsQCOM(GLint *num, GLsizei size, GLuint *driverControls) {
10385 GLMessage glmsg;
10386 GLTraceContext *glContext = getGLTraceContext();
10387
Siva Velusamy0469dd62011-11-30 15:05:37 -080010388 glmsg.set_function(GLMessage::glGetDriverControlsQCOM);
10389
10390 // copy argument num
10391 GLMessage_DataType *arg_num = glmsg.add_args();
10392 arg_num->set_isarray(false);
10393 arg_num->set_type(GLMessage::DataType::INT);
10394 arg_num->add_intvalue((int)num);
10395
10396 // copy argument size
10397 GLMessage_DataType *arg_size = glmsg.add_args();
10398 arg_size->set_isarray(false);
10399 arg_size->set_type(GLMessage::DataType::INT);
10400 arg_size->add_intvalue(size);
10401
10402 // copy argument driverControls
10403 GLMessage_DataType *arg_driverControls = glmsg.add_args();
10404 arg_driverControls->set_isarray(false);
10405 arg_driverControls->set_type(GLMessage::DataType::INT);
10406 arg_driverControls->add_intvalue((int)driverControls);
10407
10408 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010409 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10410 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010411 glContext->hooks->gl.glGetDriverControlsQCOM(num, size, driverControls);
Siva Velusamy05df4502012-02-17 10:55:03 -080010412 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10413 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010414
Siva Velusamy98011422012-02-27 12:02:47 -080010415 void *pointerArgs[] = {
10416 (void *) num,
10417 (void *) driverControls,
10418 };
10419
Siva Velusamy05df4502012-02-17 10:55:03 -080010420 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10421 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010422 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010423 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010424}
10425
10426void GLTrace_glGetDriverControlStringQCOM(GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString) {
10427 GLMessage glmsg;
10428 GLTraceContext *glContext = getGLTraceContext();
10429
Siva Velusamy0469dd62011-11-30 15:05:37 -080010430 glmsg.set_function(GLMessage::glGetDriverControlStringQCOM);
10431
10432 // copy argument driverControl
10433 GLMessage_DataType *arg_driverControl = glmsg.add_args();
10434 arg_driverControl->set_isarray(false);
10435 arg_driverControl->set_type(GLMessage::DataType::INT);
10436 arg_driverControl->add_intvalue(driverControl);
10437
10438 // copy argument bufSize
10439 GLMessage_DataType *arg_bufSize = glmsg.add_args();
10440 arg_bufSize->set_isarray(false);
10441 arg_bufSize->set_type(GLMessage::DataType::INT);
10442 arg_bufSize->add_intvalue(bufSize);
10443
10444 // copy argument length
10445 GLMessage_DataType *arg_length = glmsg.add_args();
10446 arg_length->set_isarray(false);
10447 arg_length->set_type(GLMessage::DataType::INT);
10448 arg_length->add_intvalue((int)length);
10449
10450 // copy argument driverControlString
10451 GLMessage_DataType *arg_driverControlString = glmsg.add_args();
10452 arg_driverControlString->set_isarray(false);
10453 arg_driverControlString->set_type(GLMessage::DataType::INT);
10454 arg_driverControlString->add_intvalue((int)driverControlString);
10455
10456 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010457 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10458 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010459 glContext->hooks->gl.glGetDriverControlStringQCOM(driverControl, bufSize, length, driverControlString);
Siva Velusamy05df4502012-02-17 10:55:03 -080010460 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10461 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010462
Siva Velusamy98011422012-02-27 12:02:47 -080010463 void *pointerArgs[] = {
10464 (void *) length,
10465 (void *) driverControlString,
10466 };
10467
Siva Velusamy05df4502012-02-17 10:55:03 -080010468 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10469 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010470 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010471 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010472}
10473
10474void GLTrace_glEnableDriverControlQCOM(GLuint driverControl) {
10475 GLMessage glmsg;
10476 GLTraceContext *glContext = getGLTraceContext();
10477
Siva Velusamy0469dd62011-11-30 15:05:37 -080010478 glmsg.set_function(GLMessage::glEnableDriverControlQCOM);
10479
10480 // copy argument driverControl
10481 GLMessage_DataType *arg_driverControl = glmsg.add_args();
10482 arg_driverControl->set_isarray(false);
10483 arg_driverControl->set_type(GLMessage::DataType::INT);
10484 arg_driverControl->add_intvalue(driverControl);
10485
10486 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010487 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10488 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010489 glContext->hooks->gl.glEnableDriverControlQCOM(driverControl);
Siva Velusamy05df4502012-02-17 10:55:03 -080010490 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10491 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010492
Siva Velusamy98011422012-02-27 12:02:47 -080010493 void *pointerArgs[] = {
10494 };
10495
Siva Velusamy05df4502012-02-17 10:55:03 -080010496 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10497 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010498 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010499 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010500}
10501
10502void GLTrace_glDisableDriverControlQCOM(GLuint driverControl) {
10503 GLMessage glmsg;
10504 GLTraceContext *glContext = getGLTraceContext();
10505
Siva Velusamy0469dd62011-11-30 15:05:37 -080010506 glmsg.set_function(GLMessage::glDisableDriverControlQCOM);
10507
10508 // copy argument driverControl
10509 GLMessage_DataType *arg_driverControl = glmsg.add_args();
10510 arg_driverControl->set_isarray(false);
10511 arg_driverControl->set_type(GLMessage::DataType::INT);
10512 arg_driverControl->add_intvalue(driverControl);
10513
10514 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010515 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10516 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010517 glContext->hooks->gl.glDisableDriverControlQCOM(driverControl);
Siva Velusamy05df4502012-02-17 10:55:03 -080010518 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10519 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010520
Siva Velusamy98011422012-02-27 12:02:47 -080010521 void *pointerArgs[] = {
10522 };
10523
Siva Velusamy05df4502012-02-17 10:55:03 -080010524 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10525 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010526 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010527 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010528}
10529
10530void GLTrace_glExtGetTexturesQCOM(GLuint *textures, GLint maxTextures, GLint *numTextures) {
10531 GLMessage glmsg;
10532 GLTraceContext *glContext = getGLTraceContext();
10533
Siva Velusamy0469dd62011-11-30 15:05:37 -080010534 glmsg.set_function(GLMessage::glExtGetTexturesQCOM);
10535
10536 // copy argument textures
10537 GLMessage_DataType *arg_textures = glmsg.add_args();
10538 arg_textures->set_isarray(false);
10539 arg_textures->set_type(GLMessage::DataType::INT);
10540 arg_textures->add_intvalue((int)textures);
10541
10542 // copy argument maxTextures
10543 GLMessage_DataType *arg_maxTextures = glmsg.add_args();
10544 arg_maxTextures->set_isarray(false);
10545 arg_maxTextures->set_type(GLMessage::DataType::INT);
10546 arg_maxTextures->add_intvalue(maxTextures);
10547
10548 // copy argument numTextures
10549 GLMessage_DataType *arg_numTextures = glmsg.add_args();
10550 arg_numTextures->set_isarray(false);
10551 arg_numTextures->set_type(GLMessage::DataType::INT);
10552 arg_numTextures->add_intvalue((int)numTextures);
10553
10554 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010555 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10556 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010557 glContext->hooks->gl.glExtGetTexturesQCOM(textures, maxTextures, numTextures);
Siva Velusamy05df4502012-02-17 10:55:03 -080010558 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10559 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010560
Siva Velusamy98011422012-02-27 12:02:47 -080010561 void *pointerArgs[] = {
10562 (void *) textures,
10563 (void *) numTextures,
10564 };
10565
Siva Velusamy05df4502012-02-17 10:55:03 -080010566 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10567 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010568 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010569 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010570}
10571
10572void GLTrace_glExtGetBuffersQCOM(GLuint *buffers, GLint maxBuffers, GLint *numBuffers) {
10573 GLMessage glmsg;
10574 GLTraceContext *glContext = getGLTraceContext();
10575
Siva Velusamy0469dd62011-11-30 15:05:37 -080010576 glmsg.set_function(GLMessage::glExtGetBuffersQCOM);
10577
10578 // copy argument buffers
10579 GLMessage_DataType *arg_buffers = glmsg.add_args();
10580 arg_buffers->set_isarray(false);
10581 arg_buffers->set_type(GLMessage::DataType::INT);
10582 arg_buffers->add_intvalue((int)buffers);
10583
10584 // copy argument maxBuffers
10585 GLMessage_DataType *arg_maxBuffers = glmsg.add_args();
10586 arg_maxBuffers->set_isarray(false);
10587 arg_maxBuffers->set_type(GLMessage::DataType::INT);
10588 arg_maxBuffers->add_intvalue(maxBuffers);
10589
10590 // copy argument numBuffers
10591 GLMessage_DataType *arg_numBuffers = glmsg.add_args();
10592 arg_numBuffers->set_isarray(false);
10593 arg_numBuffers->set_type(GLMessage::DataType::INT);
10594 arg_numBuffers->add_intvalue((int)numBuffers);
10595
10596 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010597 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10598 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010599 glContext->hooks->gl.glExtGetBuffersQCOM(buffers, maxBuffers, numBuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080010600 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10601 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010602
Siva Velusamy98011422012-02-27 12:02:47 -080010603 void *pointerArgs[] = {
10604 (void *) buffers,
10605 (void *) numBuffers,
10606 };
10607
Siva Velusamy05df4502012-02-17 10:55:03 -080010608 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10609 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010610 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010611 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010612}
10613
10614void GLTrace_glExtGetRenderbuffersQCOM(GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers) {
10615 GLMessage glmsg;
10616 GLTraceContext *glContext = getGLTraceContext();
10617
Siva Velusamy0469dd62011-11-30 15:05:37 -080010618 glmsg.set_function(GLMessage::glExtGetRenderbuffersQCOM);
10619
10620 // copy argument renderbuffers
10621 GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
10622 arg_renderbuffers->set_isarray(false);
10623 arg_renderbuffers->set_type(GLMessage::DataType::INT);
10624 arg_renderbuffers->add_intvalue((int)renderbuffers);
10625
10626 // copy argument maxRenderbuffers
10627 GLMessage_DataType *arg_maxRenderbuffers = glmsg.add_args();
10628 arg_maxRenderbuffers->set_isarray(false);
10629 arg_maxRenderbuffers->set_type(GLMessage::DataType::INT);
10630 arg_maxRenderbuffers->add_intvalue(maxRenderbuffers);
10631
10632 // copy argument numRenderbuffers
10633 GLMessage_DataType *arg_numRenderbuffers = glmsg.add_args();
10634 arg_numRenderbuffers->set_isarray(false);
10635 arg_numRenderbuffers->set_type(GLMessage::DataType::INT);
10636 arg_numRenderbuffers->add_intvalue((int)numRenderbuffers);
10637
10638 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010639 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10640 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010641 glContext->hooks->gl.glExtGetRenderbuffersQCOM(renderbuffers, maxRenderbuffers, numRenderbuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080010642 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10643 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010644
Siva Velusamy98011422012-02-27 12:02:47 -080010645 void *pointerArgs[] = {
10646 (void *) renderbuffers,
10647 (void *) numRenderbuffers,
10648 };
10649
Siva Velusamy05df4502012-02-17 10:55:03 -080010650 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10651 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010652 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010653 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010654}
10655
10656void GLTrace_glExtGetFramebuffersQCOM(GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers) {
10657 GLMessage glmsg;
10658 GLTraceContext *glContext = getGLTraceContext();
10659
Siva Velusamy0469dd62011-11-30 15:05:37 -080010660 glmsg.set_function(GLMessage::glExtGetFramebuffersQCOM);
10661
10662 // copy argument framebuffers
10663 GLMessage_DataType *arg_framebuffers = glmsg.add_args();
10664 arg_framebuffers->set_isarray(false);
10665 arg_framebuffers->set_type(GLMessage::DataType::INT);
10666 arg_framebuffers->add_intvalue((int)framebuffers);
10667
10668 // copy argument maxFramebuffers
10669 GLMessage_DataType *arg_maxFramebuffers = glmsg.add_args();
10670 arg_maxFramebuffers->set_isarray(false);
10671 arg_maxFramebuffers->set_type(GLMessage::DataType::INT);
10672 arg_maxFramebuffers->add_intvalue(maxFramebuffers);
10673
10674 // copy argument numFramebuffers
10675 GLMessage_DataType *arg_numFramebuffers = glmsg.add_args();
10676 arg_numFramebuffers->set_isarray(false);
10677 arg_numFramebuffers->set_type(GLMessage::DataType::INT);
10678 arg_numFramebuffers->add_intvalue((int)numFramebuffers);
10679
10680 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010681 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10682 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010683 glContext->hooks->gl.glExtGetFramebuffersQCOM(framebuffers, maxFramebuffers, numFramebuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080010684 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10685 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010686
Siva Velusamy98011422012-02-27 12:02:47 -080010687 void *pointerArgs[] = {
10688 (void *) framebuffers,
10689 (void *) numFramebuffers,
10690 };
10691
Siva Velusamy05df4502012-02-17 10:55:03 -080010692 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10693 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010694 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010695 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010696}
10697
10698void GLTrace_glExtGetTexLevelParameterivQCOM(GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params) {
10699 GLMessage glmsg;
10700 GLTraceContext *glContext = getGLTraceContext();
10701
Siva Velusamy0469dd62011-11-30 15:05:37 -080010702 glmsg.set_function(GLMessage::glExtGetTexLevelParameterivQCOM);
10703
10704 // copy argument texture
10705 GLMessage_DataType *arg_texture = glmsg.add_args();
10706 arg_texture->set_isarray(false);
10707 arg_texture->set_type(GLMessage::DataType::INT);
10708 arg_texture->add_intvalue(texture);
10709
10710 // copy argument face
10711 GLMessage_DataType *arg_face = glmsg.add_args();
10712 arg_face->set_isarray(false);
10713 arg_face->set_type(GLMessage::DataType::ENUM);
10714 arg_face->add_intvalue((int)face);
10715
10716 // copy argument level
10717 GLMessage_DataType *arg_level = glmsg.add_args();
10718 arg_level->set_isarray(false);
10719 arg_level->set_type(GLMessage::DataType::INT);
10720 arg_level->add_intvalue(level);
10721
10722 // copy argument pname
10723 GLMessage_DataType *arg_pname = glmsg.add_args();
10724 arg_pname->set_isarray(false);
10725 arg_pname->set_type(GLMessage::DataType::ENUM);
10726 arg_pname->add_intvalue((int)pname);
10727
10728 // copy argument params
10729 GLMessage_DataType *arg_params = glmsg.add_args();
10730 arg_params->set_isarray(false);
10731 arg_params->set_type(GLMessage::DataType::INT);
10732 arg_params->add_intvalue((int)params);
10733
10734 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010735 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10736 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010737 glContext->hooks->gl.glExtGetTexLevelParameterivQCOM(texture, face, level, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080010738 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10739 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010740
Siva Velusamy98011422012-02-27 12:02:47 -080010741 void *pointerArgs[] = {
10742 (void *) params,
10743 };
10744
Siva Velusamy05df4502012-02-17 10:55:03 -080010745 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10746 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010747 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010748 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010749}
10750
10751void GLTrace_glExtTexObjectStateOverrideiQCOM(GLenum target, GLenum pname, GLint param) {
10752 GLMessage glmsg;
10753 GLTraceContext *glContext = getGLTraceContext();
10754
Siva Velusamy0469dd62011-11-30 15:05:37 -080010755 glmsg.set_function(GLMessage::glExtTexObjectStateOverrideiQCOM);
10756
10757 // copy argument target
10758 GLMessage_DataType *arg_target = glmsg.add_args();
10759 arg_target->set_isarray(false);
10760 arg_target->set_type(GLMessage::DataType::ENUM);
10761 arg_target->add_intvalue((int)target);
10762
10763 // copy argument pname
10764 GLMessage_DataType *arg_pname = glmsg.add_args();
10765 arg_pname->set_isarray(false);
10766 arg_pname->set_type(GLMessage::DataType::ENUM);
10767 arg_pname->add_intvalue((int)pname);
10768
10769 // copy argument param
10770 GLMessage_DataType *arg_param = glmsg.add_args();
10771 arg_param->set_isarray(false);
10772 arg_param->set_type(GLMessage::DataType::INT);
10773 arg_param->add_intvalue(param);
10774
10775 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010776 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10777 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010778 glContext->hooks->gl.glExtTexObjectStateOverrideiQCOM(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080010779 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10780 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010781
Siva Velusamy98011422012-02-27 12:02:47 -080010782 void *pointerArgs[] = {
10783 };
10784
Siva Velusamy05df4502012-02-17 10:55:03 -080010785 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10786 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010787 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010788 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010789}
10790
10791void GLTrace_glExtGetTexSubImageQCOM(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels) {
10792 GLMessage glmsg;
10793 GLTraceContext *glContext = getGLTraceContext();
10794
Siva Velusamy0469dd62011-11-30 15:05:37 -080010795 glmsg.set_function(GLMessage::glExtGetTexSubImageQCOM);
10796
10797 // copy argument target
10798 GLMessage_DataType *arg_target = glmsg.add_args();
10799 arg_target->set_isarray(false);
10800 arg_target->set_type(GLMessage::DataType::ENUM);
10801 arg_target->add_intvalue((int)target);
10802
10803 // copy argument level
10804 GLMessage_DataType *arg_level = glmsg.add_args();
10805 arg_level->set_isarray(false);
10806 arg_level->set_type(GLMessage::DataType::INT);
10807 arg_level->add_intvalue(level);
10808
10809 // copy argument xoffset
10810 GLMessage_DataType *arg_xoffset = glmsg.add_args();
10811 arg_xoffset->set_isarray(false);
10812 arg_xoffset->set_type(GLMessage::DataType::INT);
10813 arg_xoffset->add_intvalue(xoffset);
10814
10815 // copy argument yoffset
10816 GLMessage_DataType *arg_yoffset = glmsg.add_args();
10817 arg_yoffset->set_isarray(false);
10818 arg_yoffset->set_type(GLMessage::DataType::INT);
10819 arg_yoffset->add_intvalue(yoffset);
10820
10821 // copy argument zoffset
10822 GLMessage_DataType *arg_zoffset = glmsg.add_args();
10823 arg_zoffset->set_isarray(false);
10824 arg_zoffset->set_type(GLMessage::DataType::INT);
10825 arg_zoffset->add_intvalue(zoffset);
10826
10827 // copy argument width
10828 GLMessage_DataType *arg_width = glmsg.add_args();
10829 arg_width->set_isarray(false);
10830 arg_width->set_type(GLMessage::DataType::INT);
10831 arg_width->add_intvalue(width);
10832
10833 // copy argument height
10834 GLMessage_DataType *arg_height = glmsg.add_args();
10835 arg_height->set_isarray(false);
10836 arg_height->set_type(GLMessage::DataType::INT);
10837 arg_height->add_intvalue(height);
10838
10839 // copy argument depth
10840 GLMessage_DataType *arg_depth = glmsg.add_args();
10841 arg_depth->set_isarray(false);
10842 arg_depth->set_type(GLMessage::DataType::INT);
10843 arg_depth->add_intvalue(depth);
10844
10845 // copy argument format
10846 GLMessage_DataType *arg_format = glmsg.add_args();
10847 arg_format->set_isarray(false);
10848 arg_format->set_type(GLMessage::DataType::ENUM);
10849 arg_format->add_intvalue((int)format);
10850
10851 // copy argument type
10852 GLMessage_DataType *arg_type = glmsg.add_args();
10853 arg_type->set_isarray(false);
10854 arg_type->set_type(GLMessage::DataType::ENUM);
10855 arg_type->add_intvalue((int)type);
10856
10857 // copy argument texels
10858 GLMessage_DataType *arg_texels = glmsg.add_args();
10859 arg_texels->set_isarray(false);
10860 arg_texels->set_type(GLMessage::DataType::INT);
10861 arg_texels->add_intvalue((int)texels);
10862
10863 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010864 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10865 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010866 glContext->hooks->gl.glExtGetTexSubImageQCOM(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, texels);
Siva Velusamy05df4502012-02-17 10:55:03 -080010867 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10868 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010869
Siva Velusamy98011422012-02-27 12:02:47 -080010870 void *pointerArgs[] = {
10871 (void *) texels,
10872 };
10873
Siva Velusamy05df4502012-02-17 10:55:03 -080010874 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10875 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010876 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010877 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010878}
10879
10880void GLTrace_glExtGetBufferPointervQCOM(GLenum target, GLvoid **params) {
10881 GLMessage glmsg;
10882 GLTraceContext *glContext = getGLTraceContext();
10883
Siva Velusamy0469dd62011-11-30 15:05:37 -080010884 glmsg.set_function(GLMessage::glExtGetBufferPointervQCOM);
10885
10886 // copy argument target
10887 GLMessage_DataType *arg_target = glmsg.add_args();
10888 arg_target->set_isarray(false);
10889 arg_target->set_type(GLMessage::DataType::ENUM);
10890 arg_target->add_intvalue((int)target);
10891
10892 // copy argument params
10893 GLMessage_DataType *arg_params = glmsg.add_args();
10894 arg_params->set_isarray(false);
10895 arg_params->set_type(GLMessage::DataType::INT);
10896 arg_params->add_intvalue((int)params);
10897
10898 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010899 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10900 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010901 glContext->hooks->gl.glExtGetBufferPointervQCOM(target, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080010902 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10903 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010904
Siva Velusamy98011422012-02-27 12:02:47 -080010905 void *pointerArgs[] = {
10906 (void *) params,
10907 };
10908
Siva Velusamy05df4502012-02-17 10:55:03 -080010909 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10910 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010911 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010912 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010913}
10914
10915void GLTrace_glExtGetShadersQCOM(GLuint *shaders, GLint maxShaders, GLint *numShaders) {
10916 GLMessage glmsg;
10917 GLTraceContext *glContext = getGLTraceContext();
10918
Siva Velusamy0469dd62011-11-30 15:05:37 -080010919 glmsg.set_function(GLMessage::glExtGetShadersQCOM);
10920
10921 // copy argument shaders
10922 GLMessage_DataType *arg_shaders = glmsg.add_args();
10923 arg_shaders->set_isarray(false);
10924 arg_shaders->set_type(GLMessage::DataType::INT);
10925 arg_shaders->add_intvalue((int)shaders);
10926
10927 // copy argument maxShaders
10928 GLMessage_DataType *arg_maxShaders = glmsg.add_args();
10929 arg_maxShaders->set_isarray(false);
10930 arg_maxShaders->set_type(GLMessage::DataType::INT);
10931 arg_maxShaders->add_intvalue(maxShaders);
10932
10933 // copy argument numShaders
10934 GLMessage_DataType *arg_numShaders = glmsg.add_args();
10935 arg_numShaders->set_isarray(false);
10936 arg_numShaders->set_type(GLMessage::DataType::INT);
10937 arg_numShaders->add_intvalue((int)numShaders);
10938
10939 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010940 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10941 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010942 glContext->hooks->gl.glExtGetShadersQCOM(shaders, maxShaders, numShaders);
Siva Velusamy05df4502012-02-17 10:55:03 -080010943 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10944 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010945
Siva Velusamy98011422012-02-27 12:02:47 -080010946 void *pointerArgs[] = {
10947 (void *) shaders,
10948 (void *) numShaders,
10949 };
10950
Siva Velusamy05df4502012-02-17 10:55:03 -080010951 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10952 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010953 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010954 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010955}
10956
10957void GLTrace_glExtGetProgramsQCOM(GLuint *programs, GLint maxPrograms, GLint *numPrograms) {
10958 GLMessage glmsg;
10959 GLTraceContext *glContext = getGLTraceContext();
10960
Siva Velusamy0469dd62011-11-30 15:05:37 -080010961 glmsg.set_function(GLMessage::glExtGetProgramsQCOM);
10962
10963 // copy argument programs
10964 GLMessage_DataType *arg_programs = glmsg.add_args();
10965 arg_programs->set_isarray(false);
10966 arg_programs->set_type(GLMessage::DataType::INT);
10967 arg_programs->add_intvalue((int)programs);
10968
10969 // copy argument maxPrograms
10970 GLMessage_DataType *arg_maxPrograms = glmsg.add_args();
10971 arg_maxPrograms->set_isarray(false);
10972 arg_maxPrograms->set_type(GLMessage::DataType::INT);
10973 arg_maxPrograms->add_intvalue(maxPrograms);
10974
10975 // copy argument numPrograms
10976 GLMessage_DataType *arg_numPrograms = glmsg.add_args();
10977 arg_numPrograms->set_isarray(false);
10978 arg_numPrograms->set_type(GLMessage::DataType::INT);
10979 arg_numPrograms->add_intvalue((int)numPrograms);
10980
10981 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080010982 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
10983 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010984 glContext->hooks->gl.glExtGetProgramsQCOM(programs, maxPrograms, numPrograms);
Siva Velusamy05df4502012-02-17 10:55:03 -080010985 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
10986 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010987
Siva Velusamy98011422012-02-27 12:02:47 -080010988 void *pointerArgs[] = {
10989 (void *) programs,
10990 (void *) numPrograms,
10991 };
10992
Siva Velusamy05df4502012-02-17 10:55:03 -080010993 fixupGLMessage(glContext, wallStartTime, wallEndTime,
10994 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080010995 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080010996 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080010997}
10998
10999GLboolean GLTrace_glExtIsProgramBinaryQCOM(GLuint program) {
11000 GLMessage glmsg;
11001 GLTraceContext *glContext = getGLTraceContext();
11002
Siva Velusamy0469dd62011-11-30 15:05:37 -080011003 glmsg.set_function(GLMessage::glExtIsProgramBinaryQCOM);
11004
11005 // copy argument program
11006 GLMessage_DataType *arg_program = glmsg.add_args();
11007 arg_program->set_isarray(false);
11008 arg_program->set_type(GLMessage::DataType::INT);
11009 arg_program->add_intvalue(program);
11010
11011 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011012 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11013 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011014 GLboolean retValue = glContext->hooks->gl.glExtIsProgramBinaryQCOM(program);
Siva Velusamy05df4502012-02-17 10:55:03 -080011015 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11016 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011017
11018 // set return value
11019 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
11020 rt->set_isarray(false);
11021 rt->set_type(GLMessage::DataType::BOOL);
11022 rt->add_boolvalue(retValue);
11023
Siva Velusamy98011422012-02-27 12:02:47 -080011024 void *pointerArgs[] = {
11025 };
11026
Siva Velusamy05df4502012-02-17 10:55:03 -080011027 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11028 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011029 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011030 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011031
11032 return retValue;
11033}
11034
11035void GLTrace_glExtGetProgramBinarySourceQCOM(GLuint program, GLenum shadertype, GLchar *source, GLint *length) {
11036 GLMessage glmsg;
11037 GLTraceContext *glContext = getGLTraceContext();
11038
Siva Velusamy0469dd62011-11-30 15:05:37 -080011039 glmsg.set_function(GLMessage::glExtGetProgramBinarySourceQCOM);
11040
11041 // copy argument program
11042 GLMessage_DataType *arg_program = glmsg.add_args();
11043 arg_program->set_isarray(false);
11044 arg_program->set_type(GLMessage::DataType::INT);
11045 arg_program->add_intvalue(program);
11046
11047 // copy argument shadertype
11048 GLMessage_DataType *arg_shadertype = glmsg.add_args();
11049 arg_shadertype->set_isarray(false);
11050 arg_shadertype->set_type(GLMessage::DataType::ENUM);
11051 arg_shadertype->add_intvalue((int)shadertype);
11052
11053 // copy argument source
11054 GLMessage_DataType *arg_source = glmsg.add_args();
11055 arg_source->set_isarray(false);
11056 arg_source->set_type(GLMessage::DataType::INT);
11057 arg_source->add_intvalue((int)source);
11058
11059 // copy argument length
11060 GLMessage_DataType *arg_length = glmsg.add_args();
11061 arg_length->set_isarray(false);
11062 arg_length->set_type(GLMessage::DataType::INT);
11063 arg_length->add_intvalue((int)length);
11064
11065 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011066 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11067 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011068 glContext->hooks->gl.glExtGetProgramBinarySourceQCOM(program, shadertype, source, length);
Siva Velusamy05df4502012-02-17 10:55:03 -080011069 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11070 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011071
Siva Velusamy98011422012-02-27 12:02:47 -080011072 void *pointerArgs[] = {
11073 (void *) source,
11074 (void *) length,
11075 };
11076
Siva Velusamy05df4502012-02-17 10:55:03 -080011077 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11078 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011079 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011080 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011081}
11082
11083void GLTrace_glStartTilingQCOM(GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask) {
11084 GLMessage glmsg;
11085 GLTraceContext *glContext = getGLTraceContext();
11086
Siva Velusamy0469dd62011-11-30 15:05:37 -080011087 glmsg.set_function(GLMessage::glStartTilingQCOM);
11088
11089 // copy argument x
11090 GLMessage_DataType *arg_x = glmsg.add_args();
11091 arg_x->set_isarray(false);
11092 arg_x->set_type(GLMessage::DataType::INT);
11093 arg_x->add_intvalue(x);
11094
11095 // copy argument y
11096 GLMessage_DataType *arg_y = glmsg.add_args();
11097 arg_y->set_isarray(false);
11098 arg_y->set_type(GLMessage::DataType::INT);
11099 arg_y->add_intvalue(y);
11100
11101 // copy argument width
11102 GLMessage_DataType *arg_width = glmsg.add_args();
11103 arg_width->set_isarray(false);
11104 arg_width->set_type(GLMessage::DataType::INT);
11105 arg_width->add_intvalue(width);
11106
11107 // copy argument height
11108 GLMessage_DataType *arg_height = glmsg.add_args();
11109 arg_height->set_isarray(false);
11110 arg_height->set_type(GLMessage::DataType::INT);
11111 arg_height->add_intvalue(height);
11112
11113 // copy argument preserveMask
11114 GLMessage_DataType *arg_preserveMask = glmsg.add_args();
11115 arg_preserveMask->set_isarray(false);
11116 arg_preserveMask->set_type(GLMessage::DataType::INT);
11117 arg_preserveMask->add_intvalue(preserveMask);
11118
11119 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011120 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11121 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011122 glContext->hooks->gl.glStartTilingQCOM(x, y, width, height, preserveMask);
Siva Velusamy05df4502012-02-17 10:55:03 -080011123 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11124 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011125
Siva Velusamy98011422012-02-27 12:02:47 -080011126 void *pointerArgs[] = {
11127 };
11128
Siva Velusamy05df4502012-02-17 10:55:03 -080011129 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11130 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011131 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011132 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011133}
11134
11135void GLTrace_glEndTilingQCOM(GLbitfield preserveMask) {
11136 GLMessage glmsg;
11137 GLTraceContext *glContext = getGLTraceContext();
11138
Siva Velusamy0469dd62011-11-30 15:05:37 -080011139 glmsg.set_function(GLMessage::glEndTilingQCOM);
11140
11141 // copy argument preserveMask
11142 GLMessage_DataType *arg_preserveMask = glmsg.add_args();
11143 arg_preserveMask->set_isarray(false);
11144 arg_preserveMask->set_type(GLMessage::DataType::INT);
11145 arg_preserveMask->add_intvalue(preserveMask);
11146
11147 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011148 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11149 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011150 glContext->hooks->gl.glEndTilingQCOM(preserveMask);
Siva Velusamy05df4502012-02-17 10:55:03 -080011151 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11152 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011153
Siva Velusamy98011422012-02-27 12:02:47 -080011154 void *pointerArgs[] = {
11155 };
11156
Siva Velusamy05df4502012-02-17 10:55:03 -080011157 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11158 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011159 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011160 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011161}
11162
11163
11164// Definitions for GL1 APIs
11165
11166void GLTrace_glAlphaFunc(GLenum func, GLclampf ref) {
11167 GLMessage glmsg;
11168 GLTraceContext *glContext = getGLTraceContext();
11169
Siva Velusamy0469dd62011-11-30 15:05:37 -080011170 glmsg.set_function(GLMessage::glAlphaFunc);
11171
11172 // copy argument func
11173 GLMessage_DataType *arg_func = glmsg.add_args();
11174 arg_func->set_isarray(false);
11175 arg_func->set_type(GLMessage::DataType::ENUM);
11176 arg_func->add_intvalue((int)func);
11177
11178 // copy argument ref
11179 GLMessage_DataType *arg_ref = glmsg.add_args();
11180 arg_ref->set_isarray(false);
11181 arg_ref->set_type(GLMessage::DataType::FLOAT);
11182 arg_ref->add_floatvalue(ref);
11183
11184 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011185 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11186 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011187 glContext->hooks->gl.glAlphaFunc(func, ref);
Siva Velusamy05df4502012-02-17 10:55:03 -080011188 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11189 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011190
Siva Velusamy98011422012-02-27 12:02:47 -080011191 void *pointerArgs[] = {
11192 };
11193
Siva Velusamy05df4502012-02-17 10:55:03 -080011194 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11195 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011196 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011197 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011198}
11199
11200void GLTrace_glClipPlanef(GLenum plane, const GLfloat *equation) {
11201 GLMessage glmsg;
11202 GLTraceContext *glContext = getGLTraceContext();
11203
Siva Velusamy0469dd62011-11-30 15:05:37 -080011204 glmsg.set_function(GLMessage::glClipPlanef);
11205
11206 // copy argument plane
11207 GLMessage_DataType *arg_plane = glmsg.add_args();
11208 arg_plane->set_isarray(false);
11209 arg_plane->set_type(GLMessage::DataType::ENUM);
11210 arg_plane->add_intvalue((int)plane);
11211
11212 // copy argument equation
11213 GLMessage_DataType *arg_equation = glmsg.add_args();
11214 arg_equation->set_isarray(false);
11215 arg_equation->set_type(GLMessage::DataType::INT);
11216 arg_equation->add_intvalue((int)equation);
11217
11218 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011219 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11220 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011221 glContext->hooks->gl.glClipPlanef(plane, equation);
Siva Velusamy05df4502012-02-17 10:55:03 -080011222 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11223 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011224
Siva Velusamy98011422012-02-27 12:02:47 -080011225 void *pointerArgs[] = {
11226 (void *) equation,
11227 };
11228
Siva Velusamy05df4502012-02-17 10:55:03 -080011229 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11230 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011231 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011232 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011233}
11234
11235void GLTrace_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) {
11236 GLMessage glmsg;
11237 GLTraceContext *glContext = getGLTraceContext();
11238
Siva Velusamy0469dd62011-11-30 15:05:37 -080011239 glmsg.set_function(GLMessage::glColor4f);
11240
11241 // copy argument red
11242 GLMessage_DataType *arg_red = glmsg.add_args();
11243 arg_red->set_isarray(false);
11244 arg_red->set_type(GLMessage::DataType::FLOAT);
11245 arg_red->add_floatvalue(red);
11246
11247 // copy argument green
11248 GLMessage_DataType *arg_green = glmsg.add_args();
11249 arg_green->set_isarray(false);
11250 arg_green->set_type(GLMessage::DataType::FLOAT);
11251 arg_green->add_floatvalue(green);
11252
11253 // copy argument blue
11254 GLMessage_DataType *arg_blue = glmsg.add_args();
11255 arg_blue->set_isarray(false);
11256 arg_blue->set_type(GLMessage::DataType::FLOAT);
11257 arg_blue->add_floatvalue(blue);
11258
11259 // copy argument alpha
11260 GLMessage_DataType *arg_alpha = glmsg.add_args();
11261 arg_alpha->set_isarray(false);
11262 arg_alpha->set_type(GLMessage::DataType::FLOAT);
11263 arg_alpha->add_floatvalue(alpha);
11264
11265 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011266 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11267 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011268 glContext->hooks->gl.glColor4f(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080011269 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11270 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011271
Siva Velusamy98011422012-02-27 12:02:47 -080011272 void *pointerArgs[] = {
11273 };
11274
Siva Velusamy05df4502012-02-17 10:55:03 -080011275 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11276 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011277 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011278 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011279}
11280
11281void GLTrace_glFogf(GLenum pname, GLfloat param) {
11282 GLMessage glmsg;
11283 GLTraceContext *glContext = getGLTraceContext();
11284
Siva Velusamy0469dd62011-11-30 15:05:37 -080011285 glmsg.set_function(GLMessage::glFogf);
11286
11287 // copy argument pname
11288 GLMessage_DataType *arg_pname = glmsg.add_args();
11289 arg_pname->set_isarray(false);
11290 arg_pname->set_type(GLMessage::DataType::ENUM);
11291 arg_pname->add_intvalue((int)pname);
11292
11293 // copy argument param
11294 GLMessage_DataType *arg_param = glmsg.add_args();
11295 arg_param->set_isarray(false);
11296 arg_param->set_type(GLMessage::DataType::FLOAT);
11297 arg_param->add_floatvalue(param);
11298
11299 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011300 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11301 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011302 glContext->hooks->gl.glFogf(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080011303 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11304 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011305
Siva Velusamy98011422012-02-27 12:02:47 -080011306 void *pointerArgs[] = {
11307 };
11308
Siva Velusamy05df4502012-02-17 10:55:03 -080011309 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11310 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011311 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011312 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011313}
11314
11315void GLTrace_glFogfv(GLenum pname, const GLfloat *params) {
11316 GLMessage glmsg;
11317 GLTraceContext *glContext = getGLTraceContext();
11318
Siva Velusamy0469dd62011-11-30 15:05:37 -080011319 glmsg.set_function(GLMessage::glFogfv);
11320
11321 // copy argument pname
11322 GLMessage_DataType *arg_pname = glmsg.add_args();
11323 arg_pname->set_isarray(false);
11324 arg_pname->set_type(GLMessage::DataType::ENUM);
11325 arg_pname->add_intvalue((int)pname);
11326
11327 // copy argument params
11328 GLMessage_DataType *arg_params = glmsg.add_args();
11329 arg_params->set_isarray(false);
11330 arg_params->set_type(GLMessage::DataType::INT);
11331 arg_params->add_intvalue((int)params);
11332
11333 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011334 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11335 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011336 glContext->hooks->gl.glFogfv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011337 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11338 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011339
Siva Velusamy98011422012-02-27 12:02:47 -080011340 void *pointerArgs[] = {
11341 (void *) params,
11342 };
11343
Siva Velusamy05df4502012-02-17 10:55:03 -080011344 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11345 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011346 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011347 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011348}
11349
11350void GLTrace_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
11351 GLMessage glmsg;
11352 GLTraceContext *glContext = getGLTraceContext();
11353
Siva Velusamy0469dd62011-11-30 15:05:37 -080011354 glmsg.set_function(GLMessage::glFrustumf);
11355
11356 // copy argument left
11357 GLMessage_DataType *arg_left = glmsg.add_args();
11358 arg_left->set_isarray(false);
11359 arg_left->set_type(GLMessage::DataType::FLOAT);
11360 arg_left->add_floatvalue(left);
11361
11362 // copy argument right
11363 GLMessage_DataType *arg_right = glmsg.add_args();
11364 arg_right->set_isarray(false);
11365 arg_right->set_type(GLMessage::DataType::FLOAT);
11366 arg_right->add_floatvalue(right);
11367
11368 // copy argument bottom
11369 GLMessage_DataType *arg_bottom = glmsg.add_args();
11370 arg_bottom->set_isarray(false);
11371 arg_bottom->set_type(GLMessage::DataType::FLOAT);
11372 arg_bottom->add_floatvalue(bottom);
11373
11374 // copy argument top
11375 GLMessage_DataType *arg_top = glmsg.add_args();
11376 arg_top->set_isarray(false);
11377 arg_top->set_type(GLMessage::DataType::FLOAT);
11378 arg_top->add_floatvalue(top);
11379
11380 // copy argument zNear
11381 GLMessage_DataType *arg_zNear = glmsg.add_args();
11382 arg_zNear->set_isarray(false);
11383 arg_zNear->set_type(GLMessage::DataType::FLOAT);
11384 arg_zNear->add_floatvalue(zNear);
11385
11386 // copy argument zFar
11387 GLMessage_DataType *arg_zFar = glmsg.add_args();
11388 arg_zFar->set_isarray(false);
11389 arg_zFar->set_type(GLMessage::DataType::FLOAT);
11390 arg_zFar->add_floatvalue(zFar);
11391
11392 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011393 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11394 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011395 glContext->hooks->gl.glFrustumf(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080011396 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11397 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011398
Siva Velusamy98011422012-02-27 12:02:47 -080011399 void *pointerArgs[] = {
11400 };
11401
Siva Velusamy05df4502012-02-17 10:55:03 -080011402 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11403 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011404 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011405 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011406}
11407
11408void GLTrace_glGetClipPlanef(GLenum pname, GLfloat eqn[4]) {
11409 GLMessage glmsg;
11410 GLTraceContext *glContext = getGLTraceContext();
11411
Siva Velusamy0469dd62011-11-30 15:05:37 -080011412 glmsg.set_function(GLMessage::glGetClipPlanef);
11413
11414 // copy argument pname
11415 GLMessage_DataType *arg_pname = glmsg.add_args();
11416 arg_pname->set_isarray(false);
11417 arg_pname->set_type(GLMessage::DataType::ENUM);
11418 arg_pname->add_intvalue((int)pname);
11419
11420 // copy argument eqn
11421 GLMessage_DataType *arg_eqn = glmsg.add_args();
11422 arg_eqn->set_isarray(false);
11423 arg_eqn->set_type(GLMessage::DataType::INT);
11424 arg_eqn->add_intvalue((int)eqn);
11425
11426 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011427 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11428 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011429 glContext->hooks->gl.glGetClipPlanef(pname, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080011430 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11431 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011432
Siva Velusamy98011422012-02-27 12:02:47 -080011433 void *pointerArgs[] = {
11434 (void *) eqn,
11435 };
11436
Siva Velusamy05df4502012-02-17 10:55:03 -080011437 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11438 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011439 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011440 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011441}
11442
11443void GLTrace_glGetLightfv(GLenum light, GLenum pname, GLfloat *params) {
11444 GLMessage glmsg;
11445 GLTraceContext *glContext = getGLTraceContext();
11446
Siva Velusamy0469dd62011-11-30 15:05:37 -080011447 glmsg.set_function(GLMessage::glGetLightfv);
11448
11449 // copy argument light
11450 GLMessage_DataType *arg_light = glmsg.add_args();
11451 arg_light->set_isarray(false);
11452 arg_light->set_type(GLMessage::DataType::ENUM);
11453 arg_light->add_intvalue((int)light);
11454
11455 // copy argument pname
11456 GLMessage_DataType *arg_pname = glmsg.add_args();
11457 arg_pname->set_isarray(false);
11458 arg_pname->set_type(GLMessage::DataType::ENUM);
11459 arg_pname->add_intvalue((int)pname);
11460
11461 // copy argument params
11462 GLMessage_DataType *arg_params = glmsg.add_args();
11463 arg_params->set_isarray(false);
11464 arg_params->set_type(GLMessage::DataType::INT);
11465 arg_params->add_intvalue((int)params);
11466
11467 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011468 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11469 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011470 glContext->hooks->gl.glGetLightfv(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011471 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11472 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011473
Siva Velusamy98011422012-02-27 12:02:47 -080011474 void *pointerArgs[] = {
11475 (void *) params,
11476 };
11477
Siva Velusamy05df4502012-02-17 10:55:03 -080011478 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11479 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011480 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011481 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011482}
11483
11484void GLTrace_glGetMaterialfv(GLenum face, GLenum pname, GLfloat *params) {
11485 GLMessage glmsg;
11486 GLTraceContext *glContext = getGLTraceContext();
11487
Siva Velusamy0469dd62011-11-30 15:05:37 -080011488 glmsg.set_function(GLMessage::glGetMaterialfv);
11489
11490 // copy argument face
11491 GLMessage_DataType *arg_face = glmsg.add_args();
11492 arg_face->set_isarray(false);
11493 arg_face->set_type(GLMessage::DataType::ENUM);
11494 arg_face->add_intvalue((int)face);
11495
11496 // copy argument pname
11497 GLMessage_DataType *arg_pname = glmsg.add_args();
11498 arg_pname->set_isarray(false);
11499 arg_pname->set_type(GLMessage::DataType::ENUM);
11500 arg_pname->add_intvalue((int)pname);
11501
11502 // copy argument params
11503 GLMessage_DataType *arg_params = glmsg.add_args();
11504 arg_params->set_isarray(false);
11505 arg_params->set_type(GLMessage::DataType::INT);
11506 arg_params->add_intvalue((int)params);
11507
11508 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011509 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11510 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011511 glContext->hooks->gl.glGetMaterialfv(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011512 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11513 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011514
Siva Velusamy98011422012-02-27 12:02:47 -080011515 void *pointerArgs[] = {
11516 (void *) params,
11517 };
11518
Siva Velusamy05df4502012-02-17 10:55:03 -080011519 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11520 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011521 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011522 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011523}
11524
11525void GLTrace_glGetTexEnvfv(GLenum env, GLenum pname, GLfloat *params) {
11526 GLMessage glmsg;
11527 GLTraceContext *glContext = getGLTraceContext();
11528
Siva Velusamy0469dd62011-11-30 15:05:37 -080011529 glmsg.set_function(GLMessage::glGetTexEnvfv);
11530
11531 // copy argument env
11532 GLMessage_DataType *arg_env = glmsg.add_args();
11533 arg_env->set_isarray(false);
11534 arg_env->set_type(GLMessage::DataType::ENUM);
11535 arg_env->add_intvalue((int)env);
11536
11537 // copy argument pname
11538 GLMessage_DataType *arg_pname = glmsg.add_args();
11539 arg_pname->set_isarray(false);
11540 arg_pname->set_type(GLMessage::DataType::ENUM);
11541 arg_pname->add_intvalue((int)pname);
11542
11543 // copy argument params
11544 GLMessage_DataType *arg_params = glmsg.add_args();
11545 arg_params->set_isarray(false);
11546 arg_params->set_type(GLMessage::DataType::INT);
11547 arg_params->add_intvalue((int)params);
11548
11549 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011550 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11551 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011552 glContext->hooks->gl.glGetTexEnvfv(env, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011553 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11554 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011555
Siva Velusamy98011422012-02-27 12:02:47 -080011556 void *pointerArgs[] = {
11557 (void *) params,
11558 };
11559
Siva Velusamy05df4502012-02-17 10:55:03 -080011560 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11561 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011562 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011563 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011564}
11565
11566void GLTrace_glLightModelf(GLenum pname, GLfloat param) {
11567 GLMessage glmsg;
11568 GLTraceContext *glContext = getGLTraceContext();
11569
Siva Velusamy0469dd62011-11-30 15:05:37 -080011570 glmsg.set_function(GLMessage::glLightModelf);
11571
11572 // copy argument pname
11573 GLMessage_DataType *arg_pname = glmsg.add_args();
11574 arg_pname->set_isarray(false);
11575 arg_pname->set_type(GLMessage::DataType::ENUM);
11576 arg_pname->add_intvalue((int)pname);
11577
11578 // copy argument param
11579 GLMessage_DataType *arg_param = glmsg.add_args();
11580 arg_param->set_isarray(false);
11581 arg_param->set_type(GLMessage::DataType::FLOAT);
11582 arg_param->add_floatvalue(param);
11583
11584 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011585 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11586 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011587 glContext->hooks->gl.glLightModelf(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080011588 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11589 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011590
Siva Velusamy98011422012-02-27 12:02:47 -080011591 void *pointerArgs[] = {
11592 };
11593
Siva Velusamy05df4502012-02-17 10:55:03 -080011594 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11595 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011596 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011597 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011598}
11599
11600void GLTrace_glLightModelfv(GLenum pname, const GLfloat *params) {
11601 GLMessage glmsg;
11602 GLTraceContext *glContext = getGLTraceContext();
11603
Siva Velusamy0469dd62011-11-30 15:05:37 -080011604 glmsg.set_function(GLMessage::glLightModelfv);
11605
11606 // copy argument pname
11607 GLMessage_DataType *arg_pname = glmsg.add_args();
11608 arg_pname->set_isarray(false);
11609 arg_pname->set_type(GLMessage::DataType::ENUM);
11610 arg_pname->add_intvalue((int)pname);
11611
11612 // copy argument params
11613 GLMessage_DataType *arg_params = glmsg.add_args();
11614 arg_params->set_isarray(false);
11615 arg_params->set_type(GLMessage::DataType::INT);
11616 arg_params->add_intvalue((int)params);
11617
11618 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011619 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11620 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011621 glContext->hooks->gl.glLightModelfv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011622 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11623 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011624
Siva Velusamy98011422012-02-27 12:02:47 -080011625 void *pointerArgs[] = {
11626 (void *) params,
11627 };
11628
Siva Velusamy05df4502012-02-17 10:55:03 -080011629 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11630 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011631 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011632 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011633}
11634
11635void GLTrace_glLightf(GLenum light, GLenum pname, GLfloat param) {
11636 GLMessage glmsg;
11637 GLTraceContext *glContext = getGLTraceContext();
11638
Siva Velusamy0469dd62011-11-30 15:05:37 -080011639 glmsg.set_function(GLMessage::glLightf);
11640
11641 // copy argument light
11642 GLMessage_DataType *arg_light = glmsg.add_args();
11643 arg_light->set_isarray(false);
11644 arg_light->set_type(GLMessage::DataType::ENUM);
11645 arg_light->add_intvalue((int)light);
11646
11647 // copy argument pname
11648 GLMessage_DataType *arg_pname = glmsg.add_args();
11649 arg_pname->set_isarray(false);
11650 arg_pname->set_type(GLMessage::DataType::ENUM);
11651 arg_pname->add_intvalue((int)pname);
11652
11653 // copy argument param
11654 GLMessage_DataType *arg_param = glmsg.add_args();
11655 arg_param->set_isarray(false);
11656 arg_param->set_type(GLMessage::DataType::FLOAT);
11657 arg_param->add_floatvalue(param);
11658
11659 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011660 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11661 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011662 glContext->hooks->gl.glLightf(light, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080011663 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11664 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011665
Siva Velusamy98011422012-02-27 12:02:47 -080011666 void *pointerArgs[] = {
11667 };
11668
Siva Velusamy05df4502012-02-17 10:55:03 -080011669 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11670 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011671 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011672 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011673}
11674
11675void GLTrace_glLightfv(GLenum light, GLenum pname, const GLfloat *params) {
11676 GLMessage glmsg;
11677 GLTraceContext *glContext = getGLTraceContext();
11678
Siva Velusamy0469dd62011-11-30 15:05:37 -080011679 glmsg.set_function(GLMessage::glLightfv);
11680
11681 // copy argument light
11682 GLMessage_DataType *arg_light = glmsg.add_args();
11683 arg_light->set_isarray(false);
11684 arg_light->set_type(GLMessage::DataType::ENUM);
11685 arg_light->add_intvalue((int)light);
11686
11687 // copy argument pname
11688 GLMessage_DataType *arg_pname = glmsg.add_args();
11689 arg_pname->set_isarray(false);
11690 arg_pname->set_type(GLMessage::DataType::ENUM);
11691 arg_pname->add_intvalue((int)pname);
11692
11693 // copy argument params
11694 GLMessage_DataType *arg_params = glmsg.add_args();
11695 arg_params->set_isarray(false);
11696 arg_params->set_type(GLMessage::DataType::INT);
11697 arg_params->add_intvalue((int)params);
11698
11699 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011700 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11701 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011702 glContext->hooks->gl.glLightfv(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011703 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11704 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011705
Siva Velusamy98011422012-02-27 12:02:47 -080011706 void *pointerArgs[] = {
11707 (void *) params,
11708 };
11709
Siva Velusamy05df4502012-02-17 10:55:03 -080011710 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11711 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011712 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011713 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011714}
11715
11716void GLTrace_glLoadMatrixf(const GLfloat *m) {
11717 GLMessage glmsg;
11718 GLTraceContext *glContext = getGLTraceContext();
11719
Siva Velusamy0469dd62011-11-30 15:05:37 -080011720 glmsg.set_function(GLMessage::glLoadMatrixf);
11721
11722 // copy argument m
11723 GLMessage_DataType *arg_m = glmsg.add_args();
11724 arg_m->set_isarray(false);
11725 arg_m->set_type(GLMessage::DataType::INT);
11726 arg_m->add_intvalue((int)m);
11727
11728 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011729 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11730 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011731 glContext->hooks->gl.glLoadMatrixf(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080011732 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11733 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011734
Siva Velusamy98011422012-02-27 12:02:47 -080011735 void *pointerArgs[] = {
11736 (void *) m,
11737 };
11738
Siva Velusamy05df4502012-02-17 10:55:03 -080011739 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11740 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011741 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011742 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011743}
11744
11745void GLTrace_glMaterialf(GLenum face, GLenum pname, GLfloat param) {
11746 GLMessage glmsg;
11747 GLTraceContext *glContext = getGLTraceContext();
11748
Siva Velusamy0469dd62011-11-30 15:05:37 -080011749 glmsg.set_function(GLMessage::glMaterialf);
11750
11751 // copy argument face
11752 GLMessage_DataType *arg_face = glmsg.add_args();
11753 arg_face->set_isarray(false);
11754 arg_face->set_type(GLMessage::DataType::ENUM);
11755 arg_face->add_intvalue((int)face);
11756
11757 // copy argument pname
11758 GLMessage_DataType *arg_pname = glmsg.add_args();
11759 arg_pname->set_isarray(false);
11760 arg_pname->set_type(GLMessage::DataType::ENUM);
11761 arg_pname->add_intvalue((int)pname);
11762
11763 // copy argument param
11764 GLMessage_DataType *arg_param = glmsg.add_args();
11765 arg_param->set_isarray(false);
11766 arg_param->set_type(GLMessage::DataType::FLOAT);
11767 arg_param->add_floatvalue(param);
11768
11769 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011770 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11771 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011772 glContext->hooks->gl.glMaterialf(face, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080011773 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11774 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011775
Siva Velusamy98011422012-02-27 12:02:47 -080011776 void *pointerArgs[] = {
11777 };
11778
Siva Velusamy05df4502012-02-17 10:55:03 -080011779 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11780 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011781 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011782 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011783}
11784
11785void GLTrace_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) {
11786 GLMessage glmsg;
11787 GLTraceContext *glContext = getGLTraceContext();
11788
Siva Velusamy0469dd62011-11-30 15:05:37 -080011789 glmsg.set_function(GLMessage::glMaterialfv);
11790
11791 // copy argument face
11792 GLMessage_DataType *arg_face = glmsg.add_args();
11793 arg_face->set_isarray(false);
11794 arg_face->set_type(GLMessage::DataType::ENUM);
11795 arg_face->add_intvalue((int)face);
11796
11797 // copy argument pname
11798 GLMessage_DataType *arg_pname = glmsg.add_args();
11799 arg_pname->set_isarray(false);
11800 arg_pname->set_type(GLMessage::DataType::ENUM);
11801 arg_pname->add_intvalue((int)pname);
11802
11803 // copy argument params
11804 GLMessage_DataType *arg_params = glmsg.add_args();
11805 arg_params->set_isarray(false);
11806 arg_params->set_type(GLMessage::DataType::INT);
11807 arg_params->add_intvalue((int)params);
11808
11809 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011810 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11811 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011812 glContext->hooks->gl.glMaterialfv(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080011813 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11814 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011815
Siva Velusamy98011422012-02-27 12:02:47 -080011816 void *pointerArgs[] = {
11817 (void *) params,
11818 };
11819
Siva Velusamy05df4502012-02-17 10:55:03 -080011820 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11821 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011822 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011823 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011824}
11825
11826void GLTrace_glMultMatrixf(const GLfloat *m) {
11827 GLMessage glmsg;
11828 GLTraceContext *glContext = getGLTraceContext();
11829
Siva Velusamy0469dd62011-11-30 15:05:37 -080011830 glmsg.set_function(GLMessage::glMultMatrixf);
11831
11832 // copy argument m
11833 GLMessage_DataType *arg_m = glmsg.add_args();
11834 arg_m->set_isarray(false);
11835 arg_m->set_type(GLMessage::DataType::INT);
11836 arg_m->add_intvalue((int)m);
11837
11838 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011839 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11840 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011841 glContext->hooks->gl.glMultMatrixf(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080011842 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11843 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011844
Siva Velusamy98011422012-02-27 12:02:47 -080011845 void *pointerArgs[] = {
11846 (void *) m,
11847 };
11848
Siva Velusamy05df4502012-02-17 10:55:03 -080011849 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11850 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011851 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011852 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011853}
11854
11855void GLTrace_glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) {
11856 GLMessage glmsg;
11857 GLTraceContext *glContext = getGLTraceContext();
11858
Siva Velusamy0469dd62011-11-30 15:05:37 -080011859 glmsg.set_function(GLMessage::glMultiTexCoord4f);
11860
11861 // copy argument target
11862 GLMessage_DataType *arg_target = glmsg.add_args();
11863 arg_target->set_isarray(false);
11864 arg_target->set_type(GLMessage::DataType::ENUM);
11865 arg_target->add_intvalue((int)target);
11866
11867 // copy argument s
11868 GLMessage_DataType *arg_s = glmsg.add_args();
11869 arg_s->set_isarray(false);
11870 arg_s->set_type(GLMessage::DataType::FLOAT);
11871 arg_s->add_floatvalue(s);
11872
11873 // copy argument t
11874 GLMessage_DataType *arg_t = glmsg.add_args();
11875 arg_t->set_isarray(false);
11876 arg_t->set_type(GLMessage::DataType::FLOAT);
11877 arg_t->add_floatvalue(t);
11878
11879 // copy argument r
11880 GLMessage_DataType *arg_r = glmsg.add_args();
11881 arg_r->set_isarray(false);
11882 arg_r->set_type(GLMessage::DataType::FLOAT);
11883 arg_r->add_floatvalue(r);
11884
11885 // copy argument q
11886 GLMessage_DataType *arg_q = glmsg.add_args();
11887 arg_q->set_isarray(false);
11888 arg_q->set_type(GLMessage::DataType::FLOAT);
11889 arg_q->add_floatvalue(q);
11890
11891 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011892 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11893 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011894 glContext->hooks->gl.glMultiTexCoord4f(target, s, t, r, q);
Siva Velusamy05df4502012-02-17 10:55:03 -080011895 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11896 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011897
Siva Velusamy98011422012-02-27 12:02:47 -080011898 void *pointerArgs[] = {
11899 };
11900
Siva Velusamy05df4502012-02-17 10:55:03 -080011901 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11902 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011903 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011904 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011905}
11906
11907void GLTrace_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) {
11908 GLMessage glmsg;
11909 GLTraceContext *glContext = getGLTraceContext();
11910
Siva Velusamy0469dd62011-11-30 15:05:37 -080011911 glmsg.set_function(GLMessage::glNormal3f);
11912
11913 // copy argument nx
11914 GLMessage_DataType *arg_nx = glmsg.add_args();
11915 arg_nx->set_isarray(false);
11916 arg_nx->set_type(GLMessage::DataType::FLOAT);
11917 arg_nx->add_floatvalue(nx);
11918
11919 // copy argument ny
11920 GLMessage_DataType *arg_ny = glmsg.add_args();
11921 arg_ny->set_isarray(false);
11922 arg_ny->set_type(GLMessage::DataType::FLOAT);
11923 arg_ny->add_floatvalue(ny);
11924
11925 // copy argument nz
11926 GLMessage_DataType *arg_nz = glmsg.add_args();
11927 arg_nz->set_isarray(false);
11928 arg_nz->set_type(GLMessage::DataType::FLOAT);
11929 arg_nz->add_floatvalue(nz);
11930
11931 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011932 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11933 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011934 glContext->hooks->gl.glNormal3f(nx, ny, nz);
Siva Velusamy05df4502012-02-17 10:55:03 -080011935 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11936 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011937
Siva Velusamy98011422012-02-27 12:02:47 -080011938 void *pointerArgs[] = {
11939 };
11940
Siva Velusamy05df4502012-02-17 10:55:03 -080011941 fixupGLMessage(glContext, wallStartTime, wallEndTime,
11942 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080011943 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080011944 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011945}
11946
11947void GLTrace_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
11948 GLMessage glmsg;
11949 GLTraceContext *glContext = getGLTraceContext();
11950
Siva Velusamy0469dd62011-11-30 15:05:37 -080011951 glmsg.set_function(GLMessage::glOrthof);
11952
11953 // copy argument left
11954 GLMessage_DataType *arg_left = glmsg.add_args();
11955 arg_left->set_isarray(false);
11956 arg_left->set_type(GLMessage::DataType::FLOAT);
11957 arg_left->add_floatvalue(left);
11958
11959 // copy argument right
11960 GLMessage_DataType *arg_right = glmsg.add_args();
11961 arg_right->set_isarray(false);
11962 arg_right->set_type(GLMessage::DataType::FLOAT);
11963 arg_right->add_floatvalue(right);
11964
11965 // copy argument bottom
11966 GLMessage_DataType *arg_bottom = glmsg.add_args();
11967 arg_bottom->set_isarray(false);
11968 arg_bottom->set_type(GLMessage::DataType::FLOAT);
11969 arg_bottom->add_floatvalue(bottom);
11970
11971 // copy argument top
11972 GLMessage_DataType *arg_top = glmsg.add_args();
11973 arg_top->set_isarray(false);
11974 arg_top->set_type(GLMessage::DataType::FLOAT);
11975 arg_top->add_floatvalue(top);
11976
11977 // copy argument zNear
11978 GLMessage_DataType *arg_zNear = glmsg.add_args();
11979 arg_zNear->set_isarray(false);
11980 arg_zNear->set_type(GLMessage::DataType::FLOAT);
11981 arg_zNear->add_floatvalue(zNear);
11982
11983 // copy argument zFar
11984 GLMessage_DataType *arg_zFar = glmsg.add_args();
11985 arg_zFar->set_isarray(false);
11986 arg_zFar->set_type(GLMessage::DataType::FLOAT);
11987 arg_zFar->add_floatvalue(zFar);
11988
11989 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080011990 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
11991 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011992 glContext->hooks->gl.glOrthof(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080011993 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
11994 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080011995
Siva Velusamy98011422012-02-27 12:02:47 -080011996 void *pointerArgs[] = {
11997 };
11998
Siva Velusamy05df4502012-02-17 10:55:03 -080011999 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12000 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012001 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012002 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012003}
12004
12005void GLTrace_glPointParameterf(GLenum pname, GLfloat param) {
12006 GLMessage glmsg;
12007 GLTraceContext *glContext = getGLTraceContext();
12008
Siva Velusamy0469dd62011-11-30 15:05:37 -080012009 glmsg.set_function(GLMessage::glPointParameterf);
12010
12011 // copy argument pname
12012 GLMessage_DataType *arg_pname = glmsg.add_args();
12013 arg_pname->set_isarray(false);
12014 arg_pname->set_type(GLMessage::DataType::ENUM);
12015 arg_pname->add_intvalue((int)pname);
12016
12017 // copy argument param
12018 GLMessage_DataType *arg_param = glmsg.add_args();
12019 arg_param->set_isarray(false);
12020 arg_param->set_type(GLMessage::DataType::FLOAT);
12021 arg_param->add_floatvalue(param);
12022
12023 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012024 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12025 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012026 glContext->hooks->gl.glPointParameterf(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080012027 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12028 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012029
Siva Velusamy98011422012-02-27 12:02:47 -080012030 void *pointerArgs[] = {
12031 };
12032
Siva Velusamy05df4502012-02-17 10:55:03 -080012033 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12034 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012035 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012036 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012037}
12038
12039void GLTrace_glPointParameterfv(GLenum pname, const GLfloat *params) {
12040 GLMessage glmsg;
12041 GLTraceContext *glContext = getGLTraceContext();
12042
Siva Velusamy0469dd62011-11-30 15:05:37 -080012043 glmsg.set_function(GLMessage::glPointParameterfv);
12044
12045 // copy argument pname
12046 GLMessage_DataType *arg_pname = glmsg.add_args();
12047 arg_pname->set_isarray(false);
12048 arg_pname->set_type(GLMessage::DataType::ENUM);
12049 arg_pname->add_intvalue((int)pname);
12050
12051 // copy argument params
12052 GLMessage_DataType *arg_params = glmsg.add_args();
12053 arg_params->set_isarray(false);
12054 arg_params->set_type(GLMessage::DataType::INT);
12055 arg_params->add_intvalue((int)params);
12056
12057 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012058 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12059 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012060 glContext->hooks->gl.glPointParameterfv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012061 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12062 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012063
Siva Velusamy98011422012-02-27 12:02:47 -080012064 void *pointerArgs[] = {
12065 (void *) params,
12066 };
12067
Siva Velusamy05df4502012-02-17 10:55:03 -080012068 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12069 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012070 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012071 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012072}
12073
12074void GLTrace_glPointSize(GLfloat size) {
12075 GLMessage glmsg;
12076 GLTraceContext *glContext = getGLTraceContext();
12077
Siva Velusamy0469dd62011-11-30 15:05:37 -080012078 glmsg.set_function(GLMessage::glPointSize);
12079
12080 // copy argument size
12081 GLMessage_DataType *arg_size = glmsg.add_args();
12082 arg_size->set_isarray(false);
12083 arg_size->set_type(GLMessage::DataType::FLOAT);
12084 arg_size->add_floatvalue(size);
12085
12086 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012087 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12088 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012089 glContext->hooks->gl.glPointSize(size);
Siva Velusamy05df4502012-02-17 10:55:03 -080012090 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12091 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012092
Siva Velusamy98011422012-02-27 12:02:47 -080012093 void *pointerArgs[] = {
12094 };
12095
Siva Velusamy05df4502012-02-17 10:55:03 -080012096 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12097 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012098 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012099 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012100}
12101
12102void GLTrace_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) {
12103 GLMessage glmsg;
12104 GLTraceContext *glContext = getGLTraceContext();
12105
Siva Velusamy0469dd62011-11-30 15:05:37 -080012106 glmsg.set_function(GLMessage::glRotatef);
12107
12108 // copy argument angle
12109 GLMessage_DataType *arg_angle = glmsg.add_args();
12110 arg_angle->set_isarray(false);
12111 arg_angle->set_type(GLMessage::DataType::FLOAT);
12112 arg_angle->add_floatvalue(angle);
12113
12114 // copy argument x
12115 GLMessage_DataType *arg_x = glmsg.add_args();
12116 arg_x->set_isarray(false);
12117 arg_x->set_type(GLMessage::DataType::FLOAT);
12118 arg_x->add_floatvalue(x);
12119
12120 // copy argument y
12121 GLMessage_DataType *arg_y = glmsg.add_args();
12122 arg_y->set_isarray(false);
12123 arg_y->set_type(GLMessage::DataType::FLOAT);
12124 arg_y->add_floatvalue(y);
12125
12126 // copy argument z
12127 GLMessage_DataType *arg_z = glmsg.add_args();
12128 arg_z->set_isarray(false);
12129 arg_z->set_type(GLMessage::DataType::FLOAT);
12130 arg_z->add_floatvalue(z);
12131
12132 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012133 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12134 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012135 glContext->hooks->gl.glRotatef(angle, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080012136 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12137 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012138
Siva Velusamy98011422012-02-27 12:02:47 -080012139 void *pointerArgs[] = {
12140 };
12141
Siva Velusamy05df4502012-02-17 10:55:03 -080012142 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12143 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012144 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012145 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012146}
12147
12148void GLTrace_glScalef(GLfloat x, GLfloat y, GLfloat z) {
12149 GLMessage glmsg;
12150 GLTraceContext *glContext = getGLTraceContext();
12151
Siva Velusamy0469dd62011-11-30 15:05:37 -080012152 glmsg.set_function(GLMessage::glScalef);
12153
12154 // copy argument x
12155 GLMessage_DataType *arg_x = glmsg.add_args();
12156 arg_x->set_isarray(false);
12157 arg_x->set_type(GLMessage::DataType::FLOAT);
12158 arg_x->add_floatvalue(x);
12159
12160 // copy argument y
12161 GLMessage_DataType *arg_y = glmsg.add_args();
12162 arg_y->set_isarray(false);
12163 arg_y->set_type(GLMessage::DataType::FLOAT);
12164 arg_y->add_floatvalue(y);
12165
12166 // copy argument z
12167 GLMessage_DataType *arg_z = glmsg.add_args();
12168 arg_z->set_isarray(false);
12169 arg_z->set_type(GLMessage::DataType::FLOAT);
12170 arg_z->add_floatvalue(z);
12171
12172 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012173 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12174 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012175 glContext->hooks->gl.glScalef(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080012176 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12177 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012178
Siva Velusamy98011422012-02-27 12:02:47 -080012179 void *pointerArgs[] = {
12180 };
12181
Siva Velusamy05df4502012-02-17 10:55:03 -080012182 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12183 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012184 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012185 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012186}
12187
12188void GLTrace_glTexEnvf(GLenum target, GLenum pname, GLfloat param) {
12189 GLMessage glmsg;
12190 GLTraceContext *glContext = getGLTraceContext();
12191
Siva Velusamy0469dd62011-11-30 15:05:37 -080012192 glmsg.set_function(GLMessage::glTexEnvf);
12193
12194 // copy argument target
12195 GLMessage_DataType *arg_target = glmsg.add_args();
12196 arg_target->set_isarray(false);
12197 arg_target->set_type(GLMessage::DataType::ENUM);
12198 arg_target->add_intvalue((int)target);
12199
12200 // copy argument pname
12201 GLMessage_DataType *arg_pname = glmsg.add_args();
12202 arg_pname->set_isarray(false);
12203 arg_pname->set_type(GLMessage::DataType::ENUM);
12204 arg_pname->add_intvalue((int)pname);
12205
12206 // copy argument param
12207 GLMessage_DataType *arg_param = glmsg.add_args();
12208 arg_param->set_isarray(false);
12209 arg_param->set_type(GLMessage::DataType::FLOAT);
12210 arg_param->add_floatvalue(param);
12211
12212 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012213 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12214 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012215 glContext->hooks->gl.glTexEnvf(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080012216 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12217 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012218
Siva Velusamy98011422012-02-27 12:02:47 -080012219 void *pointerArgs[] = {
12220 };
12221
Siva Velusamy05df4502012-02-17 10:55:03 -080012222 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12223 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012224 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012225 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012226}
12227
12228void GLTrace_glTexEnvfv(GLenum target, GLenum pname, const GLfloat *params) {
12229 GLMessage glmsg;
12230 GLTraceContext *glContext = getGLTraceContext();
12231
Siva Velusamy0469dd62011-11-30 15:05:37 -080012232 glmsg.set_function(GLMessage::glTexEnvfv);
12233
12234 // copy argument target
12235 GLMessage_DataType *arg_target = glmsg.add_args();
12236 arg_target->set_isarray(false);
12237 arg_target->set_type(GLMessage::DataType::ENUM);
12238 arg_target->add_intvalue((int)target);
12239
12240 // copy argument pname
12241 GLMessage_DataType *arg_pname = glmsg.add_args();
12242 arg_pname->set_isarray(false);
12243 arg_pname->set_type(GLMessage::DataType::ENUM);
12244 arg_pname->add_intvalue((int)pname);
12245
12246 // copy argument params
12247 GLMessage_DataType *arg_params = glmsg.add_args();
12248 arg_params->set_isarray(false);
12249 arg_params->set_type(GLMessage::DataType::INT);
12250 arg_params->add_intvalue((int)params);
12251
12252 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012253 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12254 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012255 glContext->hooks->gl.glTexEnvfv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012256 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12257 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012258
Siva Velusamy98011422012-02-27 12:02:47 -080012259 void *pointerArgs[] = {
12260 (void *) params,
12261 };
12262
Siva Velusamy05df4502012-02-17 10:55:03 -080012263 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12264 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012265 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012266 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012267}
12268
12269void GLTrace_glTranslatef(GLfloat x, GLfloat y, GLfloat z) {
12270 GLMessage glmsg;
12271 GLTraceContext *glContext = getGLTraceContext();
12272
Siva Velusamy0469dd62011-11-30 15:05:37 -080012273 glmsg.set_function(GLMessage::glTranslatef);
12274
12275 // copy argument x
12276 GLMessage_DataType *arg_x = glmsg.add_args();
12277 arg_x->set_isarray(false);
12278 arg_x->set_type(GLMessage::DataType::FLOAT);
12279 arg_x->add_floatvalue(x);
12280
12281 // copy argument y
12282 GLMessage_DataType *arg_y = glmsg.add_args();
12283 arg_y->set_isarray(false);
12284 arg_y->set_type(GLMessage::DataType::FLOAT);
12285 arg_y->add_floatvalue(y);
12286
12287 // copy argument z
12288 GLMessage_DataType *arg_z = glmsg.add_args();
12289 arg_z->set_isarray(false);
12290 arg_z->set_type(GLMessage::DataType::FLOAT);
12291 arg_z->add_floatvalue(z);
12292
12293 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012294 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12295 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012296 glContext->hooks->gl.glTranslatef(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080012297 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12298 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012299
Siva Velusamy98011422012-02-27 12:02:47 -080012300 void *pointerArgs[] = {
12301 };
12302
Siva Velusamy05df4502012-02-17 10:55:03 -080012303 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12304 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012305 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012306 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012307}
12308
12309void GLTrace_glAlphaFuncx(GLenum func, GLclampx ref) {
12310 GLMessage glmsg;
12311 GLTraceContext *glContext = getGLTraceContext();
12312
Siva Velusamy0469dd62011-11-30 15:05:37 -080012313 glmsg.set_function(GLMessage::glAlphaFuncx);
12314
12315 // copy argument func
12316 GLMessage_DataType *arg_func = glmsg.add_args();
12317 arg_func->set_isarray(false);
12318 arg_func->set_type(GLMessage::DataType::ENUM);
12319 arg_func->add_intvalue((int)func);
12320
12321 // copy argument ref
12322 GLMessage_DataType *arg_ref = glmsg.add_args();
12323 arg_ref->set_isarray(false);
12324 arg_ref->set_type(GLMessage::DataType::INT);
12325 arg_ref->add_intvalue(ref);
12326
12327 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012328 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12329 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012330 glContext->hooks->gl.glAlphaFuncx(func, ref);
Siva Velusamy05df4502012-02-17 10:55:03 -080012331 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12332 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012333
Siva Velusamy98011422012-02-27 12:02:47 -080012334 void *pointerArgs[] = {
12335 };
12336
Siva Velusamy05df4502012-02-17 10:55:03 -080012337 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12338 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012339 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012340 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012341}
12342
12343void GLTrace_glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) {
12344 GLMessage glmsg;
12345 GLTraceContext *glContext = getGLTraceContext();
12346
Siva Velusamy0469dd62011-11-30 15:05:37 -080012347 glmsg.set_function(GLMessage::glClearColorx);
12348
12349 // copy argument red
12350 GLMessage_DataType *arg_red = glmsg.add_args();
12351 arg_red->set_isarray(false);
12352 arg_red->set_type(GLMessage::DataType::INT);
12353 arg_red->add_intvalue(red);
12354
12355 // copy argument green
12356 GLMessage_DataType *arg_green = glmsg.add_args();
12357 arg_green->set_isarray(false);
12358 arg_green->set_type(GLMessage::DataType::INT);
12359 arg_green->add_intvalue(green);
12360
12361 // copy argument blue
12362 GLMessage_DataType *arg_blue = glmsg.add_args();
12363 arg_blue->set_isarray(false);
12364 arg_blue->set_type(GLMessage::DataType::INT);
12365 arg_blue->add_intvalue(blue);
12366
12367 // copy argument alpha
12368 GLMessage_DataType *arg_alpha = glmsg.add_args();
12369 arg_alpha->set_isarray(false);
12370 arg_alpha->set_type(GLMessage::DataType::INT);
12371 arg_alpha->add_intvalue(alpha);
12372
12373 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012374 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12375 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012376 glContext->hooks->gl.glClearColorx(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080012377 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12378 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012379
Siva Velusamy98011422012-02-27 12:02:47 -080012380 void *pointerArgs[] = {
12381 };
12382
Siva Velusamy05df4502012-02-17 10:55:03 -080012383 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12384 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012385 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012386 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012387}
12388
12389void GLTrace_glClearDepthx(GLclampx depth) {
12390 GLMessage glmsg;
12391 GLTraceContext *glContext = getGLTraceContext();
12392
Siva Velusamy0469dd62011-11-30 15:05:37 -080012393 glmsg.set_function(GLMessage::glClearDepthx);
12394
12395 // copy argument depth
12396 GLMessage_DataType *arg_depth = glmsg.add_args();
12397 arg_depth->set_isarray(false);
12398 arg_depth->set_type(GLMessage::DataType::INT);
12399 arg_depth->add_intvalue(depth);
12400
12401 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012402 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12403 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012404 glContext->hooks->gl.glClearDepthx(depth);
Siva Velusamy05df4502012-02-17 10:55:03 -080012405 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12406 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012407
Siva Velusamy98011422012-02-27 12:02:47 -080012408 void *pointerArgs[] = {
12409 };
12410
Siva Velusamy05df4502012-02-17 10:55:03 -080012411 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12412 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012413 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012414 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012415}
12416
12417void GLTrace_glClientActiveTexture(GLenum texture) {
12418 GLMessage glmsg;
12419 GLTraceContext *glContext = getGLTraceContext();
12420
Siva Velusamy0469dd62011-11-30 15:05:37 -080012421 glmsg.set_function(GLMessage::glClientActiveTexture);
12422
12423 // copy argument texture
12424 GLMessage_DataType *arg_texture = glmsg.add_args();
12425 arg_texture->set_isarray(false);
12426 arg_texture->set_type(GLMessage::DataType::ENUM);
12427 arg_texture->add_intvalue((int)texture);
12428
12429 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012430 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12431 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012432 glContext->hooks->gl.glClientActiveTexture(texture);
Siva Velusamy05df4502012-02-17 10:55:03 -080012433 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12434 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012435
Siva Velusamy98011422012-02-27 12:02:47 -080012436 void *pointerArgs[] = {
12437 };
12438
Siva Velusamy05df4502012-02-17 10:55:03 -080012439 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12440 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012441 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012442 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012443}
12444
12445void GLTrace_glClipPlanex(GLenum plane, const GLfixed *equation) {
12446 GLMessage glmsg;
12447 GLTraceContext *glContext = getGLTraceContext();
12448
Siva Velusamy0469dd62011-11-30 15:05:37 -080012449 glmsg.set_function(GLMessage::glClipPlanex);
12450
12451 // copy argument plane
12452 GLMessage_DataType *arg_plane = glmsg.add_args();
12453 arg_plane->set_isarray(false);
12454 arg_plane->set_type(GLMessage::DataType::ENUM);
12455 arg_plane->add_intvalue((int)plane);
12456
12457 // copy argument equation
12458 GLMessage_DataType *arg_equation = glmsg.add_args();
12459 arg_equation->set_isarray(false);
12460 arg_equation->set_type(GLMessage::DataType::INT);
12461 arg_equation->add_intvalue((int)equation);
12462
12463 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012464 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12465 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012466 glContext->hooks->gl.glClipPlanex(plane, equation);
Siva Velusamy05df4502012-02-17 10:55:03 -080012467 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12468 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012469
Siva Velusamy98011422012-02-27 12:02:47 -080012470 void *pointerArgs[] = {
12471 (void *) equation,
12472 };
12473
Siva Velusamy05df4502012-02-17 10:55:03 -080012474 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12475 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012476 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012477 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012478}
12479
12480void GLTrace_glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) {
12481 GLMessage glmsg;
12482 GLTraceContext *glContext = getGLTraceContext();
12483
Siva Velusamy0469dd62011-11-30 15:05:37 -080012484 glmsg.set_function(GLMessage::glColor4ub);
12485
12486 // copy argument red
12487 GLMessage_DataType *arg_red = glmsg.add_args();
12488 arg_red->set_isarray(false);
12489 arg_red->set_type(GLMessage::DataType::BYTE);
12490 arg_red->add_intvalue((int)red);
12491
12492 // copy argument green
12493 GLMessage_DataType *arg_green = glmsg.add_args();
12494 arg_green->set_isarray(false);
12495 arg_green->set_type(GLMessage::DataType::BYTE);
12496 arg_green->add_intvalue((int)green);
12497
12498 // copy argument blue
12499 GLMessage_DataType *arg_blue = glmsg.add_args();
12500 arg_blue->set_isarray(false);
12501 arg_blue->set_type(GLMessage::DataType::BYTE);
12502 arg_blue->add_intvalue((int)blue);
12503
12504 // copy argument alpha
12505 GLMessage_DataType *arg_alpha = glmsg.add_args();
12506 arg_alpha->set_isarray(false);
12507 arg_alpha->set_type(GLMessage::DataType::BYTE);
12508 arg_alpha->add_intvalue((int)alpha);
12509
12510 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012511 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12512 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012513 glContext->hooks->gl.glColor4ub(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080012514 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12515 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012516
Siva Velusamy98011422012-02-27 12:02:47 -080012517 void *pointerArgs[] = {
12518 };
12519
Siva Velusamy05df4502012-02-17 10:55:03 -080012520 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12521 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012522 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012523 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012524}
12525
12526void GLTrace_glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {
12527 GLMessage glmsg;
12528 GLTraceContext *glContext = getGLTraceContext();
12529
Siva Velusamy0469dd62011-11-30 15:05:37 -080012530 glmsg.set_function(GLMessage::glColor4x);
12531
12532 // copy argument red
12533 GLMessage_DataType *arg_red = glmsg.add_args();
12534 arg_red->set_isarray(false);
12535 arg_red->set_type(GLMessage::DataType::INT);
12536 arg_red->add_intvalue(red);
12537
12538 // copy argument green
12539 GLMessage_DataType *arg_green = glmsg.add_args();
12540 arg_green->set_isarray(false);
12541 arg_green->set_type(GLMessage::DataType::INT);
12542 arg_green->add_intvalue(green);
12543
12544 // copy argument blue
12545 GLMessage_DataType *arg_blue = glmsg.add_args();
12546 arg_blue->set_isarray(false);
12547 arg_blue->set_type(GLMessage::DataType::INT);
12548 arg_blue->add_intvalue(blue);
12549
12550 // copy argument alpha
12551 GLMessage_DataType *arg_alpha = glmsg.add_args();
12552 arg_alpha->set_isarray(false);
12553 arg_alpha->set_type(GLMessage::DataType::INT);
12554 arg_alpha->add_intvalue(alpha);
12555
12556 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012557 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12558 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012559 glContext->hooks->gl.glColor4x(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080012560 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12561 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012562
Siva Velusamy98011422012-02-27 12:02:47 -080012563 void *pointerArgs[] = {
12564 };
12565
Siva Velusamy05df4502012-02-17 10:55:03 -080012566 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12567 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012568 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012569 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012570}
12571
12572void GLTrace_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
12573 GLMessage glmsg;
12574 GLTraceContext *glContext = getGLTraceContext();
12575
Siva Velusamy0469dd62011-11-30 15:05:37 -080012576 glmsg.set_function(GLMessage::glColorPointer);
12577
12578 // copy argument size
12579 GLMessage_DataType *arg_size = glmsg.add_args();
12580 arg_size->set_isarray(false);
12581 arg_size->set_type(GLMessage::DataType::INT);
12582 arg_size->add_intvalue(size);
12583
12584 // copy argument type
12585 GLMessage_DataType *arg_type = glmsg.add_args();
12586 arg_type->set_isarray(false);
12587 arg_type->set_type(GLMessage::DataType::ENUM);
12588 arg_type->add_intvalue((int)type);
12589
12590 // copy argument stride
12591 GLMessage_DataType *arg_stride = glmsg.add_args();
12592 arg_stride->set_isarray(false);
12593 arg_stride->set_type(GLMessage::DataType::INT);
12594 arg_stride->add_intvalue(stride);
12595
12596 // copy argument pointer
12597 GLMessage_DataType *arg_pointer = glmsg.add_args();
12598 arg_pointer->set_isarray(false);
12599 arg_pointer->set_type(GLMessage::DataType::INT);
12600 arg_pointer->add_intvalue((int)pointer);
12601
12602 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012603 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12604 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012605 glContext->hooks->gl.glColorPointer(size, type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080012606 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12607 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012608
Siva Velusamy98011422012-02-27 12:02:47 -080012609 void *pointerArgs[] = {
12610 (void *) pointer,
12611 };
12612
Siva Velusamy05df4502012-02-17 10:55:03 -080012613 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12614 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012615 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012616 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012617}
12618
12619void GLTrace_glDepthRangex(GLclampx zNear, GLclampx zFar) {
12620 GLMessage glmsg;
12621 GLTraceContext *glContext = getGLTraceContext();
12622
Siva Velusamy0469dd62011-11-30 15:05:37 -080012623 glmsg.set_function(GLMessage::glDepthRangex);
12624
12625 // copy argument zNear
12626 GLMessage_DataType *arg_zNear = glmsg.add_args();
12627 arg_zNear->set_isarray(false);
12628 arg_zNear->set_type(GLMessage::DataType::INT);
12629 arg_zNear->add_intvalue(zNear);
12630
12631 // copy argument zFar
12632 GLMessage_DataType *arg_zFar = glmsg.add_args();
12633 arg_zFar->set_isarray(false);
12634 arg_zFar->set_type(GLMessage::DataType::INT);
12635 arg_zFar->add_intvalue(zFar);
12636
12637 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012638 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12639 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012640 glContext->hooks->gl.glDepthRangex(zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080012641 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12642 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012643
Siva Velusamy98011422012-02-27 12:02:47 -080012644 void *pointerArgs[] = {
12645 };
12646
Siva Velusamy05df4502012-02-17 10:55:03 -080012647 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12648 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012649 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012650 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012651}
12652
12653void GLTrace_glDisableClientState(GLenum array) {
12654 GLMessage glmsg;
12655 GLTraceContext *glContext = getGLTraceContext();
12656
Siva Velusamy0469dd62011-11-30 15:05:37 -080012657 glmsg.set_function(GLMessage::glDisableClientState);
12658
12659 // copy argument array
12660 GLMessage_DataType *arg_array = glmsg.add_args();
12661 arg_array->set_isarray(false);
12662 arg_array->set_type(GLMessage::DataType::ENUM);
12663 arg_array->add_intvalue((int)array);
12664
12665 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012666 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12667 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012668 glContext->hooks->gl.glDisableClientState(array);
Siva Velusamy05df4502012-02-17 10:55:03 -080012669 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12670 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012671
Siva Velusamy98011422012-02-27 12:02:47 -080012672 void *pointerArgs[] = {
12673 };
12674
Siva Velusamy05df4502012-02-17 10:55:03 -080012675 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12676 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012677 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012678 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012679}
12680
12681void GLTrace_glEnableClientState(GLenum array) {
12682 GLMessage glmsg;
12683 GLTraceContext *glContext = getGLTraceContext();
12684
Siva Velusamy0469dd62011-11-30 15:05:37 -080012685 glmsg.set_function(GLMessage::glEnableClientState);
12686
12687 // copy argument array
12688 GLMessage_DataType *arg_array = glmsg.add_args();
12689 arg_array->set_isarray(false);
12690 arg_array->set_type(GLMessage::DataType::ENUM);
12691 arg_array->add_intvalue((int)array);
12692
12693 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012694 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12695 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012696 glContext->hooks->gl.glEnableClientState(array);
Siva Velusamy05df4502012-02-17 10:55:03 -080012697 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12698 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012699
Siva Velusamy98011422012-02-27 12:02:47 -080012700 void *pointerArgs[] = {
12701 };
12702
Siva Velusamy05df4502012-02-17 10:55:03 -080012703 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12704 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012705 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012706 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012707}
12708
12709void GLTrace_glFogx(GLenum pname, GLfixed param) {
12710 GLMessage glmsg;
12711 GLTraceContext *glContext = getGLTraceContext();
12712
Siva Velusamy0469dd62011-11-30 15:05:37 -080012713 glmsg.set_function(GLMessage::glFogx);
12714
12715 // copy argument pname
12716 GLMessage_DataType *arg_pname = glmsg.add_args();
12717 arg_pname->set_isarray(false);
12718 arg_pname->set_type(GLMessage::DataType::ENUM);
12719 arg_pname->add_intvalue((int)pname);
12720
12721 // copy argument param
12722 GLMessage_DataType *arg_param = glmsg.add_args();
12723 arg_param->set_isarray(false);
12724 arg_param->set_type(GLMessage::DataType::INT);
12725 arg_param->add_intvalue(param);
12726
12727 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012728 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12729 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012730 glContext->hooks->gl.glFogx(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080012731 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12732 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012733
Siva Velusamy98011422012-02-27 12:02:47 -080012734 void *pointerArgs[] = {
12735 };
12736
Siva Velusamy05df4502012-02-17 10:55:03 -080012737 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12738 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012739 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012740 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012741}
12742
12743void GLTrace_glFogxv(GLenum pname, const GLfixed *params) {
12744 GLMessage glmsg;
12745 GLTraceContext *glContext = getGLTraceContext();
12746
Siva Velusamy0469dd62011-11-30 15:05:37 -080012747 glmsg.set_function(GLMessage::glFogxv);
12748
12749 // copy argument pname
12750 GLMessage_DataType *arg_pname = glmsg.add_args();
12751 arg_pname->set_isarray(false);
12752 arg_pname->set_type(GLMessage::DataType::ENUM);
12753 arg_pname->add_intvalue((int)pname);
12754
12755 // copy argument params
12756 GLMessage_DataType *arg_params = glmsg.add_args();
12757 arg_params->set_isarray(false);
12758 arg_params->set_type(GLMessage::DataType::INT);
12759 arg_params->add_intvalue((int)params);
12760
12761 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012762 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12763 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012764 glContext->hooks->gl.glFogxv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012765 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12766 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012767
Siva Velusamy98011422012-02-27 12:02:47 -080012768 void *pointerArgs[] = {
12769 (void *) params,
12770 };
12771
Siva Velusamy05df4502012-02-17 10:55:03 -080012772 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12773 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012774 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012775 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012776}
12777
12778void GLTrace_glFrustumx(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
12779 GLMessage glmsg;
12780 GLTraceContext *glContext = getGLTraceContext();
12781
Siva Velusamy0469dd62011-11-30 15:05:37 -080012782 glmsg.set_function(GLMessage::glFrustumx);
12783
12784 // copy argument left
12785 GLMessage_DataType *arg_left = glmsg.add_args();
12786 arg_left->set_isarray(false);
12787 arg_left->set_type(GLMessage::DataType::INT);
12788 arg_left->add_intvalue(left);
12789
12790 // copy argument right
12791 GLMessage_DataType *arg_right = glmsg.add_args();
12792 arg_right->set_isarray(false);
12793 arg_right->set_type(GLMessage::DataType::INT);
12794 arg_right->add_intvalue(right);
12795
12796 // copy argument bottom
12797 GLMessage_DataType *arg_bottom = glmsg.add_args();
12798 arg_bottom->set_isarray(false);
12799 arg_bottom->set_type(GLMessage::DataType::INT);
12800 arg_bottom->add_intvalue(bottom);
12801
12802 // copy argument top
12803 GLMessage_DataType *arg_top = glmsg.add_args();
12804 arg_top->set_isarray(false);
12805 arg_top->set_type(GLMessage::DataType::INT);
12806 arg_top->add_intvalue(top);
12807
12808 // copy argument zNear
12809 GLMessage_DataType *arg_zNear = glmsg.add_args();
12810 arg_zNear->set_isarray(false);
12811 arg_zNear->set_type(GLMessage::DataType::INT);
12812 arg_zNear->add_intvalue(zNear);
12813
12814 // copy argument zFar
12815 GLMessage_DataType *arg_zFar = glmsg.add_args();
12816 arg_zFar->set_isarray(false);
12817 arg_zFar->set_type(GLMessage::DataType::INT);
12818 arg_zFar->add_intvalue(zFar);
12819
12820 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012821 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12822 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012823 glContext->hooks->gl.glFrustumx(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080012824 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12825 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012826
Siva Velusamy98011422012-02-27 12:02:47 -080012827 void *pointerArgs[] = {
12828 };
12829
Siva Velusamy05df4502012-02-17 10:55:03 -080012830 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12831 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012832 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012833 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012834}
12835
12836void GLTrace_glGetClipPlanex(GLenum pname, GLfixed eqn[4]) {
12837 GLMessage glmsg;
12838 GLTraceContext *glContext = getGLTraceContext();
12839
Siva Velusamy0469dd62011-11-30 15:05:37 -080012840 glmsg.set_function(GLMessage::glGetClipPlanex);
12841
12842 // copy argument pname
12843 GLMessage_DataType *arg_pname = glmsg.add_args();
12844 arg_pname->set_isarray(false);
12845 arg_pname->set_type(GLMessage::DataType::ENUM);
12846 arg_pname->add_intvalue((int)pname);
12847
12848 // copy argument eqn
12849 GLMessage_DataType *arg_eqn = glmsg.add_args();
12850 arg_eqn->set_isarray(false);
12851 arg_eqn->set_type(GLMessage::DataType::INT);
12852 arg_eqn->add_intvalue((int)eqn);
12853
12854 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012855 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12856 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012857 glContext->hooks->gl.glGetClipPlanex(pname, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080012858 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12859 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012860
Siva Velusamy98011422012-02-27 12:02:47 -080012861 void *pointerArgs[] = {
12862 (void *) eqn,
12863 };
12864
Siva Velusamy05df4502012-02-17 10:55:03 -080012865 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12866 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012867 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012868 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012869}
12870
12871void GLTrace_glGetFixedv(GLenum pname, GLfixed *params) {
12872 GLMessage glmsg;
12873 GLTraceContext *glContext = getGLTraceContext();
12874
Siva Velusamy0469dd62011-11-30 15:05:37 -080012875 glmsg.set_function(GLMessage::glGetFixedv);
12876
12877 // copy argument pname
12878 GLMessage_DataType *arg_pname = glmsg.add_args();
12879 arg_pname->set_isarray(false);
12880 arg_pname->set_type(GLMessage::DataType::ENUM);
12881 arg_pname->add_intvalue((int)pname);
12882
12883 // copy argument params
12884 GLMessage_DataType *arg_params = glmsg.add_args();
12885 arg_params->set_isarray(false);
12886 arg_params->set_type(GLMessage::DataType::INT);
12887 arg_params->add_intvalue((int)params);
12888
12889 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012890 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12891 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012892 glContext->hooks->gl.glGetFixedv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012893 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12894 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012895
Siva Velusamy98011422012-02-27 12:02:47 -080012896 void *pointerArgs[] = {
12897 (void *) params,
12898 };
12899
Siva Velusamy05df4502012-02-17 10:55:03 -080012900 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12901 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012902 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012903 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012904}
12905
12906void GLTrace_glGetLightxv(GLenum light, GLenum pname, GLfixed *params) {
12907 GLMessage glmsg;
12908 GLTraceContext *glContext = getGLTraceContext();
12909
Siva Velusamy0469dd62011-11-30 15:05:37 -080012910 glmsg.set_function(GLMessage::glGetLightxv);
12911
12912 // copy argument light
12913 GLMessage_DataType *arg_light = glmsg.add_args();
12914 arg_light->set_isarray(false);
12915 arg_light->set_type(GLMessage::DataType::ENUM);
12916 arg_light->add_intvalue((int)light);
12917
12918 // copy argument pname
12919 GLMessage_DataType *arg_pname = glmsg.add_args();
12920 arg_pname->set_isarray(false);
12921 arg_pname->set_type(GLMessage::DataType::ENUM);
12922 arg_pname->add_intvalue((int)pname);
12923
12924 // copy argument params
12925 GLMessage_DataType *arg_params = glmsg.add_args();
12926 arg_params->set_isarray(false);
12927 arg_params->set_type(GLMessage::DataType::INT);
12928 arg_params->add_intvalue((int)params);
12929
12930 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012931 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12932 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012933 glContext->hooks->gl.glGetLightxv(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012934 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12935 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012936
Siva Velusamy98011422012-02-27 12:02:47 -080012937 void *pointerArgs[] = {
12938 (void *) params,
12939 };
12940
Siva Velusamy05df4502012-02-17 10:55:03 -080012941 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12942 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012943 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012944 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012945}
12946
12947void GLTrace_glGetMaterialxv(GLenum face, GLenum pname, GLfixed *params) {
12948 GLMessage glmsg;
12949 GLTraceContext *glContext = getGLTraceContext();
12950
Siva Velusamy0469dd62011-11-30 15:05:37 -080012951 glmsg.set_function(GLMessage::glGetMaterialxv);
12952
12953 // copy argument face
12954 GLMessage_DataType *arg_face = glmsg.add_args();
12955 arg_face->set_isarray(false);
12956 arg_face->set_type(GLMessage::DataType::ENUM);
12957 arg_face->add_intvalue((int)face);
12958
12959 // copy argument pname
12960 GLMessage_DataType *arg_pname = glmsg.add_args();
12961 arg_pname->set_isarray(false);
12962 arg_pname->set_type(GLMessage::DataType::ENUM);
12963 arg_pname->add_intvalue((int)pname);
12964
12965 // copy argument params
12966 GLMessage_DataType *arg_params = glmsg.add_args();
12967 arg_params->set_isarray(false);
12968 arg_params->set_type(GLMessage::DataType::INT);
12969 arg_params->add_intvalue((int)params);
12970
12971 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080012972 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
12973 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012974 glContext->hooks->gl.glGetMaterialxv(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080012975 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
12976 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012977
Siva Velusamy98011422012-02-27 12:02:47 -080012978 void *pointerArgs[] = {
12979 (void *) params,
12980 };
12981
Siva Velusamy05df4502012-02-17 10:55:03 -080012982 fixupGLMessage(glContext, wallStartTime, wallEndTime,
12983 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080012984 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080012985 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080012986}
12987
12988void GLTrace_glGetPointerv(GLenum pname, GLvoid **params) {
12989 GLMessage glmsg;
12990 GLTraceContext *glContext = getGLTraceContext();
12991
Siva Velusamy0469dd62011-11-30 15:05:37 -080012992 glmsg.set_function(GLMessage::glGetPointerv);
12993
12994 // copy argument pname
12995 GLMessage_DataType *arg_pname = glmsg.add_args();
12996 arg_pname->set_isarray(false);
12997 arg_pname->set_type(GLMessage::DataType::ENUM);
12998 arg_pname->add_intvalue((int)pname);
12999
13000 // copy argument params
13001 GLMessage_DataType *arg_params = glmsg.add_args();
13002 arg_params->set_isarray(false);
13003 arg_params->set_type(GLMessage::DataType::INT);
13004 arg_params->add_intvalue((int)params);
13005
13006 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013007 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13008 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013009 glContext->hooks->gl.glGetPointerv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013010 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13011 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013012
Siva Velusamy98011422012-02-27 12:02:47 -080013013 void *pointerArgs[] = {
13014 (void *) params,
13015 };
13016
Siva Velusamy05df4502012-02-17 10:55:03 -080013017 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13018 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013019 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013020 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013021}
13022
13023void GLTrace_glGetTexEnviv(GLenum env, GLenum pname, GLint *params) {
13024 GLMessage glmsg;
13025 GLTraceContext *glContext = getGLTraceContext();
13026
Siva Velusamy0469dd62011-11-30 15:05:37 -080013027 glmsg.set_function(GLMessage::glGetTexEnviv);
13028
13029 // copy argument env
13030 GLMessage_DataType *arg_env = glmsg.add_args();
13031 arg_env->set_isarray(false);
13032 arg_env->set_type(GLMessage::DataType::ENUM);
13033 arg_env->add_intvalue((int)env);
13034
13035 // copy argument pname
13036 GLMessage_DataType *arg_pname = glmsg.add_args();
13037 arg_pname->set_isarray(false);
13038 arg_pname->set_type(GLMessage::DataType::ENUM);
13039 arg_pname->add_intvalue((int)pname);
13040
13041 // copy argument params
13042 GLMessage_DataType *arg_params = glmsg.add_args();
13043 arg_params->set_isarray(false);
13044 arg_params->set_type(GLMessage::DataType::INT);
13045 arg_params->add_intvalue((int)params);
13046
13047 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013048 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13049 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013050 glContext->hooks->gl.glGetTexEnviv(env, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013051 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13052 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013053
Siva Velusamy98011422012-02-27 12:02:47 -080013054 void *pointerArgs[] = {
13055 (void *) params,
13056 };
13057
Siva Velusamy05df4502012-02-17 10:55:03 -080013058 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13059 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013060 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013061 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013062}
13063
13064void GLTrace_glGetTexEnvxv(GLenum env, GLenum pname, GLfixed *params) {
13065 GLMessage glmsg;
13066 GLTraceContext *glContext = getGLTraceContext();
13067
Siva Velusamy0469dd62011-11-30 15:05:37 -080013068 glmsg.set_function(GLMessage::glGetTexEnvxv);
13069
13070 // copy argument env
13071 GLMessage_DataType *arg_env = glmsg.add_args();
13072 arg_env->set_isarray(false);
13073 arg_env->set_type(GLMessage::DataType::ENUM);
13074 arg_env->add_intvalue((int)env);
13075
13076 // copy argument pname
13077 GLMessage_DataType *arg_pname = glmsg.add_args();
13078 arg_pname->set_isarray(false);
13079 arg_pname->set_type(GLMessage::DataType::ENUM);
13080 arg_pname->add_intvalue((int)pname);
13081
13082 // copy argument params
13083 GLMessage_DataType *arg_params = glmsg.add_args();
13084 arg_params->set_isarray(false);
13085 arg_params->set_type(GLMessage::DataType::INT);
13086 arg_params->add_intvalue((int)params);
13087
13088 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013089 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13090 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013091 glContext->hooks->gl.glGetTexEnvxv(env, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013092 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13093 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013094
Siva Velusamy98011422012-02-27 12:02:47 -080013095 void *pointerArgs[] = {
13096 (void *) params,
13097 };
13098
Siva Velusamy05df4502012-02-17 10:55:03 -080013099 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13100 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013101 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013102 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013103}
13104
13105void GLTrace_glGetTexParameterxv(GLenum target, GLenum pname, GLfixed *params) {
13106 GLMessage glmsg;
13107 GLTraceContext *glContext = getGLTraceContext();
13108
Siva Velusamy0469dd62011-11-30 15:05:37 -080013109 glmsg.set_function(GLMessage::glGetTexParameterxv);
13110
13111 // copy argument target
13112 GLMessage_DataType *arg_target = glmsg.add_args();
13113 arg_target->set_isarray(false);
13114 arg_target->set_type(GLMessage::DataType::ENUM);
13115 arg_target->add_intvalue((int)target);
13116
13117 // copy argument pname
13118 GLMessage_DataType *arg_pname = glmsg.add_args();
13119 arg_pname->set_isarray(false);
13120 arg_pname->set_type(GLMessage::DataType::ENUM);
13121 arg_pname->add_intvalue((int)pname);
13122
13123 // copy argument params
13124 GLMessage_DataType *arg_params = glmsg.add_args();
13125 arg_params->set_isarray(false);
13126 arg_params->set_type(GLMessage::DataType::INT);
13127 arg_params->add_intvalue((int)params);
13128
13129 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013130 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13131 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013132 glContext->hooks->gl.glGetTexParameterxv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013133 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13134 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013135
Siva Velusamy98011422012-02-27 12:02:47 -080013136 void *pointerArgs[] = {
13137 (void *) params,
13138 };
13139
Siva Velusamy05df4502012-02-17 10:55:03 -080013140 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13141 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013142 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013143 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013144}
13145
13146void GLTrace_glLightModelx(GLenum pname, GLfixed param) {
13147 GLMessage glmsg;
13148 GLTraceContext *glContext = getGLTraceContext();
13149
Siva Velusamy0469dd62011-11-30 15:05:37 -080013150 glmsg.set_function(GLMessage::glLightModelx);
13151
13152 // copy argument pname
13153 GLMessage_DataType *arg_pname = glmsg.add_args();
13154 arg_pname->set_isarray(false);
13155 arg_pname->set_type(GLMessage::DataType::ENUM);
13156 arg_pname->add_intvalue((int)pname);
13157
13158 // copy argument param
13159 GLMessage_DataType *arg_param = glmsg.add_args();
13160 arg_param->set_isarray(false);
13161 arg_param->set_type(GLMessage::DataType::INT);
13162 arg_param->add_intvalue(param);
13163
13164 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013165 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13166 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013167 glContext->hooks->gl.glLightModelx(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080013168 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13169 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013170
Siva Velusamy98011422012-02-27 12:02:47 -080013171 void *pointerArgs[] = {
13172 };
13173
Siva Velusamy05df4502012-02-17 10:55:03 -080013174 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13175 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013176 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013177 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013178}
13179
13180void GLTrace_glLightModelxv(GLenum pname, const GLfixed *params) {
13181 GLMessage glmsg;
13182 GLTraceContext *glContext = getGLTraceContext();
13183
Siva Velusamy0469dd62011-11-30 15:05:37 -080013184 glmsg.set_function(GLMessage::glLightModelxv);
13185
13186 // copy argument pname
13187 GLMessage_DataType *arg_pname = glmsg.add_args();
13188 arg_pname->set_isarray(false);
13189 arg_pname->set_type(GLMessage::DataType::ENUM);
13190 arg_pname->add_intvalue((int)pname);
13191
13192 // copy argument params
13193 GLMessage_DataType *arg_params = glmsg.add_args();
13194 arg_params->set_isarray(false);
13195 arg_params->set_type(GLMessage::DataType::INT);
13196 arg_params->add_intvalue((int)params);
13197
13198 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013199 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13200 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013201 glContext->hooks->gl.glLightModelxv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013202 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13203 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013204
Siva Velusamy98011422012-02-27 12:02:47 -080013205 void *pointerArgs[] = {
13206 (void *) params,
13207 };
13208
Siva Velusamy05df4502012-02-17 10:55:03 -080013209 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13210 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013211 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013212 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013213}
13214
13215void GLTrace_glLightx(GLenum light, GLenum pname, GLfixed param) {
13216 GLMessage glmsg;
13217 GLTraceContext *glContext = getGLTraceContext();
13218
Siva Velusamy0469dd62011-11-30 15:05:37 -080013219 glmsg.set_function(GLMessage::glLightx);
13220
13221 // copy argument light
13222 GLMessage_DataType *arg_light = glmsg.add_args();
13223 arg_light->set_isarray(false);
13224 arg_light->set_type(GLMessage::DataType::ENUM);
13225 arg_light->add_intvalue((int)light);
13226
13227 // copy argument pname
13228 GLMessage_DataType *arg_pname = glmsg.add_args();
13229 arg_pname->set_isarray(false);
13230 arg_pname->set_type(GLMessage::DataType::ENUM);
13231 arg_pname->add_intvalue((int)pname);
13232
13233 // copy argument param
13234 GLMessage_DataType *arg_param = glmsg.add_args();
13235 arg_param->set_isarray(false);
13236 arg_param->set_type(GLMessage::DataType::INT);
13237 arg_param->add_intvalue(param);
13238
13239 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013240 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13241 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013242 glContext->hooks->gl.glLightx(light, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080013243 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13244 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013245
Siva Velusamy98011422012-02-27 12:02:47 -080013246 void *pointerArgs[] = {
13247 };
13248
Siva Velusamy05df4502012-02-17 10:55:03 -080013249 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13250 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013251 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013252 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013253}
13254
13255void GLTrace_glLightxv(GLenum light, GLenum pname, const GLfixed *params) {
13256 GLMessage glmsg;
13257 GLTraceContext *glContext = getGLTraceContext();
13258
Siva Velusamy0469dd62011-11-30 15:05:37 -080013259 glmsg.set_function(GLMessage::glLightxv);
13260
13261 // copy argument light
13262 GLMessage_DataType *arg_light = glmsg.add_args();
13263 arg_light->set_isarray(false);
13264 arg_light->set_type(GLMessage::DataType::ENUM);
13265 arg_light->add_intvalue((int)light);
13266
13267 // copy argument pname
13268 GLMessage_DataType *arg_pname = glmsg.add_args();
13269 arg_pname->set_isarray(false);
13270 arg_pname->set_type(GLMessage::DataType::ENUM);
13271 arg_pname->add_intvalue((int)pname);
13272
13273 // copy argument params
13274 GLMessage_DataType *arg_params = glmsg.add_args();
13275 arg_params->set_isarray(false);
13276 arg_params->set_type(GLMessage::DataType::INT);
13277 arg_params->add_intvalue((int)params);
13278
13279 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013280 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13281 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013282 glContext->hooks->gl.glLightxv(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013283 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13284 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013285
Siva Velusamy98011422012-02-27 12:02:47 -080013286 void *pointerArgs[] = {
13287 (void *) params,
13288 };
13289
Siva Velusamy05df4502012-02-17 10:55:03 -080013290 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13291 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013292 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013293 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013294}
13295
13296void GLTrace_glLineWidthx(GLfixed width) {
13297 GLMessage glmsg;
13298 GLTraceContext *glContext = getGLTraceContext();
13299
Siva Velusamy0469dd62011-11-30 15:05:37 -080013300 glmsg.set_function(GLMessage::glLineWidthx);
13301
13302 // copy argument width
13303 GLMessage_DataType *arg_width = glmsg.add_args();
13304 arg_width->set_isarray(false);
13305 arg_width->set_type(GLMessage::DataType::INT);
13306 arg_width->add_intvalue(width);
13307
13308 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013309 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13310 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013311 glContext->hooks->gl.glLineWidthx(width);
Siva Velusamy05df4502012-02-17 10:55:03 -080013312 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13313 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013314
Siva Velusamy98011422012-02-27 12:02:47 -080013315 void *pointerArgs[] = {
13316 };
13317
Siva Velusamy05df4502012-02-17 10:55:03 -080013318 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13319 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013320 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013321 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013322}
13323
13324void GLTrace_glLoadIdentity(void) {
13325 GLMessage glmsg;
13326 GLTraceContext *glContext = getGLTraceContext();
13327
Siva Velusamy0469dd62011-11-30 15:05:37 -080013328 glmsg.set_function(GLMessage::glLoadIdentity);
13329
13330 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013331 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13332 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013333 glContext->hooks->gl.glLoadIdentity();
Siva Velusamy05df4502012-02-17 10:55:03 -080013334 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13335 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013336
Siva Velusamy98011422012-02-27 12:02:47 -080013337 void *pointerArgs[] = {
13338 };
13339
Siva Velusamy05df4502012-02-17 10:55:03 -080013340 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13341 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013342 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013343 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013344}
13345
13346void GLTrace_glLoadMatrixx(const GLfixed *m) {
13347 GLMessage glmsg;
13348 GLTraceContext *glContext = getGLTraceContext();
13349
Siva Velusamy0469dd62011-11-30 15:05:37 -080013350 glmsg.set_function(GLMessage::glLoadMatrixx);
13351
13352 // copy argument m
13353 GLMessage_DataType *arg_m = glmsg.add_args();
13354 arg_m->set_isarray(false);
13355 arg_m->set_type(GLMessage::DataType::INT);
13356 arg_m->add_intvalue((int)m);
13357
13358 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013359 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13360 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013361 glContext->hooks->gl.glLoadMatrixx(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080013362 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13363 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013364
Siva Velusamy98011422012-02-27 12:02:47 -080013365 void *pointerArgs[] = {
13366 (void *) m,
13367 };
13368
Siva Velusamy05df4502012-02-17 10:55:03 -080013369 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13370 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013371 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013372 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013373}
13374
13375void GLTrace_glLogicOp(GLenum opcode) {
13376 GLMessage glmsg;
13377 GLTraceContext *glContext = getGLTraceContext();
13378
Siva Velusamy0469dd62011-11-30 15:05:37 -080013379 glmsg.set_function(GLMessage::glLogicOp);
13380
13381 // copy argument opcode
13382 GLMessage_DataType *arg_opcode = glmsg.add_args();
13383 arg_opcode->set_isarray(false);
13384 arg_opcode->set_type(GLMessage::DataType::ENUM);
13385 arg_opcode->add_intvalue((int)opcode);
13386
13387 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013388 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13389 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013390 glContext->hooks->gl.glLogicOp(opcode);
Siva Velusamy05df4502012-02-17 10:55:03 -080013391 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13392 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013393
Siva Velusamy98011422012-02-27 12:02:47 -080013394 void *pointerArgs[] = {
13395 };
13396
Siva Velusamy05df4502012-02-17 10:55:03 -080013397 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13398 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013399 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013400 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013401}
13402
13403void GLTrace_glMaterialx(GLenum face, GLenum pname, GLfixed param) {
13404 GLMessage glmsg;
13405 GLTraceContext *glContext = getGLTraceContext();
13406
Siva Velusamy0469dd62011-11-30 15:05:37 -080013407 glmsg.set_function(GLMessage::glMaterialx);
13408
13409 // copy argument face
13410 GLMessage_DataType *arg_face = glmsg.add_args();
13411 arg_face->set_isarray(false);
13412 arg_face->set_type(GLMessage::DataType::ENUM);
13413 arg_face->add_intvalue((int)face);
13414
13415 // copy argument pname
13416 GLMessage_DataType *arg_pname = glmsg.add_args();
13417 arg_pname->set_isarray(false);
13418 arg_pname->set_type(GLMessage::DataType::ENUM);
13419 arg_pname->add_intvalue((int)pname);
13420
13421 // copy argument param
13422 GLMessage_DataType *arg_param = glmsg.add_args();
13423 arg_param->set_isarray(false);
13424 arg_param->set_type(GLMessage::DataType::INT);
13425 arg_param->add_intvalue(param);
13426
13427 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013428 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13429 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013430 glContext->hooks->gl.glMaterialx(face, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080013431 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13432 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013433
Siva Velusamy98011422012-02-27 12:02:47 -080013434 void *pointerArgs[] = {
13435 };
13436
Siva Velusamy05df4502012-02-17 10:55:03 -080013437 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13438 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013439 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013440 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013441}
13442
13443void GLTrace_glMaterialxv(GLenum face, GLenum pname, const GLfixed *params) {
13444 GLMessage glmsg;
13445 GLTraceContext *glContext = getGLTraceContext();
13446
Siva Velusamy0469dd62011-11-30 15:05:37 -080013447 glmsg.set_function(GLMessage::glMaterialxv);
13448
13449 // copy argument face
13450 GLMessage_DataType *arg_face = glmsg.add_args();
13451 arg_face->set_isarray(false);
13452 arg_face->set_type(GLMessage::DataType::ENUM);
13453 arg_face->add_intvalue((int)face);
13454
13455 // copy argument pname
13456 GLMessage_DataType *arg_pname = glmsg.add_args();
13457 arg_pname->set_isarray(false);
13458 arg_pname->set_type(GLMessage::DataType::ENUM);
13459 arg_pname->add_intvalue((int)pname);
13460
13461 // copy argument params
13462 GLMessage_DataType *arg_params = glmsg.add_args();
13463 arg_params->set_isarray(false);
13464 arg_params->set_type(GLMessage::DataType::INT);
13465 arg_params->add_intvalue((int)params);
13466
13467 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013468 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13469 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013470 glContext->hooks->gl.glMaterialxv(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013471 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13472 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013473
Siva Velusamy98011422012-02-27 12:02:47 -080013474 void *pointerArgs[] = {
13475 (void *) params,
13476 };
13477
Siva Velusamy05df4502012-02-17 10:55:03 -080013478 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13479 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013480 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013481 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013482}
13483
13484void GLTrace_glMatrixMode(GLenum mode) {
13485 GLMessage glmsg;
13486 GLTraceContext *glContext = getGLTraceContext();
13487
Siva Velusamy0469dd62011-11-30 15:05:37 -080013488 glmsg.set_function(GLMessage::glMatrixMode);
13489
13490 // copy argument mode
13491 GLMessage_DataType *arg_mode = glmsg.add_args();
13492 arg_mode->set_isarray(false);
13493 arg_mode->set_type(GLMessage::DataType::ENUM);
13494 arg_mode->add_intvalue((int)mode);
13495
13496 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013497 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13498 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013499 glContext->hooks->gl.glMatrixMode(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -080013500 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13501 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013502
Siva Velusamy98011422012-02-27 12:02:47 -080013503 void *pointerArgs[] = {
13504 };
13505
Siva Velusamy05df4502012-02-17 10:55:03 -080013506 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13507 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013508 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013509 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013510}
13511
13512void GLTrace_glMultMatrixx(const GLfixed *m) {
13513 GLMessage glmsg;
13514 GLTraceContext *glContext = getGLTraceContext();
13515
Siva Velusamy0469dd62011-11-30 15:05:37 -080013516 glmsg.set_function(GLMessage::glMultMatrixx);
13517
13518 // copy argument m
13519 GLMessage_DataType *arg_m = glmsg.add_args();
13520 arg_m->set_isarray(false);
13521 arg_m->set_type(GLMessage::DataType::INT);
13522 arg_m->add_intvalue((int)m);
13523
13524 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013525 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13526 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013527 glContext->hooks->gl.glMultMatrixx(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080013528 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13529 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013530
Siva Velusamy98011422012-02-27 12:02:47 -080013531 void *pointerArgs[] = {
13532 (void *) m,
13533 };
13534
Siva Velusamy05df4502012-02-17 10:55:03 -080013535 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13536 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013537 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013538 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013539}
13540
13541void GLTrace_glMultiTexCoord4x(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) {
13542 GLMessage glmsg;
13543 GLTraceContext *glContext = getGLTraceContext();
13544
Siva Velusamy0469dd62011-11-30 15:05:37 -080013545 glmsg.set_function(GLMessage::glMultiTexCoord4x);
13546
13547 // copy argument target
13548 GLMessage_DataType *arg_target = glmsg.add_args();
13549 arg_target->set_isarray(false);
13550 arg_target->set_type(GLMessage::DataType::ENUM);
13551 arg_target->add_intvalue((int)target);
13552
13553 // copy argument s
13554 GLMessage_DataType *arg_s = glmsg.add_args();
13555 arg_s->set_isarray(false);
13556 arg_s->set_type(GLMessage::DataType::INT);
13557 arg_s->add_intvalue(s);
13558
13559 // copy argument t
13560 GLMessage_DataType *arg_t = glmsg.add_args();
13561 arg_t->set_isarray(false);
13562 arg_t->set_type(GLMessage::DataType::INT);
13563 arg_t->add_intvalue(t);
13564
13565 // copy argument r
13566 GLMessage_DataType *arg_r = glmsg.add_args();
13567 arg_r->set_isarray(false);
13568 arg_r->set_type(GLMessage::DataType::INT);
13569 arg_r->add_intvalue(r);
13570
13571 // copy argument q
13572 GLMessage_DataType *arg_q = glmsg.add_args();
13573 arg_q->set_isarray(false);
13574 arg_q->set_type(GLMessage::DataType::INT);
13575 arg_q->add_intvalue(q);
13576
13577 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013578 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13579 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013580 glContext->hooks->gl.glMultiTexCoord4x(target, s, t, r, q);
Siva Velusamy05df4502012-02-17 10:55:03 -080013581 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13582 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013583
Siva Velusamy98011422012-02-27 12:02:47 -080013584 void *pointerArgs[] = {
13585 };
13586
Siva Velusamy05df4502012-02-17 10:55:03 -080013587 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13588 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013589 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013590 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013591}
13592
13593void GLTrace_glNormal3x(GLfixed nx, GLfixed ny, GLfixed nz) {
13594 GLMessage glmsg;
13595 GLTraceContext *glContext = getGLTraceContext();
13596
Siva Velusamy0469dd62011-11-30 15:05:37 -080013597 glmsg.set_function(GLMessage::glNormal3x);
13598
13599 // copy argument nx
13600 GLMessage_DataType *arg_nx = glmsg.add_args();
13601 arg_nx->set_isarray(false);
13602 arg_nx->set_type(GLMessage::DataType::INT);
13603 arg_nx->add_intvalue(nx);
13604
13605 // copy argument ny
13606 GLMessage_DataType *arg_ny = glmsg.add_args();
13607 arg_ny->set_isarray(false);
13608 arg_ny->set_type(GLMessage::DataType::INT);
13609 arg_ny->add_intvalue(ny);
13610
13611 // copy argument nz
13612 GLMessage_DataType *arg_nz = glmsg.add_args();
13613 arg_nz->set_isarray(false);
13614 arg_nz->set_type(GLMessage::DataType::INT);
13615 arg_nz->add_intvalue(nz);
13616
13617 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013618 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13619 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013620 glContext->hooks->gl.glNormal3x(nx, ny, nz);
Siva Velusamy05df4502012-02-17 10:55:03 -080013621 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13622 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013623
Siva Velusamy98011422012-02-27 12:02:47 -080013624 void *pointerArgs[] = {
13625 };
13626
Siva Velusamy05df4502012-02-17 10:55:03 -080013627 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13628 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013629 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013630 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013631}
13632
13633void GLTrace_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) {
13634 GLMessage glmsg;
13635 GLTraceContext *glContext = getGLTraceContext();
13636
Siva Velusamy0469dd62011-11-30 15:05:37 -080013637 glmsg.set_function(GLMessage::glNormalPointer);
13638
13639 // copy argument type
13640 GLMessage_DataType *arg_type = glmsg.add_args();
13641 arg_type->set_isarray(false);
13642 arg_type->set_type(GLMessage::DataType::ENUM);
13643 arg_type->add_intvalue((int)type);
13644
13645 // copy argument stride
13646 GLMessage_DataType *arg_stride = glmsg.add_args();
13647 arg_stride->set_isarray(false);
13648 arg_stride->set_type(GLMessage::DataType::INT);
13649 arg_stride->add_intvalue(stride);
13650
13651 // copy argument pointer
13652 GLMessage_DataType *arg_pointer = glmsg.add_args();
13653 arg_pointer->set_isarray(false);
13654 arg_pointer->set_type(GLMessage::DataType::INT);
13655 arg_pointer->add_intvalue((int)pointer);
13656
13657 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013658 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13659 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013660 glContext->hooks->gl.glNormalPointer(type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080013661 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13662 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013663
Siva Velusamy98011422012-02-27 12:02:47 -080013664 void *pointerArgs[] = {
13665 (void *) pointer,
13666 };
13667
Siva Velusamy05df4502012-02-17 10:55:03 -080013668 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13669 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013670 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013671 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013672}
13673
13674void GLTrace_glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
13675 GLMessage glmsg;
13676 GLTraceContext *glContext = getGLTraceContext();
13677
Siva Velusamy0469dd62011-11-30 15:05:37 -080013678 glmsg.set_function(GLMessage::glOrthox);
13679
13680 // copy argument left
13681 GLMessage_DataType *arg_left = glmsg.add_args();
13682 arg_left->set_isarray(false);
13683 arg_left->set_type(GLMessage::DataType::INT);
13684 arg_left->add_intvalue(left);
13685
13686 // copy argument right
13687 GLMessage_DataType *arg_right = glmsg.add_args();
13688 arg_right->set_isarray(false);
13689 arg_right->set_type(GLMessage::DataType::INT);
13690 arg_right->add_intvalue(right);
13691
13692 // copy argument bottom
13693 GLMessage_DataType *arg_bottom = glmsg.add_args();
13694 arg_bottom->set_isarray(false);
13695 arg_bottom->set_type(GLMessage::DataType::INT);
13696 arg_bottom->add_intvalue(bottom);
13697
13698 // copy argument top
13699 GLMessage_DataType *arg_top = glmsg.add_args();
13700 arg_top->set_isarray(false);
13701 arg_top->set_type(GLMessage::DataType::INT);
13702 arg_top->add_intvalue(top);
13703
13704 // copy argument zNear
13705 GLMessage_DataType *arg_zNear = glmsg.add_args();
13706 arg_zNear->set_isarray(false);
13707 arg_zNear->set_type(GLMessage::DataType::INT);
13708 arg_zNear->add_intvalue(zNear);
13709
13710 // copy argument zFar
13711 GLMessage_DataType *arg_zFar = glmsg.add_args();
13712 arg_zFar->set_isarray(false);
13713 arg_zFar->set_type(GLMessage::DataType::INT);
13714 arg_zFar->add_intvalue(zFar);
13715
13716 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013717 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13718 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013719 glContext->hooks->gl.glOrthox(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080013720 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13721 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013722
Siva Velusamy98011422012-02-27 12:02:47 -080013723 void *pointerArgs[] = {
13724 };
13725
Siva Velusamy05df4502012-02-17 10:55:03 -080013726 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13727 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013728 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013729 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013730}
13731
13732void GLTrace_glPointParameterx(GLenum pname, GLfixed param) {
13733 GLMessage glmsg;
13734 GLTraceContext *glContext = getGLTraceContext();
13735
Siva Velusamy0469dd62011-11-30 15:05:37 -080013736 glmsg.set_function(GLMessage::glPointParameterx);
13737
13738 // copy argument pname
13739 GLMessage_DataType *arg_pname = glmsg.add_args();
13740 arg_pname->set_isarray(false);
13741 arg_pname->set_type(GLMessage::DataType::ENUM);
13742 arg_pname->add_intvalue((int)pname);
13743
13744 // copy argument param
13745 GLMessage_DataType *arg_param = glmsg.add_args();
13746 arg_param->set_isarray(false);
13747 arg_param->set_type(GLMessage::DataType::INT);
13748 arg_param->add_intvalue(param);
13749
13750 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013751 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13752 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013753 glContext->hooks->gl.glPointParameterx(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080013754 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13755 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013756
Siva Velusamy98011422012-02-27 12:02:47 -080013757 void *pointerArgs[] = {
13758 };
13759
Siva Velusamy05df4502012-02-17 10:55:03 -080013760 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13761 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013762 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013763 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013764}
13765
13766void GLTrace_glPointParameterxv(GLenum pname, const GLfixed *params) {
13767 GLMessage glmsg;
13768 GLTraceContext *glContext = getGLTraceContext();
13769
Siva Velusamy0469dd62011-11-30 15:05:37 -080013770 glmsg.set_function(GLMessage::glPointParameterxv);
13771
13772 // copy argument pname
13773 GLMessage_DataType *arg_pname = glmsg.add_args();
13774 arg_pname->set_isarray(false);
13775 arg_pname->set_type(GLMessage::DataType::ENUM);
13776 arg_pname->add_intvalue((int)pname);
13777
13778 // copy argument params
13779 GLMessage_DataType *arg_params = glmsg.add_args();
13780 arg_params->set_isarray(false);
13781 arg_params->set_type(GLMessage::DataType::INT);
13782 arg_params->add_intvalue((int)params);
13783
13784 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013785 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13786 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013787 glContext->hooks->gl.glPointParameterxv(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080013788 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13789 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013790
Siva Velusamy98011422012-02-27 12:02:47 -080013791 void *pointerArgs[] = {
13792 (void *) params,
13793 };
13794
Siva Velusamy05df4502012-02-17 10:55:03 -080013795 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13796 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013797 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013798 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013799}
13800
13801void GLTrace_glPointSizex(GLfixed size) {
13802 GLMessage glmsg;
13803 GLTraceContext *glContext = getGLTraceContext();
13804
Siva Velusamy0469dd62011-11-30 15:05:37 -080013805 glmsg.set_function(GLMessage::glPointSizex);
13806
13807 // copy argument size
13808 GLMessage_DataType *arg_size = glmsg.add_args();
13809 arg_size->set_isarray(false);
13810 arg_size->set_type(GLMessage::DataType::INT);
13811 arg_size->add_intvalue(size);
13812
13813 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013814 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13815 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013816 glContext->hooks->gl.glPointSizex(size);
Siva Velusamy05df4502012-02-17 10:55:03 -080013817 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13818 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013819
Siva Velusamy98011422012-02-27 12:02:47 -080013820 void *pointerArgs[] = {
13821 };
13822
Siva Velusamy05df4502012-02-17 10:55:03 -080013823 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13824 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013825 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013826 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013827}
13828
13829void GLTrace_glPolygonOffsetx(GLfixed factor, GLfixed units) {
13830 GLMessage glmsg;
13831 GLTraceContext *glContext = getGLTraceContext();
13832
Siva Velusamy0469dd62011-11-30 15:05:37 -080013833 glmsg.set_function(GLMessage::glPolygonOffsetx);
13834
13835 // copy argument factor
13836 GLMessage_DataType *arg_factor = glmsg.add_args();
13837 arg_factor->set_isarray(false);
13838 arg_factor->set_type(GLMessage::DataType::INT);
13839 arg_factor->add_intvalue(factor);
13840
13841 // copy argument units
13842 GLMessage_DataType *arg_units = glmsg.add_args();
13843 arg_units->set_isarray(false);
13844 arg_units->set_type(GLMessage::DataType::INT);
13845 arg_units->add_intvalue(units);
13846
13847 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013848 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13849 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013850 glContext->hooks->gl.glPolygonOffsetx(factor, units);
Siva Velusamy05df4502012-02-17 10:55:03 -080013851 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13852 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013853
Siva Velusamy98011422012-02-27 12:02:47 -080013854 void *pointerArgs[] = {
13855 };
13856
Siva Velusamy05df4502012-02-17 10:55:03 -080013857 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13858 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013859 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013860 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013861}
13862
13863void GLTrace_glPopMatrix(void) {
13864 GLMessage glmsg;
13865 GLTraceContext *glContext = getGLTraceContext();
13866
Siva Velusamy0469dd62011-11-30 15:05:37 -080013867 glmsg.set_function(GLMessage::glPopMatrix);
13868
13869 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013870 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13871 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013872 glContext->hooks->gl.glPopMatrix();
Siva Velusamy05df4502012-02-17 10:55:03 -080013873 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13874 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013875
Siva Velusamy98011422012-02-27 12:02:47 -080013876 void *pointerArgs[] = {
13877 };
13878
Siva Velusamy05df4502012-02-17 10:55:03 -080013879 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13880 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013881 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013882 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013883}
13884
13885void GLTrace_glPushMatrix(void) {
13886 GLMessage glmsg;
13887 GLTraceContext *glContext = getGLTraceContext();
13888
Siva Velusamy0469dd62011-11-30 15:05:37 -080013889 glmsg.set_function(GLMessage::glPushMatrix);
13890
13891 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013892 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13893 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013894 glContext->hooks->gl.glPushMatrix();
Siva Velusamy05df4502012-02-17 10:55:03 -080013895 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13896 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013897
Siva Velusamy98011422012-02-27 12:02:47 -080013898 void *pointerArgs[] = {
13899 };
13900
Siva Velusamy05df4502012-02-17 10:55:03 -080013901 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13902 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013903 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013904 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013905}
13906
13907void GLTrace_glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) {
13908 GLMessage glmsg;
13909 GLTraceContext *glContext = getGLTraceContext();
13910
Siva Velusamy0469dd62011-11-30 15:05:37 -080013911 glmsg.set_function(GLMessage::glRotatex);
13912
13913 // copy argument angle
13914 GLMessage_DataType *arg_angle = glmsg.add_args();
13915 arg_angle->set_isarray(false);
13916 arg_angle->set_type(GLMessage::DataType::INT);
13917 arg_angle->add_intvalue(angle);
13918
13919 // copy argument x
13920 GLMessage_DataType *arg_x = glmsg.add_args();
13921 arg_x->set_isarray(false);
13922 arg_x->set_type(GLMessage::DataType::INT);
13923 arg_x->add_intvalue(x);
13924
13925 // copy argument y
13926 GLMessage_DataType *arg_y = glmsg.add_args();
13927 arg_y->set_isarray(false);
13928 arg_y->set_type(GLMessage::DataType::INT);
13929 arg_y->add_intvalue(y);
13930
13931 // copy argument z
13932 GLMessage_DataType *arg_z = glmsg.add_args();
13933 arg_z->set_isarray(false);
13934 arg_z->set_type(GLMessage::DataType::INT);
13935 arg_z->add_intvalue(z);
13936
13937 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013938 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13939 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013940 glContext->hooks->gl.glRotatex(angle, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080013941 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13942 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013943
Siva Velusamy98011422012-02-27 12:02:47 -080013944 void *pointerArgs[] = {
13945 };
13946
Siva Velusamy05df4502012-02-17 10:55:03 -080013947 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13948 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013949 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013950 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013951}
13952
13953void GLTrace_glSampleCoveragex(GLclampx value, GLboolean invert) {
13954 GLMessage glmsg;
13955 GLTraceContext *glContext = getGLTraceContext();
13956
Siva Velusamy0469dd62011-11-30 15:05:37 -080013957 glmsg.set_function(GLMessage::glSampleCoveragex);
13958
13959 // copy argument value
13960 GLMessage_DataType *arg_value = glmsg.add_args();
13961 arg_value->set_isarray(false);
13962 arg_value->set_type(GLMessage::DataType::INT);
13963 arg_value->add_intvalue(value);
13964
13965 // copy argument invert
13966 GLMessage_DataType *arg_invert = glmsg.add_args();
13967 arg_invert->set_isarray(false);
13968 arg_invert->set_type(GLMessage::DataType::BOOL);
13969 arg_invert->add_boolvalue(invert);
13970
13971 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080013972 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
13973 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013974 glContext->hooks->gl.glSampleCoveragex(value, invert);
Siva Velusamy05df4502012-02-17 10:55:03 -080013975 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
13976 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013977
Siva Velusamy98011422012-02-27 12:02:47 -080013978 void *pointerArgs[] = {
13979 };
13980
Siva Velusamy05df4502012-02-17 10:55:03 -080013981 fixupGLMessage(glContext, wallStartTime, wallEndTime,
13982 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080013983 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080013984 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080013985}
13986
13987void GLTrace_glScalex(GLfixed x, GLfixed y, GLfixed z) {
13988 GLMessage glmsg;
13989 GLTraceContext *glContext = getGLTraceContext();
13990
Siva Velusamy0469dd62011-11-30 15:05:37 -080013991 glmsg.set_function(GLMessage::glScalex);
13992
13993 // copy argument x
13994 GLMessage_DataType *arg_x = glmsg.add_args();
13995 arg_x->set_isarray(false);
13996 arg_x->set_type(GLMessage::DataType::INT);
13997 arg_x->add_intvalue(x);
13998
13999 // copy argument y
14000 GLMessage_DataType *arg_y = glmsg.add_args();
14001 arg_y->set_isarray(false);
14002 arg_y->set_type(GLMessage::DataType::INT);
14003 arg_y->add_intvalue(y);
14004
14005 // copy argument z
14006 GLMessage_DataType *arg_z = glmsg.add_args();
14007 arg_z->set_isarray(false);
14008 arg_z->set_type(GLMessage::DataType::INT);
14009 arg_z->add_intvalue(z);
14010
14011 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014012 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14013 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014014 glContext->hooks->gl.glScalex(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080014015 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14016 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014017
Siva Velusamy98011422012-02-27 12:02:47 -080014018 void *pointerArgs[] = {
14019 };
14020
Siva Velusamy05df4502012-02-17 10:55:03 -080014021 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14022 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014023 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014024 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014025}
14026
14027void GLTrace_glShadeModel(GLenum mode) {
14028 GLMessage glmsg;
14029 GLTraceContext *glContext = getGLTraceContext();
14030
Siva Velusamy0469dd62011-11-30 15:05:37 -080014031 glmsg.set_function(GLMessage::glShadeModel);
14032
14033 // copy argument mode
14034 GLMessage_DataType *arg_mode = glmsg.add_args();
14035 arg_mode->set_isarray(false);
14036 arg_mode->set_type(GLMessage::DataType::ENUM);
14037 arg_mode->add_intvalue((int)mode);
14038
14039 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014040 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14041 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014042 glContext->hooks->gl.glShadeModel(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -080014043 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14044 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014045
Siva Velusamy98011422012-02-27 12:02:47 -080014046 void *pointerArgs[] = {
14047 };
14048
Siva Velusamy05df4502012-02-17 10:55:03 -080014049 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14050 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014051 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014052 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014053}
14054
14055void GLTrace_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
14056 GLMessage glmsg;
14057 GLTraceContext *glContext = getGLTraceContext();
14058
Siva Velusamy0469dd62011-11-30 15:05:37 -080014059 glmsg.set_function(GLMessage::glTexCoordPointer);
14060
14061 // copy argument size
14062 GLMessage_DataType *arg_size = glmsg.add_args();
14063 arg_size->set_isarray(false);
14064 arg_size->set_type(GLMessage::DataType::INT);
14065 arg_size->add_intvalue(size);
14066
14067 // copy argument type
14068 GLMessage_DataType *arg_type = glmsg.add_args();
14069 arg_type->set_isarray(false);
14070 arg_type->set_type(GLMessage::DataType::ENUM);
14071 arg_type->add_intvalue((int)type);
14072
14073 // copy argument stride
14074 GLMessage_DataType *arg_stride = glmsg.add_args();
14075 arg_stride->set_isarray(false);
14076 arg_stride->set_type(GLMessage::DataType::INT);
14077 arg_stride->add_intvalue(stride);
14078
14079 // copy argument pointer
14080 GLMessage_DataType *arg_pointer = glmsg.add_args();
14081 arg_pointer->set_isarray(false);
14082 arg_pointer->set_type(GLMessage::DataType::INT);
14083 arg_pointer->add_intvalue((int)pointer);
14084
14085 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014086 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14087 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014088 glContext->hooks->gl.glTexCoordPointer(size, type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080014089 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14090 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014091
Siva Velusamy98011422012-02-27 12:02:47 -080014092 void *pointerArgs[] = {
14093 (void *) pointer,
14094 };
14095
Siva Velusamy05df4502012-02-17 10:55:03 -080014096 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14097 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014098 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014099 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014100}
14101
14102void GLTrace_glTexEnvi(GLenum target, GLenum pname, GLint param) {
14103 GLMessage glmsg;
14104 GLTraceContext *glContext = getGLTraceContext();
14105
Siva Velusamy0469dd62011-11-30 15:05:37 -080014106 glmsg.set_function(GLMessage::glTexEnvi);
14107
14108 // copy argument target
14109 GLMessage_DataType *arg_target = glmsg.add_args();
14110 arg_target->set_isarray(false);
14111 arg_target->set_type(GLMessage::DataType::ENUM);
14112 arg_target->add_intvalue((int)target);
14113
14114 // copy argument pname
14115 GLMessage_DataType *arg_pname = glmsg.add_args();
14116 arg_pname->set_isarray(false);
14117 arg_pname->set_type(GLMessage::DataType::ENUM);
14118 arg_pname->add_intvalue((int)pname);
14119
14120 // copy argument param
14121 GLMessage_DataType *arg_param = glmsg.add_args();
14122 arg_param->set_isarray(false);
14123 arg_param->set_type(GLMessage::DataType::INT);
14124 arg_param->add_intvalue(param);
14125
14126 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014127 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14128 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014129 glContext->hooks->gl.glTexEnvi(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080014130 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14131 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014132
Siva Velusamy98011422012-02-27 12:02:47 -080014133 void *pointerArgs[] = {
14134 };
14135
Siva Velusamy05df4502012-02-17 10:55:03 -080014136 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14137 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014138 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014139 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014140}
14141
14142void GLTrace_glTexEnvx(GLenum target, GLenum pname, GLfixed param) {
14143 GLMessage glmsg;
14144 GLTraceContext *glContext = getGLTraceContext();
14145
Siva Velusamy0469dd62011-11-30 15:05:37 -080014146 glmsg.set_function(GLMessage::glTexEnvx);
14147
14148 // copy argument target
14149 GLMessage_DataType *arg_target = glmsg.add_args();
14150 arg_target->set_isarray(false);
14151 arg_target->set_type(GLMessage::DataType::ENUM);
14152 arg_target->add_intvalue((int)target);
14153
14154 // copy argument pname
14155 GLMessage_DataType *arg_pname = glmsg.add_args();
14156 arg_pname->set_isarray(false);
14157 arg_pname->set_type(GLMessage::DataType::ENUM);
14158 arg_pname->add_intvalue((int)pname);
14159
14160 // copy argument param
14161 GLMessage_DataType *arg_param = glmsg.add_args();
14162 arg_param->set_isarray(false);
14163 arg_param->set_type(GLMessage::DataType::INT);
14164 arg_param->add_intvalue(param);
14165
14166 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014167 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14168 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014169 glContext->hooks->gl.glTexEnvx(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080014170 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14171 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014172
Siva Velusamy98011422012-02-27 12:02:47 -080014173 void *pointerArgs[] = {
14174 };
14175
Siva Velusamy05df4502012-02-17 10:55:03 -080014176 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14177 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014178 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014179 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014180}
14181
14182void GLTrace_glTexEnviv(GLenum target, GLenum pname, const GLint *params) {
14183 GLMessage glmsg;
14184 GLTraceContext *glContext = getGLTraceContext();
14185
Siva Velusamy0469dd62011-11-30 15:05:37 -080014186 glmsg.set_function(GLMessage::glTexEnviv);
14187
14188 // copy argument target
14189 GLMessage_DataType *arg_target = glmsg.add_args();
14190 arg_target->set_isarray(false);
14191 arg_target->set_type(GLMessage::DataType::ENUM);
14192 arg_target->add_intvalue((int)target);
14193
14194 // copy argument pname
14195 GLMessage_DataType *arg_pname = glmsg.add_args();
14196 arg_pname->set_isarray(false);
14197 arg_pname->set_type(GLMessage::DataType::ENUM);
14198 arg_pname->add_intvalue((int)pname);
14199
14200 // copy argument params
14201 GLMessage_DataType *arg_params = glmsg.add_args();
14202 arg_params->set_isarray(false);
14203 arg_params->set_type(GLMessage::DataType::INT);
14204 arg_params->add_intvalue((int)params);
14205
14206 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014207 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14208 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014209 glContext->hooks->gl.glTexEnviv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080014210 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14211 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014212
Siva Velusamy98011422012-02-27 12:02:47 -080014213 void *pointerArgs[] = {
14214 (void *) params,
14215 };
14216
Siva Velusamy05df4502012-02-17 10:55:03 -080014217 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14218 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014219 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014220 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014221}
14222
14223void GLTrace_glTexEnvxv(GLenum target, GLenum pname, const GLfixed *params) {
14224 GLMessage glmsg;
14225 GLTraceContext *glContext = getGLTraceContext();
14226
Siva Velusamy0469dd62011-11-30 15:05:37 -080014227 glmsg.set_function(GLMessage::glTexEnvxv);
14228
14229 // copy argument target
14230 GLMessage_DataType *arg_target = glmsg.add_args();
14231 arg_target->set_isarray(false);
14232 arg_target->set_type(GLMessage::DataType::ENUM);
14233 arg_target->add_intvalue((int)target);
14234
14235 // copy argument pname
14236 GLMessage_DataType *arg_pname = glmsg.add_args();
14237 arg_pname->set_isarray(false);
14238 arg_pname->set_type(GLMessage::DataType::ENUM);
14239 arg_pname->add_intvalue((int)pname);
14240
14241 // copy argument params
14242 GLMessage_DataType *arg_params = glmsg.add_args();
14243 arg_params->set_isarray(false);
14244 arg_params->set_type(GLMessage::DataType::INT);
14245 arg_params->add_intvalue((int)params);
14246
14247 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014248 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14249 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014250 glContext->hooks->gl.glTexEnvxv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080014251 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14252 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014253
Siva Velusamy98011422012-02-27 12:02:47 -080014254 void *pointerArgs[] = {
14255 (void *) params,
14256 };
14257
Siva Velusamy05df4502012-02-17 10:55:03 -080014258 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14259 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014260 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014261 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014262}
14263
14264void GLTrace_glTexParameterx(GLenum target, GLenum pname, GLfixed param) {
14265 GLMessage glmsg;
14266 GLTraceContext *glContext = getGLTraceContext();
14267
Siva Velusamy0469dd62011-11-30 15:05:37 -080014268 glmsg.set_function(GLMessage::glTexParameterx);
14269
14270 // copy argument target
14271 GLMessage_DataType *arg_target = glmsg.add_args();
14272 arg_target->set_isarray(false);
14273 arg_target->set_type(GLMessage::DataType::ENUM);
14274 arg_target->add_intvalue((int)target);
14275
14276 // copy argument pname
14277 GLMessage_DataType *arg_pname = glmsg.add_args();
14278 arg_pname->set_isarray(false);
14279 arg_pname->set_type(GLMessage::DataType::ENUM);
14280 arg_pname->add_intvalue((int)pname);
14281
14282 // copy argument param
14283 GLMessage_DataType *arg_param = glmsg.add_args();
14284 arg_param->set_isarray(false);
14285 arg_param->set_type(GLMessage::DataType::INT);
14286 arg_param->add_intvalue(param);
14287
14288 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014289 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14290 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014291 glContext->hooks->gl.glTexParameterx(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080014292 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14293 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014294
Siva Velusamy98011422012-02-27 12:02:47 -080014295 void *pointerArgs[] = {
14296 };
14297
Siva Velusamy05df4502012-02-17 10:55:03 -080014298 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14299 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014300 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014301 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014302}
14303
14304void GLTrace_glTexParameterxv(GLenum target, GLenum pname, const GLfixed *params) {
14305 GLMessage glmsg;
14306 GLTraceContext *glContext = getGLTraceContext();
14307
Siva Velusamy0469dd62011-11-30 15:05:37 -080014308 glmsg.set_function(GLMessage::glTexParameterxv);
14309
14310 // copy argument target
14311 GLMessage_DataType *arg_target = glmsg.add_args();
14312 arg_target->set_isarray(false);
14313 arg_target->set_type(GLMessage::DataType::ENUM);
14314 arg_target->add_intvalue((int)target);
14315
14316 // copy argument pname
14317 GLMessage_DataType *arg_pname = glmsg.add_args();
14318 arg_pname->set_isarray(false);
14319 arg_pname->set_type(GLMessage::DataType::ENUM);
14320 arg_pname->add_intvalue((int)pname);
14321
14322 // copy argument params
14323 GLMessage_DataType *arg_params = glmsg.add_args();
14324 arg_params->set_isarray(false);
14325 arg_params->set_type(GLMessage::DataType::INT);
14326 arg_params->add_intvalue((int)params);
14327
14328 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014329 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14330 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014331 glContext->hooks->gl.glTexParameterxv(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080014332 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14333 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014334
Siva Velusamy98011422012-02-27 12:02:47 -080014335 void *pointerArgs[] = {
14336 (void *) params,
14337 };
14338
Siva Velusamy05df4502012-02-17 10:55:03 -080014339 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14340 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014341 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014342 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014343}
14344
14345void GLTrace_glTranslatex(GLfixed x, GLfixed y, GLfixed z) {
14346 GLMessage glmsg;
14347 GLTraceContext *glContext = getGLTraceContext();
14348
Siva Velusamy0469dd62011-11-30 15:05:37 -080014349 glmsg.set_function(GLMessage::glTranslatex);
14350
14351 // copy argument x
14352 GLMessage_DataType *arg_x = glmsg.add_args();
14353 arg_x->set_isarray(false);
14354 arg_x->set_type(GLMessage::DataType::INT);
14355 arg_x->add_intvalue(x);
14356
14357 // copy argument y
14358 GLMessage_DataType *arg_y = glmsg.add_args();
14359 arg_y->set_isarray(false);
14360 arg_y->set_type(GLMessage::DataType::INT);
14361 arg_y->add_intvalue(y);
14362
14363 // copy argument z
14364 GLMessage_DataType *arg_z = glmsg.add_args();
14365 arg_z->set_isarray(false);
14366 arg_z->set_type(GLMessage::DataType::INT);
14367 arg_z->add_intvalue(z);
14368
14369 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014370 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14371 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014372 glContext->hooks->gl.glTranslatex(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080014373 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14374 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014375
Siva Velusamy98011422012-02-27 12:02:47 -080014376 void *pointerArgs[] = {
14377 };
14378
Siva Velusamy05df4502012-02-17 10:55:03 -080014379 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14380 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014381 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014382 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014383}
14384
14385void GLTrace_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
14386 GLMessage glmsg;
14387 GLTraceContext *glContext = getGLTraceContext();
14388
Siva Velusamy0469dd62011-11-30 15:05:37 -080014389 glmsg.set_function(GLMessage::glVertexPointer);
14390
14391 // copy argument size
14392 GLMessage_DataType *arg_size = glmsg.add_args();
14393 arg_size->set_isarray(false);
14394 arg_size->set_type(GLMessage::DataType::INT);
14395 arg_size->add_intvalue(size);
14396
14397 // copy argument type
14398 GLMessage_DataType *arg_type = glmsg.add_args();
14399 arg_type->set_isarray(false);
14400 arg_type->set_type(GLMessage::DataType::ENUM);
14401 arg_type->add_intvalue((int)type);
14402
14403 // copy argument stride
14404 GLMessage_DataType *arg_stride = glmsg.add_args();
14405 arg_stride->set_isarray(false);
14406 arg_stride->set_type(GLMessage::DataType::INT);
14407 arg_stride->add_intvalue(stride);
14408
14409 // copy argument pointer
14410 GLMessage_DataType *arg_pointer = glmsg.add_args();
14411 arg_pointer->set_isarray(false);
14412 arg_pointer->set_type(GLMessage::DataType::INT);
14413 arg_pointer->add_intvalue((int)pointer);
14414
14415 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014416 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14417 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014418 glContext->hooks->gl.glVertexPointer(size, type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080014419 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14420 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014421
Siva Velusamy98011422012-02-27 12:02:47 -080014422 void *pointerArgs[] = {
14423 (void *) pointer,
14424 };
14425
Siva Velusamy05df4502012-02-17 10:55:03 -080014426 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14427 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014428 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014429 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014430}
14431
14432void GLTrace_glPointSizePointerOES(GLenum type, GLsizei stride, const GLvoid *pointer) {
14433 GLMessage glmsg;
14434 GLTraceContext *glContext = getGLTraceContext();
14435
Siva Velusamy0469dd62011-11-30 15:05:37 -080014436 glmsg.set_function(GLMessage::glPointSizePointerOES);
14437
14438 // copy argument type
14439 GLMessage_DataType *arg_type = glmsg.add_args();
14440 arg_type->set_isarray(false);
14441 arg_type->set_type(GLMessage::DataType::ENUM);
14442 arg_type->add_intvalue((int)type);
14443
14444 // copy argument stride
14445 GLMessage_DataType *arg_stride = glmsg.add_args();
14446 arg_stride->set_isarray(false);
14447 arg_stride->set_type(GLMessage::DataType::INT);
14448 arg_stride->add_intvalue(stride);
14449
14450 // copy argument pointer
14451 GLMessage_DataType *arg_pointer = glmsg.add_args();
14452 arg_pointer->set_isarray(false);
14453 arg_pointer->set_type(GLMessage::DataType::INT);
14454 arg_pointer->add_intvalue((int)pointer);
14455
14456 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014457 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14458 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014459 glContext->hooks->gl.glPointSizePointerOES(type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080014460 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14461 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014462
Siva Velusamy98011422012-02-27 12:02:47 -080014463 void *pointerArgs[] = {
14464 (void *) pointer,
14465 };
14466
Siva Velusamy05df4502012-02-17 10:55:03 -080014467 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14468 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014469 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014470 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014471}
14472
14473
14474// Definitions for GL1Ext APIs
14475
14476void GLTrace_glBlendEquationSeparateOES(GLenum modeRGB, GLenum modeAlpha) {
14477 GLMessage glmsg;
14478 GLTraceContext *glContext = getGLTraceContext();
14479
Siva Velusamy0469dd62011-11-30 15:05:37 -080014480 glmsg.set_function(GLMessage::glBlendEquationSeparateOES);
14481
14482 // copy argument modeRGB
14483 GLMessage_DataType *arg_modeRGB = glmsg.add_args();
14484 arg_modeRGB->set_isarray(false);
14485 arg_modeRGB->set_type(GLMessage::DataType::ENUM);
14486 arg_modeRGB->add_intvalue((int)modeRGB);
14487
14488 // copy argument modeAlpha
14489 GLMessage_DataType *arg_modeAlpha = glmsg.add_args();
14490 arg_modeAlpha->set_isarray(false);
14491 arg_modeAlpha->set_type(GLMessage::DataType::ENUM);
14492 arg_modeAlpha->add_intvalue((int)modeAlpha);
14493
14494 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014495 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14496 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014497 glContext->hooks->gl.glBlendEquationSeparateOES(modeRGB, modeAlpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080014498 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14499 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014500
Siva Velusamy98011422012-02-27 12:02:47 -080014501 void *pointerArgs[] = {
14502 };
14503
Siva Velusamy05df4502012-02-17 10:55:03 -080014504 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14505 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014506 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014507 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014508}
14509
14510void GLTrace_glBlendFuncSeparateOES(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) {
14511 GLMessage glmsg;
14512 GLTraceContext *glContext = getGLTraceContext();
14513
Siva Velusamy0469dd62011-11-30 15:05:37 -080014514 glmsg.set_function(GLMessage::glBlendFuncSeparateOES);
14515
14516 // copy argument srcRGB
14517 GLMessage_DataType *arg_srcRGB = glmsg.add_args();
14518 arg_srcRGB->set_isarray(false);
14519 arg_srcRGB->set_type(GLMessage::DataType::ENUM);
14520 arg_srcRGB->add_intvalue((int)srcRGB);
14521
14522 // copy argument dstRGB
14523 GLMessage_DataType *arg_dstRGB = glmsg.add_args();
14524 arg_dstRGB->set_isarray(false);
14525 arg_dstRGB->set_type(GLMessage::DataType::ENUM);
14526 arg_dstRGB->add_intvalue((int)dstRGB);
14527
14528 // copy argument srcAlpha
14529 GLMessage_DataType *arg_srcAlpha = glmsg.add_args();
14530 arg_srcAlpha->set_isarray(false);
14531 arg_srcAlpha->set_type(GLMessage::DataType::ENUM);
14532 arg_srcAlpha->add_intvalue((int)srcAlpha);
14533
14534 // copy argument dstAlpha
14535 GLMessage_DataType *arg_dstAlpha = glmsg.add_args();
14536 arg_dstAlpha->set_isarray(false);
14537 arg_dstAlpha->set_type(GLMessage::DataType::ENUM);
14538 arg_dstAlpha->add_intvalue((int)dstAlpha);
14539
14540 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014541 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14542 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014543 glContext->hooks->gl.glBlendFuncSeparateOES(srcRGB, dstRGB, srcAlpha, dstAlpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080014544 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14545 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014546
Siva Velusamy98011422012-02-27 12:02:47 -080014547 void *pointerArgs[] = {
14548 };
14549
Siva Velusamy05df4502012-02-17 10:55:03 -080014550 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14551 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014552 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014553 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014554}
14555
14556void GLTrace_glBlendEquationOES(GLenum mode) {
14557 GLMessage glmsg;
14558 GLTraceContext *glContext = getGLTraceContext();
14559
Siva Velusamy0469dd62011-11-30 15:05:37 -080014560 glmsg.set_function(GLMessage::glBlendEquationOES);
14561
14562 // copy argument mode
14563 GLMessage_DataType *arg_mode = glmsg.add_args();
14564 arg_mode->set_isarray(false);
14565 arg_mode->set_type(GLMessage::DataType::ENUM);
14566 arg_mode->add_intvalue((int)mode);
14567
14568 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014569 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14570 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014571 glContext->hooks->gl.glBlendEquationOES(mode);
Siva Velusamy05df4502012-02-17 10:55:03 -080014572 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14573 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014574
Siva Velusamy98011422012-02-27 12:02:47 -080014575 void *pointerArgs[] = {
14576 };
14577
Siva Velusamy05df4502012-02-17 10:55:03 -080014578 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14579 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014580 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014581 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014582}
14583
14584void GLTrace_glDrawTexsOES(GLshort x, GLshort y, GLshort z, GLshort width, GLshort height) {
14585 GLMessage glmsg;
14586 GLTraceContext *glContext = getGLTraceContext();
14587
Siva Velusamy0469dd62011-11-30 15:05:37 -080014588 glmsg.set_function(GLMessage::glDrawTexsOES);
14589
14590 // copy argument x
14591 GLMessage_DataType *arg_x = glmsg.add_args();
14592 arg_x->set_isarray(false);
14593 arg_x->set_type(GLMessage::DataType::INT);
14594 arg_x->add_intvalue(x);
14595
14596 // copy argument y
14597 GLMessage_DataType *arg_y = glmsg.add_args();
14598 arg_y->set_isarray(false);
14599 arg_y->set_type(GLMessage::DataType::INT);
14600 arg_y->add_intvalue(y);
14601
14602 // copy argument z
14603 GLMessage_DataType *arg_z = glmsg.add_args();
14604 arg_z->set_isarray(false);
14605 arg_z->set_type(GLMessage::DataType::INT);
14606 arg_z->add_intvalue(z);
14607
14608 // copy argument width
14609 GLMessage_DataType *arg_width = glmsg.add_args();
14610 arg_width->set_isarray(false);
14611 arg_width->set_type(GLMessage::DataType::INT);
14612 arg_width->add_intvalue(width);
14613
14614 // copy argument height
14615 GLMessage_DataType *arg_height = glmsg.add_args();
14616 arg_height->set_isarray(false);
14617 arg_height->set_type(GLMessage::DataType::INT);
14618 arg_height->add_intvalue(height);
14619
14620 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014621 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14622 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014623 glContext->hooks->gl.glDrawTexsOES(x, y, z, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -080014624 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14625 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014626
Siva Velusamy98011422012-02-27 12:02:47 -080014627 void *pointerArgs[] = {
14628 };
14629
Siva Velusamy05df4502012-02-17 10:55:03 -080014630 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14631 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014632 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014633 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014634}
14635
14636void GLTrace_glDrawTexiOES(GLint x, GLint y, GLint z, GLint width, GLint height) {
14637 GLMessage glmsg;
14638 GLTraceContext *glContext = getGLTraceContext();
14639
Siva Velusamy0469dd62011-11-30 15:05:37 -080014640 glmsg.set_function(GLMessage::glDrawTexiOES);
14641
14642 // copy argument x
14643 GLMessage_DataType *arg_x = glmsg.add_args();
14644 arg_x->set_isarray(false);
14645 arg_x->set_type(GLMessage::DataType::INT);
14646 arg_x->add_intvalue(x);
14647
14648 // copy argument y
14649 GLMessage_DataType *arg_y = glmsg.add_args();
14650 arg_y->set_isarray(false);
14651 arg_y->set_type(GLMessage::DataType::INT);
14652 arg_y->add_intvalue(y);
14653
14654 // copy argument z
14655 GLMessage_DataType *arg_z = glmsg.add_args();
14656 arg_z->set_isarray(false);
14657 arg_z->set_type(GLMessage::DataType::INT);
14658 arg_z->add_intvalue(z);
14659
14660 // copy argument width
14661 GLMessage_DataType *arg_width = glmsg.add_args();
14662 arg_width->set_isarray(false);
14663 arg_width->set_type(GLMessage::DataType::INT);
14664 arg_width->add_intvalue(width);
14665
14666 // copy argument height
14667 GLMessage_DataType *arg_height = glmsg.add_args();
14668 arg_height->set_isarray(false);
14669 arg_height->set_type(GLMessage::DataType::INT);
14670 arg_height->add_intvalue(height);
14671
14672 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014673 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14674 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014675 glContext->hooks->gl.glDrawTexiOES(x, y, z, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -080014676 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14677 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014678
Siva Velusamy98011422012-02-27 12:02:47 -080014679 void *pointerArgs[] = {
14680 };
14681
Siva Velusamy05df4502012-02-17 10:55:03 -080014682 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14683 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014684 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014685 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014686}
14687
14688void GLTrace_glDrawTexxOES(GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height) {
14689 GLMessage glmsg;
14690 GLTraceContext *glContext = getGLTraceContext();
14691
Siva Velusamy0469dd62011-11-30 15:05:37 -080014692 glmsg.set_function(GLMessage::glDrawTexxOES);
14693
14694 // copy argument x
14695 GLMessage_DataType *arg_x = glmsg.add_args();
14696 arg_x->set_isarray(false);
14697 arg_x->set_type(GLMessage::DataType::INT);
14698 arg_x->add_intvalue(x);
14699
14700 // copy argument y
14701 GLMessage_DataType *arg_y = glmsg.add_args();
14702 arg_y->set_isarray(false);
14703 arg_y->set_type(GLMessage::DataType::INT);
14704 arg_y->add_intvalue(y);
14705
14706 // copy argument z
14707 GLMessage_DataType *arg_z = glmsg.add_args();
14708 arg_z->set_isarray(false);
14709 arg_z->set_type(GLMessage::DataType::INT);
14710 arg_z->add_intvalue(z);
14711
14712 // copy argument width
14713 GLMessage_DataType *arg_width = glmsg.add_args();
14714 arg_width->set_isarray(false);
14715 arg_width->set_type(GLMessage::DataType::INT);
14716 arg_width->add_intvalue(width);
14717
14718 // copy argument height
14719 GLMessage_DataType *arg_height = glmsg.add_args();
14720 arg_height->set_isarray(false);
14721 arg_height->set_type(GLMessage::DataType::INT);
14722 arg_height->add_intvalue(height);
14723
14724 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014725 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14726 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014727 glContext->hooks->gl.glDrawTexxOES(x, y, z, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -080014728 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14729 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014730
Siva Velusamy98011422012-02-27 12:02:47 -080014731 void *pointerArgs[] = {
14732 };
14733
Siva Velusamy05df4502012-02-17 10:55:03 -080014734 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14735 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014736 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014737 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014738}
14739
14740void GLTrace_glDrawTexsvOES(const GLshort *coords) {
14741 GLMessage glmsg;
14742 GLTraceContext *glContext = getGLTraceContext();
14743
Siva Velusamy0469dd62011-11-30 15:05:37 -080014744 glmsg.set_function(GLMessage::glDrawTexsvOES);
14745
14746 // copy argument coords
14747 GLMessage_DataType *arg_coords = glmsg.add_args();
14748 arg_coords->set_isarray(false);
14749 arg_coords->set_type(GLMessage::DataType::INT);
14750 arg_coords->add_intvalue((int)coords);
14751
14752 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014753 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14754 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014755 glContext->hooks->gl.glDrawTexsvOES(coords);
Siva Velusamy05df4502012-02-17 10:55:03 -080014756 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14757 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014758
Siva Velusamy98011422012-02-27 12:02:47 -080014759 void *pointerArgs[] = {
14760 (void *) coords,
14761 };
14762
Siva Velusamy05df4502012-02-17 10:55:03 -080014763 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14764 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014765 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014766 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014767}
14768
14769void GLTrace_glDrawTexivOES(const GLint *coords) {
14770 GLMessage glmsg;
14771 GLTraceContext *glContext = getGLTraceContext();
14772
Siva Velusamy0469dd62011-11-30 15:05:37 -080014773 glmsg.set_function(GLMessage::glDrawTexivOES);
14774
14775 // copy argument coords
14776 GLMessage_DataType *arg_coords = glmsg.add_args();
14777 arg_coords->set_isarray(false);
14778 arg_coords->set_type(GLMessage::DataType::INT);
14779 arg_coords->add_intvalue((int)coords);
14780
14781 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014782 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14783 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014784 glContext->hooks->gl.glDrawTexivOES(coords);
Siva Velusamy05df4502012-02-17 10:55:03 -080014785 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14786 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014787
Siva Velusamy98011422012-02-27 12:02:47 -080014788 void *pointerArgs[] = {
14789 (void *) coords,
14790 };
14791
Siva Velusamy05df4502012-02-17 10:55:03 -080014792 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14793 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014794 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014795 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014796}
14797
14798void GLTrace_glDrawTexxvOES(const GLfixed *coords) {
14799 GLMessage glmsg;
14800 GLTraceContext *glContext = getGLTraceContext();
14801
Siva Velusamy0469dd62011-11-30 15:05:37 -080014802 glmsg.set_function(GLMessage::glDrawTexxvOES);
14803
14804 // copy argument coords
14805 GLMessage_DataType *arg_coords = glmsg.add_args();
14806 arg_coords->set_isarray(false);
14807 arg_coords->set_type(GLMessage::DataType::INT);
14808 arg_coords->add_intvalue((int)coords);
14809
14810 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014811 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14812 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014813 glContext->hooks->gl.glDrawTexxvOES(coords);
Siva Velusamy05df4502012-02-17 10:55:03 -080014814 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14815 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014816
Siva Velusamy98011422012-02-27 12:02:47 -080014817 void *pointerArgs[] = {
14818 (void *) coords,
14819 };
14820
Siva Velusamy05df4502012-02-17 10:55:03 -080014821 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14822 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014823 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014824 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014825}
14826
14827void GLTrace_glDrawTexfOES(GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) {
14828 GLMessage glmsg;
14829 GLTraceContext *glContext = getGLTraceContext();
14830
Siva Velusamy0469dd62011-11-30 15:05:37 -080014831 glmsg.set_function(GLMessage::glDrawTexfOES);
14832
14833 // copy argument x
14834 GLMessage_DataType *arg_x = glmsg.add_args();
14835 arg_x->set_isarray(false);
14836 arg_x->set_type(GLMessage::DataType::FLOAT);
14837 arg_x->add_floatvalue(x);
14838
14839 // copy argument y
14840 GLMessage_DataType *arg_y = glmsg.add_args();
14841 arg_y->set_isarray(false);
14842 arg_y->set_type(GLMessage::DataType::FLOAT);
14843 arg_y->add_floatvalue(y);
14844
14845 // copy argument z
14846 GLMessage_DataType *arg_z = glmsg.add_args();
14847 arg_z->set_isarray(false);
14848 arg_z->set_type(GLMessage::DataType::FLOAT);
14849 arg_z->add_floatvalue(z);
14850
14851 // copy argument width
14852 GLMessage_DataType *arg_width = glmsg.add_args();
14853 arg_width->set_isarray(false);
14854 arg_width->set_type(GLMessage::DataType::FLOAT);
14855 arg_width->add_floatvalue(width);
14856
14857 // copy argument height
14858 GLMessage_DataType *arg_height = glmsg.add_args();
14859 arg_height->set_isarray(false);
14860 arg_height->set_type(GLMessage::DataType::FLOAT);
14861 arg_height->add_floatvalue(height);
14862
14863 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014864 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14865 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014866 glContext->hooks->gl.glDrawTexfOES(x, y, z, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -080014867 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14868 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014869
Siva Velusamy98011422012-02-27 12:02:47 -080014870 void *pointerArgs[] = {
14871 };
14872
Siva Velusamy05df4502012-02-17 10:55:03 -080014873 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14874 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014875 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014876 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014877}
14878
14879void GLTrace_glDrawTexfvOES(const GLfloat *coords) {
14880 GLMessage glmsg;
14881 GLTraceContext *glContext = getGLTraceContext();
14882
Siva Velusamy0469dd62011-11-30 15:05:37 -080014883 glmsg.set_function(GLMessage::glDrawTexfvOES);
14884
14885 // copy argument coords
14886 GLMessage_DataType *arg_coords = glmsg.add_args();
14887 arg_coords->set_isarray(false);
14888 arg_coords->set_type(GLMessage::DataType::INT);
14889 arg_coords->add_intvalue((int)coords);
14890
14891 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014892 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14893 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014894 glContext->hooks->gl.glDrawTexfvOES(coords);
Siva Velusamy05df4502012-02-17 10:55:03 -080014895 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14896 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014897
Siva Velusamy98011422012-02-27 12:02:47 -080014898 void *pointerArgs[] = {
14899 (void *) coords,
14900 };
14901
Siva Velusamy05df4502012-02-17 10:55:03 -080014902 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14903 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014904 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014905 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014906}
14907
14908void GLTrace_glAlphaFuncxOES(GLenum func, GLclampx ref) {
14909 GLMessage glmsg;
14910 GLTraceContext *glContext = getGLTraceContext();
14911
Siva Velusamy0469dd62011-11-30 15:05:37 -080014912 glmsg.set_function(GLMessage::glAlphaFuncxOES);
14913
14914 // copy argument func
14915 GLMessage_DataType *arg_func = glmsg.add_args();
14916 arg_func->set_isarray(false);
14917 arg_func->set_type(GLMessage::DataType::ENUM);
14918 arg_func->add_intvalue((int)func);
14919
14920 // copy argument ref
14921 GLMessage_DataType *arg_ref = glmsg.add_args();
14922 arg_ref->set_isarray(false);
14923 arg_ref->set_type(GLMessage::DataType::INT);
14924 arg_ref->add_intvalue(ref);
14925
14926 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014927 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14928 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014929 glContext->hooks->gl.glAlphaFuncxOES(func, ref);
Siva Velusamy05df4502012-02-17 10:55:03 -080014930 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14931 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014932
Siva Velusamy98011422012-02-27 12:02:47 -080014933 void *pointerArgs[] = {
14934 };
14935
Siva Velusamy05df4502012-02-17 10:55:03 -080014936 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14937 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014938 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014939 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014940}
14941
14942void GLTrace_glClearColorxOES(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha) {
14943 GLMessage glmsg;
14944 GLTraceContext *glContext = getGLTraceContext();
14945
Siva Velusamy0469dd62011-11-30 15:05:37 -080014946 glmsg.set_function(GLMessage::glClearColorxOES);
14947
14948 // copy argument red
14949 GLMessage_DataType *arg_red = glmsg.add_args();
14950 arg_red->set_isarray(false);
14951 arg_red->set_type(GLMessage::DataType::INT);
14952 arg_red->add_intvalue(red);
14953
14954 // copy argument green
14955 GLMessage_DataType *arg_green = glmsg.add_args();
14956 arg_green->set_isarray(false);
14957 arg_green->set_type(GLMessage::DataType::INT);
14958 arg_green->add_intvalue(green);
14959
14960 // copy argument blue
14961 GLMessage_DataType *arg_blue = glmsg.add_args();
14962 arg_blue->set_isarray(false);
14963 arg_blue->set_type(GLMessage::DataType::INT);
14964 arg_blue->add_intvalue(blue);
14965
14966 // copy argument alpha
14967 GLMessage_DataType *arg_alpha = glmsg.add_args();
14968 arg_alpha->set_isarray(false);
14969 arg_alpha->set_type(GLMessage::DataType::INT);
14970 arg_alpha->add_intvalue(alpha);
14971
14972 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080014973 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
14974 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014975 glContext->hooks->gl.glClearColorxOES(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080014976 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
14977 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014978
Siva Velusamy98011422012-02-27 12:02:47 -080014979 void *pointerArgs[] = {
14980 };
14981
Siva Velusamy05df4502012-02-17 10:55:03 -080014982 fixupGLMessage(glContext, wallStartTime, wallEndTime,
14983 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080014984 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080014985 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080014986}
14987
14988void GLTrace_glClearDepthxOES(GLclampx depth) {
14989 GLMessage glmsg;
14990 GLTraceContext *glContext = getGLTraceContext();
14991
Siva Velusamy0469dd62011-11-30 15:05:37 -080014992 glmsg.set_function(GLMessage::glClearDepthxOES);
14993
14994 // copy argument depth
14995 GLMessage_DataType *arg_depth = glmsg.add_args();
14996 arg_depth->set_isarray(false);
14997 arg_depth->set_type(GLMessage::DataType::INT);
14998 arg_depth->add_intvalue(depth);
14999
15000 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015001 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15002 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015003 glContext->hooks->gl.glClearDepthxOES(depth);
Siva Velusamy05df4502012-02-17 10:55:03 -080015004 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15005 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015006
Siva Velusamy98011422012-02-27 12:02:47 -080015007 void *pointerArgs[] = {
15008 };
15009
Siva Velusamy05df4502012-02-17 10:55:03 -080015010 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15011 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015012 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015013 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015014}
15015
15016void GLTrace_glClipPlanexOES(GLenum plane, const GLfixed *equation) {
15017 GLMessage glmsg;
15018 GLTraceContext *glContext = getGLTraceContext();
15019
Siva Velusamy0469dd62011-11-30 15:05:37 -080015020 glmsg.set_function(GLMessage::glClipPlanexOES);
15021
15022 // copy argument plane
15023 GLMessage_DataType *arg_plane = glmsg.add_args();
15024 arg_plane->set_isarray(false);
15025 arg_plane->set_type(GLMessage::DataType::ENUM);
15026 arg_plane->add_intvalue((int)plane);
15027
15028 // copy argument equation
15029 GLMessage_DataType *arg_equation = glmsg.add_args();
15030 arg_equation->set_isarray(false);
15031 arg_equation->set_type(GLMessage::DataType::INT);
15032 arg_equation->add_intvalue((int)equation);
15033
15034 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015035 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15036 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015037 glContext->hooks->gl.glClipPlanexOES(plane, equation);
Siva Velusamy05df4502012-02-17 10:55:03 -080015038 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15039 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015040
Siva Velusamy98011422012-02-27 12:02:47 -080015041 void *pointerArgs[] = {
15042 (void *) equation,
15043 };
15044
Siva Velusamy05df4502012-02-17 10:55:03 -080015045 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15046 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015047 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015048 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015049}
15050
15051void GLTrace_glColor4xOES(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha) {
15052 GLMessage glmsg;
15053 GLTraceContext *glContext = getGLTraceContext();
15054
Siva Velusamy0469dd62011-11-30 15:05:37 -080015055 glmsg.set_function(GLMessage::glColor4xOES);
15056
15057 // copy argument red
15058 GLMessage_DataType *arg_red = glmsg.add_args();
15059 arg_red->set_isarray(false);
15060 arg_red->set_type(GLMessage::DataType::INT);
15061 arg_red->add_intvalue(red);
15062
15063 // copy argument green
15064 GLMessage_DataType *arg_green = glmsg.add_args();
15065 arg_green->set_isarray(false);
15066 arg_green->set_type(GLMessage::DataType::INT);
15067 arg_green->add_intvalue(green);
15068
15069 // copy argument blue
15070 GLMessage_DataType *arg_blue = glmsg.add_args();
15071 arg_blue->set_isarray(false);
15072 arg_blue->set_type(GLMessage::DataType::INT);
15073 arg_blue->add_intvalue(blue);
15074
15075 // copy argument alpha
15076 GLMessage_DataType *arg_alpha = glmsg.add_args();
15077 arg_alpha->set_isarray(false);
15078 arg_alpha->set_type(GLMessage::DataType::INT);
15079 arg_alpha->add_intvalue(alpha);
15080
15081 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015082 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15083 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015084 glContext->hooks->gl.glColor4xOES(red, green, blue, alpha);
Siva Velusamy05df4502012-02-17 10:55:03 -080015085 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15086 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015087
Siva Velusamy98011422012-02-27 12:02:47 -080015088 void *pointerArgs[] = {
15089 };
15090
Siva Velusamy05df4502012-02-17 10:55:03 -080015091 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15092 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015093 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015094 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015095}
15096
15097void GLTrace_glDepthRangexOES(GLclampx zNear, GLclampx zFar) {
15098 GLMessage glmsg;
15099 GLTraceContext *glContext = getGLTraceContext();
15100
Siva Velusamy0469dd62011-11-30 15:05:37 -080015101 glmsg.set_function(GLMessage::glDepthRangexOES);
15102
15103 // copy argument zNear
15104 GLMessage_DataType *arg_zNear = glmsg.add_args();
15105 arg_zNear->set_isarray(false);
15106 arg_zNear->set_type(GLMessage::DataType::INT);
15107 arg_zNear->add_intvalue(zNear);
15108
15109 // copy argument zFar
15110 GLMessage_DataType *arg_zFar = glmsg.add_args();
15111 arg_zFar->set_isarray(false);
15112 arg_zFar->set_type(GLMessage::DataType::INT);
15113 arg_zFar->add_intvalue(zFar);
15114
15115 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015116 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15117 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015118 glContext->hooks->gl.glDepthRangexOES(zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080015119 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15120 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015121
Siva Velusamy98011422012-02-27 12:02:47 -080015122 void *pointerArgs[] = {
15123 };
15124
Siva Velusamy05df4502012-02-17 10:55:03 -080015125 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15126 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015127 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015128 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015129}
15130
15131void GLTrace_glFogxOES(GLenum pname, GLfixed param) {
15132 GLMessage glmsg;
15133 GLTraceContext *glContext = getGLTraceContext();
15134
Siva Velusamy0469dd62011-11-30 15:05:37 -080015135 glmsg.set_function(GLMessage::glFogxOES);
15136
15137 // copy argument pname
15138 GLMessage_DataType *arg_pname = glmsg.add_args();
15139 arg_pname->set_isarray(false);
15140 arg_pname->set_type(GLMessage::DataType::ENUM);
15141 arg_pname->add_intvalue((int)pname);
15142
15143 // copy argument param
15144 GLMessage_DataType *arg_param = glmsg.add_args();
15145 arg_param->set_isarray(false);
15146 arg_param->set_type(GLMessage::DataType::INT);
15147 arg_param->add_intvalue(param);
15148
15149 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015150 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15151 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015152 glContext->hooks->gl.glFogxOES(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080015153 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15154 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015155
Siva Velusamy98011422012-02-27 12:02:47 -080015156 void *pointerArgs[] = {
15157 };
15158
Siva Velusamy05df4502012-02-17 10:55:03 -080015159 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15160 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015161 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015162 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015163}
15164
15165void GLTrace_glFogxvOES(GLenum pname, const GLfixed *params) {
15166 GLMessage glmsg;
15167 GLTraceContext *glContext = getGLTraceContext();
15168
Siva Velusamy0469dd62011-11-30 15:05:37 -080015169 glmsg.set_function(GLMessage::glFogxvOES);
15170
15171 // copy argument pname
15172 GLMessage_DataType *arg_pname = glmsg.add_args();
15173 arg_pname->set_isarray(false);
15174 arg_pname->set_type(GLMessage::DataType::ENUM);
15175 arg_pname->add_intvalue((int)pname);
15176
15177 // copy argument params
15178 GLMessage_DataType *arg_params = glmsg.add_args();
15179 arg_params->set_isarray(false);
15180 arg_params->set_type(GLMessage::DataType::INT);
15181 arg_params->add_intvalue((int)params);
15182
15183 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015184 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15185 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015186 glContext->hooks->gl.glFogxvOES(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015187 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15188 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015189
Siva Velusamy98011422012-02-27 12:02:47 -080015190 void *pointerArgs[] = {
15191 (void *) params,
15192 };
15193
Siva Velusamy05df4502012-02-17 10:55:03 -080015194 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15195 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015196 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015197 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015198}
15199
15200void GLTrace_glFrustumxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
15201 GLMessage glmsg;
15202 GLTraceContext *glContext = getGLTraceContext();
15203
Siva Velusamy0469dd62011-11-30 15:05:37 -080015204 glmsg.set_function(GLMessage::glFrustumxOES);
15205
15206 // copy argument left
15207 GLMessage_DataType *arg_left = glmsg.add_args();
15208 arg_left->set_isarray(false);
15209 arg_left->set_type(GLMessage::DataType::INT);
15210 arg_left->add_intvalue(left);
15211
15212 // copy argument right
15213 GLMessage_DataType *arg_right = glmsg.add_args();
15214 arg_right->set_isarray(false);
15215 arg_right->set_type(GLMessage::DataType::INT);
15216 arg_right->add_intvalue(right);
15217
15218 // copy argument bottom
15219 GLMessage_DataType *arg_bottom = glmsg.add_args();
15220 arg_bottom->set_isarray(false);
15221 arg_bottom->set_type(GLMessage::DataType::INT);
15222 arg_bottom->add_intvalue(bottom);
15223
15224 // copy argument top
15225 GLMessage_DataType *arg_top = glmsg.add_args();
15226 arg_top->set_isarray(false);
15227 arg_top->set_type(GLMessage::DataType::INT);
15228 arg_top->add_intvalue(top);
15229
15230 // copy argument zNear
15231 GLMessage_DataType *arg_zNear = glmsg.add_args();
15232 arg_zNear->set_isarray(false);
15233 arg_zNear->set_type(GLMessage::DataType::INT);
15234 arg_zNear->add_intvalue(zNear);
15235
15236 // copy argument zFar
15237 GLMessage_DataType *arg_zFar = glmsg.add_args();
15238 arg_zFar->set_isarray(false);
15239 arg_zFar->set_type(GLMessage::DataType::INT);
15240 arg_zFar->add_intvalue(zFar);
15241
15242 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015243 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15244 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015245 glContext->hooks->gl.glFrustumxOES(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080015246 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15247 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015248
Siva Velusamy98011422012-02-27 12:02:47 -080015249 void *pointerArgs[] = {
15250 };
15251
Siva Velusamy05df4502012-02-17 10:55:03 -080015252 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15253 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015254 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015255 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015256}
15257
15258void GLTrace_glGetClipPlanexOES(GLenum pname, GLfixed eqn[4]) {
15259 GLMessage glmsg;
15260 GLTraceContext *glContext = getGLTraceContext();
15261
Siva Velusamy0469dd62011-11-30 15:05:37 -080015262 glmsg.set_function(GLMessage::glGetClipPlanexOES);
15263
15264 // copy argument pname
15265 GLMessage_DataType *arg_pname = glmsg.add_args();
15266 arg_pname->set_isarray(false);
15267 arg_pname->set_type(GLMessage::DataType::ENUM);
15268 arg_pname->add_intvalue((int)pname);
15269
15270 // copy argument eqn
15271 GLMessage_DataType *arg_eqn = glmsg.add_args();
15272 arg_eqn->set_isarray(false);
15273 arg_eqn->set_type(GLMessage::DataType::INT);
15274 arg_eqn->add_intvalue((int)eqn);
15275
15276 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015277 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15278 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015279 glContext->hooks->gl.glGetClipPlanexOES(pname, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080015280 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15281 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015282
Siva Velusamy98011422012-02-27 12:02:47 -080015283 void *pointerArgs[] = {
15284 (void *) eqn,
15285 };
15286
Siva Velusamy05df4502012-02-17 10:55:03 -080015287 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15288 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015289 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015290 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015291}
15292
15293void GLTrace_glGetFixedvOES(GLenum pname, GLfixed *params) {
15294 GLMessage glmsg;
15295 GLTraceContext *glContext = getGLTraceContext();
15296
Siva Velusamy0469dd62011-11-30 15:05:37 -080015297 glmsg.set_function(GLMessage::glGetFixedvOES);
15298
15299 // copy argument pname
15300 GLMessage_DataType *arg_pname = glmsg.add_args();
15301 arg_pname->set_isarray(false);
15302 arg_pname->set_type(GLMessage::DataType::ENUM);
15303 arg_pname->add_intvalue((int)pname);
15304
15305 // copy argument params
15306 GLMessage_DataType *arg_params = glmsg.add_args();
15307 arg_params->set_isarray(false);
15308 arg_params->set_type(GLMessage::DataType::INT);
15309 arg_params->add_intvalue((int)params);
15310
15311 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015312 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15313 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015314 glContext->hooks->gl.glGetFixedvOES(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015315 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15316 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015317
Siva Velusamy98011422012-02-27 12:02:47 -080015318 void *pointerArgs[] = {
15319 (void *) params,
15320 };
15321
Siva Velusamy05df4502012-02-17 10:55:03 -080015322 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15323 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015324 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015325 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015326}
15327
15328void GLTrace_glGetLightxvOES(GLenum light, GLenum pname, GLfixed *params) {
15329 GLMessage glmsg;
15330 GLTraceContext *glContext = getGLTraceContext();
15331
Siva Velusamy0469dd62011-11-30 15:05:37 -080015332 glmsg.set_function(GLMessage::glGetLightxvOES);
15333
15334 // copy argument light
15335 GLMessage_DataType *arg_light = glmsg.add_args();
15336 arg_light->set_isarray(false);
15337 arg_light->set_type(GLMessage::DataType::ENUM);
15338 arg_light->add_intvalue((int)light);
15339
15340 // copy argument pname
15341 GLMessage_DataType *arg_pname = glmsg.add_args();
15342 arg_pname->set_isarray(false);
15343 arg_pname->set_type(GLMessage::DataType::ENUM);
15344 arg_pname->add_intvalue((int)pname);
15345
15346 // copy argument params
15347 GLMessage_DataType *arg_params = glmsg.add_args();
15348 arg_params->set_isarray(false);
15349 arg_params->set_type(GLMessage::DataType::INT);
15350 arg_params->add_intvalue((int)params);
15351
15352 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015353 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15354 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015355 glContext->hooks->gl.glGetLightxvOES(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015356 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15357 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015358
Siva Velusamy98011422012-02-27 12:02:47 -080015359 void *pointerArgs[] = {
15360 (void *) params,
15361 };
15362
Siva Velusamy05df4502012-02-17 10:55:03 -080015363 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15364 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015365 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015366 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015367}
15368
15369void GLTrace_glGetMaterialxvOES(GLenum face, GLenum pname, GLfixed *params) {
15370 GLMessage glmsg;
15371 GLTraceContext *glContext = getGLTraceContext();
15372
Siva Velusamy0469dd62011-11-30 15:05:37 -080015373 glmsg.set_function(GLMessage::glGetMaterialxvOES);
15374
15375 // copy argument face
15376 GLMessage_DataType *arg_face = glmsg.add_args();
15377 arg_face->set_isarray(false);
15378 arg_face->set_type(GLMessage::DataType::ENUM);
15379 arg_face->add_intvalue((int)face);
15380
15381 // copy argument pname
15382 GLMessage_DataType *arg_pname = glmsg.add_args();
15383 arg_pname->set_isarray(false);
15384 arg_pname->set_type(GLMessage::DataType::ENUM);
15385 arg_pname->add_intvalue((int)pname);
15386
15387 // copy argument params
15388 GLMessage_DataType *arg_params = glmsg.add_args();
15389 arg_params->set_isarray(false);
15390 arg_params->set_type(GLMessage::DataType::INT);
15391 arg_params->add_intvalue((int)params);
15392
15393 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015394 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15395 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015396 glContext->hooks->gl.glGetMaterialxvOES(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015397 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15398 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015399
Siva Velusamy98011422012-02-27 12:02:47 -080015400 void *pointerArgs[] = {
15401 (void *) params,
15402 };
15403
Siva Velusamy05df4502012-02-17 10:55:03 -080015404 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15405 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015406 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015407 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015408}
15409
15410void GLTrace_glGetTexEnvxvOES(GLenum env, GLenum pname, GLfixed *params) {
15411 GLMessage glmsg;
15412 GLTraceContext *glContext = getGLTraceContext();
15413
Siva Velusamy0469dd62011-11-30 15:05:37 -080015414 glmsg.set_function(GLMessage::glGetTexEnvxvOES);
15415
15416 // copy argument env
15417 GLMessage_DataType *arg_env = glmsg.add_args();
15418 arg_env->set_isarray(false);
15419 arg_env->set_type(GLMessage::DataType::ENUM);
15420 arg_env->add_intvalue((int)env);
15421
15422 // copy argument pname
15423 GLMessage_DataType *arg_pname = glmsg.add_args();
15424 arg_pname->set_isarray(false);
15425 arg_pname->set_type(GLMessage::DataType::ENUM);
15426 arg_pname->add_intvalue((int)pname);
15427
15428 // copy argument params
15429 GLMessage_DataType *arg_params = glmsg.add_args();
15430 arg_params->set_isarray(false);
15431 arg_params->set_type(GLMessage::DataType::INT);
15432 arg_params->add_intvalue((int)params);
15433
15434 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015435 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15436 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015437 glContext->hooks->gl.glGetTexEnvxvOES(env, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015438 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15439 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015440
Siva Velusamy98011422012-02-27 12:02:47 -080015441 void *pointerArgs[] = {
15442 (void *) params,
15443 };
15444
Siva Velusamy05df4502012-02-17 10:55:03 -080015445 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15446 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015447 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015448 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015449}
15450
15451void GLTrace_glGetTexParameterxvOES(GLenum target, GLenum pname, GLfixed *params) {
15452 GLMessage glmsg;
15453 GLTraceContext *glContext = getGLTraceContext();
15454
Siva Velusamy0469dd62011-11-30 15:05:37 -080015455 glmsg.set_function(GLMessage::glGetTexParameterxvOES);
15456
15457 // copy argument target
15458 GLMessage_DataType *arg_target = glmsg.add_args();
15459 arg_target->set_isarray(false);
15460 arg_target->set_type(GLMessage::DataType::ENUM);
15461 arg_target->add_intvalue((int)target);
15462
15463 // copy argument pname
15464 GLMessage_DataType *arg_pname = glmsg.add_args();
15465 arg_pname->set_isarray(false);
15466 arg_pname->set_type(GLMessage::DataType::ENUM);
15467 arg_pname->add_intvalue((int)pname);
15468
15469 // copy argument params
15470 GLMessage_DataType *arg_params = glmsg.add_args();
15471 arg_params->set_isarray(false);
15472 arg_params->set_type(GLMessage::DataType::INT);
15473 arg_params->add_intvalue((int)params);
15474
15475 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015476 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15477 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015478 glContext->hooks->gl.glGetTexParameterxvOES(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015479 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15480 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015481
Siva Velusamy98011422012-02-27 12:02:47 -080015482 void *pointerArgs[] = {
15483 (void *) params,
15484 };
15485
Siva Velusamy05df4502012-02-17 10:55:03 -080015486 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15487 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015488 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015489 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015490}
15491
15492void GLTrace_glLightModelxOES(GLenum pname, GLfixed param) {
15493 GLMessage glmsg;
15494 GLTraceContext *glContext = getGLTraceContext();
15495
Siva Velusamy0469dd62011-11-30 15:05:37 -080015496 glmsg.set_function(GLMessage::glLightModelxOES);
15497
15498 // copy argument pname
15499 GLMessage_DataType *arg_pname = glmsg.add_args();
15500 arg_pname->set_isarray(false);
15501 arg_pname->set_type(GLMessage::DataType::ENUM);
15502 arg_pname->add_intvalue((int)pname);
15503
15504 // copy argument param
15505 GLMessage_DataType *arg_param = glmsg.add_args();
15506 arg_param->set_isarray(false);
15507 arg_param->set_type(GLMessage::DataType::INT);
15508 arg_param->add_intvalue(param);
15509
15510 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015511 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15512 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015513 glContext->hooks->gl.glLightModelxOES(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080015514 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15515 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015516
Siva Velusamy98011422012-02-27 12:02:47 -080015517 void *pointerArgs[] = {
15518 };
15519
Siva Velusamy05df4502012-02-17 10:55:03 -080015520 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15521 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015522 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015523 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015524}
15525
15526void GLTrace_glLightModelxvOES(GLenum pname, const GLfixed *params) {
15527 GLMessage glmsg;
15528 GLTraceContext *glContext = getGLTraceContext();
15529
Siva Velusamy0469dd62011-11-30 15:05:37 -080015530 glmsg.set_function(GLMessage::glLightModelxvOES);
15531
15532 // copy argument pname
15533 GLMessage_DataType *arg_pname = glmsg.add_args();
15534 arg_pname->set_isarray(false);
15535 arg_pname->set_type(GLMessage::DataType::ENUM);
15536 arg_pname->add_intvalue((int)pname);
15537
15538 // copy argument params
15539 GLMessage_DataType *arg_params = glmsg.add_args();
15540 arg_params->set_isarray(false);
15541 arg_params->set_type(GLMessage::DataType::INT);
15542 arg_params->add_intvalue((int)params);
15543
15544 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015545 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15546 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015547 glContext->hooks->gl.glLightModelxvOES(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015548 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15549 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015550
Siva Velusamy98011422012-02-27 12:02:47 -080015551 void *pointerArgs[] = {
15552 (void *) params,
15553 };
15554
Siva Velusamy05df4502012-02-17 10:55:03 -080015555 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15556 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015557 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015558 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015559}
15560
15561void GLTrace_glLightxOES(GLenum light, GLenum pname, GLfixed param) {
15562 GLMessage glmsg;
15563 GLTraceContext *glContext = getGLTraceContext();
15564
Siva Velusamy0469dd62011-11-30 15:05:37 -080015565 glmsg.set_function(GLMessage::glLightxOES);
15566
15567 // copy argument light
15568 GLMessage_DataType *arg_light = glmsg.add_args();
15569 arg_light->set_isarray(false);
15570 arg_light->set_type(GLMessage::DataType::ENUM);
15571 arg_light->add_intvalue((int)light);
15572
15573 // copy argument pname
15574 GLMessage_DataType *arg_pname = glmsg.add_args();
15575 arg_pname->set_isarray(false);
15576 arg_pname->set_type(GLMessage::DataType::ENUM);
15577 arg_pname->add_intvalue((int)pname);
15578
15579 // copy argument param
15580 GLMessage_DataType *arg_param = glmsg.add_args();
15581 arg_param->set_isarray(false);
15582 arg_param->set_type(GLMessage::DataType::INT);
15583 arg_param->add_intvalue(param);
15584
15585 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015586 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15587 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015588 glContext->hooks->gl.glLightxOES(light, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080015589 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15590 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015591
Siva Velusamy98011422012-02-27 12:02:47 -080015592 void *pointerArgs[] = {
15593 };
15594
Siva Velusamy05df4502012-02-17 10:55:03 -080015595 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15596 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015597 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015598 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015599}
15600
15601void GLTrace_glLightxvOES(GLenum light, GLenum pname, const GLfixed *params) {
15602 GLMessage glmsg;
15603 GLTraceContext *glContext = getGLTraceContext();
15604
Siva Velusamy0469dd62011-11-30 15:05:37 -080015605 glmsg.set_function(GLMessage::glLightxvOES);
15606
15607 // copy argument light
15608 GLMessage_DataType *arg_light = glmsg.add_args();
15609 arg_light->set_isarray(false);
15610 arg_light->set_type(GLMessage::DataType::ENUM);
15611 arg_light->add_intvalue((int)light);
15612
15613 // copy argument pname
15614 GLMessage_DataType *arg_pname = glmsg.add_args();
15615 arg_pname->set_isarray(false);
15616 arg_pname->set_type(GLMessage::DataType::ENUM);
15617 arg_pname->add_intvalue((int)pname);
15618
15619 // copy argument params
15620 GLMessage_DataType *arg_params = glmsg.add_args();
15621 arg_params->set_isarray(false);
15622 arg_params->set_type(GLMessage::DataType::INT);
15623 arg_params->add_intvalue((int)params);
15624
15625 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015626 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15627 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015628 glContext->hooks->gl.glLightxvOES(light, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015629 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15630 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015631
Siva Velusamy98011422012-02-27 12:02:47 -080015632 void *pointerArgs[] = {
15633 (void *) params,
15634 };
15635
Siva Velusamy05df4502012-02-17 10:55:03 -080015636 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15637 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015638 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015639 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015640}
15641
15642void GLTrace_glLineWidthxOES(GLfixed width) {
15643 GLMessage glmsg;
15644 GLTraceContext *glContext = getGLTraceContext();
15645
Siva Velusamy0469dd62011-11-30 15:05:37 -080015646 glmsg.set_function(GLMessage::glLineWidthxOES);
15647
15648 // copy argument width
15649 GLMessage_DataType *arg_width = glmsg.add_args();
15650 arg_width->set_isarray(false);
15651 arg_width->set_type(GLMessage::DataType::INT);
15652 arg_width->add_intvalue(width);
15653
15654 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015655 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15656 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015657 glContext->hooks->gl.glLineWidthxOES(width);
Siva Velusamy05df4502012-02-17 10:55:03 -080015658 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15659 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015660
Siva Velusamy98011422012-02-27 12:02:47 -080015661 void *pointerArgs[] = {
15662 };
15663
Siva Velusamy05df4502012-02-17 10:55:03 -080015664 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15665 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015666 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015667 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015668}
15669
15670void GLTrace_glLoadMatrixxOES(const GLfixed *m) {
15671 GLMessage glmsg;
15672 GLTraceContext *glContext = getGLTraceContext();
15673
Siva Velusamy0469dd62011-11-30 15:05:37 -080015674 glmsg.set_function(GLMessage::glLoadMatrixxOES);
15675
15676 // copy argument m
15677 GLMessage_DataType *arg_m = glmsg.add_args();
15678 arg_m->set_isarray(false);
15679 arg_m->set_type(GLMessage::DataType::INT);
15680 arg_m->add_intvalue((int)m);
15681
15682 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015683 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15684 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015685 glContext->hooks->gl.glLoadMatrixxOES(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080015686 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15687 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015688
Siva Velusamy98011422012-02-27 12:02:47 -080015689 void *pointerArgs[] = {
15690 (void *) m,
15691 };
15692
Siva Velusamy05df4502012-02-17 10:55:03 -080015693 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15694 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015695 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015696 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015697}
15698
15699void GLTrace_glMaterialxOES(GLenum face, GLenum pname, GLfixed param) {
15700 GLMessage glmsg;
15701 GLTraceContext *glContext = getGLTraceContext();
15702
Siva Velusamy0469dd62011-11-30 15:05:37 -080015703 glmsg.set_function(GLMessage::glMaterialxOES);
15704
15705 // copy argument face
15706 GLMessage_DataType *arg_face = glmsg.add_args();
15707 arg_face->set_isarray(false);
15708 arg_face->set_type(GLMessage::DataType::ENUM);
15709 arg_face->add_intvalue((int)face);
15710
15711 // copy argument pname
15712 GLMessage_DataType *arg_pname = glmsg.add_args();
15713 arg_pname->set_isarray(false);
15714 arg_pname->set_type(GLMessage::DataType::ENUM);
15715 arg_pname->add_intvalue((int)pname);
15716
15717 // copy argument param
15718 GLMessage_DataType *arg_param = glmsg.add_args();
15719 arg_param->set_isarray(false);
15720 arg_param->set_type(GLMessage::DataType::INT);
15721 arg_param->add_intvalue(param);
15722
15723 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015724 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15725 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015726 glContext->hooks->gl.glMaterialxOES(face, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080015727 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15728 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015729
Siva Velusamy98011422012-02-27 12:02:47 -080015730 void *pointerArgs[] = {
15731 };
15732
Siva Velusamy05df4502012-02-17 10:55:03 -080015733 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15734 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015735 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015736 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015737}
15738
15739void GLTrace_glMaterialxvOES(GLenum face, GLenum pname, const GLfixed *params) {
15740 GLMessage glmsg;
15741 GLTraceContext *glContext = getGLTraceContext();
15742
Siva Velusamy0469dd62011-11-30 15:05:37 -080015743 glmsg.set_function(GLMessage::glMaterialxvOES);
15744
15745 // copy argument face
15746 GLMessage_DataType *arg_face = glmsg.add_args();
15747 arg_face->set_isarray(false);
15748 arg_face->set_type(GLMessage::DataType::ENUM);
15749 arg_face->add_intvalue((int)face);
15750
15751 // copy argument pname
15752 GLMessage_DataType *arg_pname = glmsg.add_args();
15753 arg_pname->set_isarray(false);
15754 arg_pname->set_type(GLMessage::DataType::ENUM);
15755 arg_pname->add_intvalue((int)pname);
15756
15757 // copy argument params
15758 GLMessage_DataType *arg_params = glmsg.add_args();
15759 arg_params->set_isarray(false);
15760 arg_params->set_type(GLMessage::DataType::INT);
15761 arg_params->add_intvalue((int)params);
15762
15763 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015764 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15765 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015766 glContext->hooks->gl.glMaterialxvOES(face, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080015767 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15768 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015769
Siva Velusamy98011422012-02-27 12:02:47 -080015770 void *pointerArgs[] = {
15771 (void *) params,
15772 };
15773
Siva Velusamy05df4502012-02-17 10:55:03 -080015774 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15775 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015776 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015777 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015778}
15779
15780void GLTrace_glMultMatrixxOES(const GLfixed *m) {
15781 GLMessage glmsg;
15782 GLTraceContext *glContext = getGLTraceContext();
15783
Siva Velusamy0469dd62011-11-30 15:05:37 -080015784 glmsg.set_function(GLMessage::glMultMatrixxOES);
15785
15786 // copy argument m
15787 GLMessage_DataType *arg_m = glmsg.add_args();
15788 arg_m->set_isarray(false);
15789 arg_m->set_type(GLMessage::DataType::INT);
15790 arg_m->add_intvalue((int)m);
15791
15792 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015793 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15794 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015795 glContext->hooks->gl.glMultMatrixxOES(m);
Siva Velusamy05df4502012-02-17 10:55:03 -080015796 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15797 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015798
Siva Velusamy98011422012-02-27 12:02:47 -080015799 void *pointerArgs[] = {
15800 (void *) m,
15801 };
15802
Siva Velusamy05df4502012-02-17 10:55:03 -080015803 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15804 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015805 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015806 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015807}
15808
15809void GLTrace_glMultiTexCoord4xOES(GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q) {
15810 GLMessage glmsg;
15811 GLTraceContext *glContext = getGLTraceContext();
15812
Siva Velusamy0469dd62011-11-30 15:05:37 -080015813 glmsg.set_function(GLMessage::glMultiTexCoord4xOES);
15814
15815 // copy argument target
15816 GLMessage_DataType *arg_target = glmsg.add_args();
15817 arg_target->set_isarray(false);
15818 arg_target->set_type(GLMessage::DataType::ENUM);
15819 arg_target->add_intvalue((int)target);
15820
15821 // copy argument s
15822 GLMessage_DataType *arg_s = glmsg.add_args();
15823 arg_s->set_isarray(false);
15824 arg_s->set_type(GLMessage::DataType::INT);
15825 arg_s->add_intvalue(s);
15826
15827 // copy argument t
15828 GLMessage_DataType *arg_t = glmsg.add_args();
15829 arg_t->set_isarray(false);
15830 arg_t->set_type(GLMessage::DataType::INT);
15831 arg_t->add_intvalue(t);
15832
15833 // copy argument r
15834 GLMessage_DataType *arg_r = glmsg.add_args();
15835 arg_r->set_isarray(false);
15836 arg_r->set_type(GLMessage::DataType::INT);
15837 arg_r->add_intvalue(r);
15838
15839 // copy argument q
15840 GLMessage_DataType *arg_q = glmsg.add_args();
15841 arg_q->set_isarray(false);
15842 arg_q->set_type(GLMessage::DataType::INT);
15843 arg_q->add_intvalue(q);
15844
15845 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015846 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15847 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015848 glContext->hooks->gl.glMultiTexCoord4xOES(target, s, t, r, q);
Siva Velusamy05df4502012-02-17 10:55:03 -080015849 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15850 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015851
Siva Velusamy98011422012-02-27 12:02:47 -080015852 void *pointerArgs[] = {
15853 };
15854
Siva Velusamy05df4502012-02-17 10:55:03 -080015855 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15856 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015857 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015858 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015859}
15860
15861void GLTrace_glNormal3xOES(GLfixed nx, GLfixed ny, GLfixed nz) {
15862 GLMessage glmsg;
15863 GLTraceContext *glContext = getGLTraceContext();
15864
Siva Velusamy0469dd62011-11-30 15:05:37 -080015865 glmsg.set_function(GLMessage::glNormal3xOES);
15866
15867 // copy argument nx
15868 GLMessage_DataType *arg_nx = glmsg.add_args();
15869 arg_nx->set_isarray(false);
15870 arg_nx->set_type(GLMessage::DataType::INT);
15871 arg_nx->add_intvalue(nx);
15872
15873 // copy argument ny
15874 GLMessage_DataType *arg_ny = glmsg.add_args();
15875 arg_ny->set_isarray(false);
15876 arg_ny->set_type(GLMessage::DataType::INT);
15877 arg_ny->add_intvalue(ny);
15878
15879 // copy argument nz
15880 GLMessage_DataType *arg_nz = glmsg.add_args();
15881 arg_nz->set_isarray(false);
15882 arg_nz->set_type(GLMessage::DataType::INT);
15883 arg_nz->add_intvalue(nz);
15884
15885 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015886 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15887 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015888 glContext->hooks->gl.glNormal3xOES(nx, ny, nz);
Siva Velusamy05df4502012-02-17 10:55:03 -080015889 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15890 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015891
Siva Velusamy98011422012-02-27 12:02:47 -080015892 void *pointerArgs[] = {
15893 };
15894
Siva Velusamy05df4502012-02-17 10:55:03 -080015895 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15896 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015897 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015898 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015899}
15900
15901void GLTrace_glOrthoxOES(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar) {
15902 GLMessage glmsg;
15903 GLTraceContext *glContext = getGLTraceContext();
15904
Siva Velusamy0469dd62011-11-30 15:05:37 -080015905 glmsg.set_function(GLMessage::glOrthoxOES);
15906
15907 // copy argument left
15908 GLMessage_DataType *arg_left = glmsg.add_args();
15909 arg_left->set_isarray(false);
15910 arg_left->set_type(GLMessage::DataType::INT);
15911 arg_left->add_intvalue(left);
15912
15913 // copy argument right
15914 GLMessage_DataType *arg_right = glmsg.add_args();
15915 arg_right->set_isarray(false);
15916 arg_right->set_type(GLMessage::DataType::INT);
15917 arg_right->add_intvalue(right);
15918
15919 // copy argument bottom
15920 GLMessage_DataType *arg_bottom = glmsg.add_args();
15921 arg_bottom->set_isarray(false);
15922 arg_bottom->set_type(GLMessage::DataType::INT);
15923 arg_bottom->add_intvalue(bottom);
15924
15925 // copy argument top
15926 GLMessage_DataType *arg_top = glmsg.add_args();
15927 arg_top->set_isarray(false);
15928 arg_top->set_type(GLMessage::DataType::INT);
15929 arg_top->add_intvalue(top);
15930
15931 // copy argument zNear
15932 GLMessage_DataType *arg_zNear = glmsg.add_args();
15933 arg_zNear->set_isarray(false);
15934 arg_zNear->set_type(GLMessage::DataType::INT);
15935 arg_zNear->add_intvalue(zNear);
15936
15937 // copy argument zFar
15938 GLMessage_DataType *arg_zFar = glmsg.add_args();
15939 arg_zFar->set_isarray(false);
15940 arg_zFar->set_type(GLMessage::DataType::INT);
15941 arg_zFar->add_intvalue(zFar);
15942
15943 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015944 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15945 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015946 glContext->hooks->gl.glOrthoxOES(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080015947 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15948 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015949
Siva Velusamy98011422012-02-27 12:02:47 -080015950 void *pointerArgs[] = {
15951 };
15952
Siva Velusamy05df4502012-02-17 10:55:03 -080015953 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15954 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015955 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015956 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015957}
15958
15959void GLTrace_glPointParameterxOES(GLenum pname, GLfixed param) {
15960 GLMessage glmsg;
15961 GLTraceContext *glContext = getGLTraceContext();
15962
Siva Velusamy0469dd62011-11-30 15:05:37 -080015963 glmsg.set_function(GLMessage::glPointParameterxOES);
15964
15965 // copy argument pname
15966 GLMessage_DataType *arg_pname = glmsg.add_args();
15967 arg_pname->set_isarray(false);
15968 arg_pname->set_type(GLMessage::DataType::ENUM);
15969 arg_pname->add_intvalue((int)pname);
15970
15971 // copy argument param
15972 GLMessage_DataType *arg_param = glmsg.add_args();
15973 arg_param->set_isarray(false);
15974 arg_param->set_type(GLMessage::DataType::INT);
15975 arg_param->add_intvalue(param);
15976
15977 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080015978 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
15979 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015980 glContext->hooks->gl.glPointParameterxOES(pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080015981 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
15982 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015983
Siva Velusamy98011422012-02-27 12:02:47 -080015984 void *pointerArgs[] = {
15985 };
15986
Siva Velusamy05df4502012-02-17 10:55:03 -080015987 fixupGLMessage(glContext, wallStartTime, wallEndTime,
15988 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080015989 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080015990 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080015991}
15992
15993void GLTrace_glPointParameterxvOES(GLenum pname, const GLfixed *params) {
15994 GLMessage glmsg;
15995 GLTraceContext *glContext = getGLTraceContext();
15996
Siva Velusamy0469dd62011-11-30 15:05:37 -080015997 glmsg.set_function(GLMessage::glPointParameterxvOES);
15998
15999 // copy argument pname
16000 GLMessage_DataType *arg_pname = glmsg.add_args();
16001 arg_pname->set_isarray(false);
16002 arg_pname->set_type(GLMessage::DataType::ENUM);
16003 arg_pname->add_intvalue((int)pname);
16004
16005 // copy argument params
16006 GLMessage_DataType *arg_params = glmsg.add_args();
16007 arg_params->set_isarray(false);
16008 arg_params->set_type(GLMessage::DataType::INT);
16009 arg_params->add_intvalue((int)params);
16010
16011 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016012 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16013 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016014 glContext->hooks->gl.glPointParameterxvOES(pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080016015 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16016 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016017
Siva Velusamy98011422012-02-27 12:02:47 -080016018 void *pointerArgs[] = {
16019 (void *) params,
16020 };
16021
Siva Velusamy05df4502012-02-17 10:55:03 -080016022 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16023 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016024 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016025 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016026}
16027
16028void GLTrace_glPointSizexOES(GLfixed size) {
16029 GLMessage glmsg;
16030 GLTraceContext *glContext = getGLTraceContext();
16031
Siva Velusamy0469dd62011-11-30 15:05:37 -080016032 glmsg.set_function(GLMessage::glPointSizexOES);
16033
16034 // copy argument size
16035 GLMessage_DataType *arg_size = glmsg.add_args();
16036 arg_size->set_isarray(false);
16037 arg_size->set_type(GLMessage::DataType::INT);
16038 arg_size->add_intvalue(size);
16039
16040 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016041 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16042 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016043 glContext->hooks->gl.glPointSizexOES(size);
Siva Velusamy05df4502012-02-17 10:55:03 -080016044 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16045 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016046
Siva Velusamy98011422012-02-27 12:02:47 -080016047 void *pointerArgs[] = {
16048 };
16049
Siva Velusamy05df4502012-02-17 10:55:03 -080016050 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16051 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016052 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016053 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016054}
16055
16056void GLTrace_glPolygonOffsetxOES(GLfixed factor, GLfixed units) {
16057 GLMessage glmsg;
16058 GLTraceContext *glContext = getGLTraceContext();
16059
Siva Velusamy0469dd62011-11-30 15:05:37 -080016060 glmsg.set_function(GLMessage::glPolygonOffsetxOES);
16061
16062 // copy argument factor
16063 GLMessage_DataType *arg_factor = glmsg.add_args();
16064 arg_factor->set_isarray(false);
16065 arg_factor->set_type(GLMessage::DataType::INT);
16066 arg_factor->add_intvalue(factor);
16067
16068 // copy argument units
16069 GLMessage_DataType *arg_units = glmsg.add_args();
16070 arg_units->set_isarray(false);
16071 arg_units->set_type(GLMessage::DataType::INT);
16072 arg_units->add_intvalue(units);
16073
16074 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016075 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16076 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016077 glContext->hooks->gl.glPolygonOffsetxOES(factor, units);
Siva Velusamy05df4502012-02-17 10:55:03 -080016078 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16079 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016080
Siva Velusamy98011422012-02-27 12:02:47 -080016081 void *pointerArgs[] = {
16082 };
16083
Siva Velusamy05df4502012-02-17 10:55:03 -080016084 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16085 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016086 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016087 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016088}
16089
16090void GLTrace_glRotatexOES(GLfixed angle, GLfixed x, GLfixed y, GLfixed z) {
16091 GLMessage glmsg;
16092 GLTraceContext *glContext = getGLTraceContext();
16093
Siva Velusamy0469dd62011-11-30 15:05:37 -080016094 glmsg.set_function(GLMessage::glRotatexOES);
16095
16096 // copy argument angle
16097 GLMessage_DataType *arg_angle = glmsg.add_args();
16098 arg_angle->set_isarray(false);
16099 arg_angle->set_type(GLMessage::DataType::INT);
16100 arg_angle->add_intvalue(angle);
16101
16102 // copy argument x
16103 GLMessage_DataType *arg_x = glmsg.add_args();
16104 arg_x->set_isarray(false);
16105 arg_x->set_type(GLMessage::DataType::INT);
16106 arg_x->add_intvalue(x);
16107
16108 // copy argument y
16109 GLMessage_DataType *arg_y = glmsg.add_args();
16110 arg_y->set_isarray(false);
16111 arg_y->set_type(GLMessage::DataType::INT);
16112 arg_y->add_intvalue(y);
16113
16114 // copy argument z
16115 GLMessage_DataType *arg_z = glmsg.add_args();
16116 arg_z->set_isarray(false);
16117 arg_z->set_type(GLMessage::DataType::INT);
16118 arg_z->add_intvalue(z);
16119
16120 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016121 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16122 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016123 glContext->hooks->gl.glRotatexOES(angle, x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080016124 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16125 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016126
Siva Velusamy98011422012-02-27 12:02:47 -080016127 void *pointerArgs[] = {
16128 };
16129
Siva Velusamy05df4502012-02-17 10:55:03 -080016130 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16131 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016132 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016133 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016134}
16135
16136void GLTrace_glSampleCoveragexOES(GLclampx value, GLboolean invert) {
16137 GLMessage glmsg;
16138 GLTraceContext *glContext = getGLTraceContext();
16139
Siva Velusamy0469dd62011-11-30 15:05:37 -080016140 glmsg.set_function(GLMessage::glSampleCoveragexOES);
16141
16142 // copy argument value
16143 GLMessage_DataType *arg_value = glmsg.add_args();
16144 arg_value->set_isarray(false);
16145 arg_value->set_type(GLMessage::DataType::INT);
16146 arg_value->add_intvalue(value);
16147
16148 // copy argument invert
16149 GLMessage_DataType *arg_invert = glmsg.add_args();
16150 arg_invert->set_isarray(false);
16151 arg_invert->set_type(GLMessage::DataType::BOOL);
16152 arg_invert->add_boolvalue(invert);
16153
16154 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016155 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16156 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016157 glContext->hooks->gl.glSampleCoveragexOES(value, invert);
Siva Velusamy05df4502012-02-17 10:55:03 -080016158 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16159 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016160
Siva Velusamy98011422012-02-27 12:02:47 -080016161 void *pointerArgs[] = {
16162 };
16163
Siva Velusamy05df4502012-02-17 10:55:03 -080016164 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16165 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016166 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016167 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016168}
16169
16170void GLTrace_glScalexOES(GLfixed x, GLfixed y, GLfixed z) {
16171 GLMessage glmsg;
16172 GLTraceContext *glContext = getGLTraceContext();
16173
Siva Velusamy0469dd62011-11-30 15:05:37 -080016174 glmsg.set_function(GLMessage::glScalexOES);
16175
16176 // copy argument x
16177 GLMessage_DataType *arg_x = glmsg.add_args();
16178 arg_x->set_isarray(false);
16179 arg_x->set_type(GLMessage::DataType::INT);
16180 arg_x->add_intvalue(x);
16181
16182 // copy argument y
16183 GLMessage_DataType *arg_y = glmsg.add_args();
16184 arg_y->set_isarray(false);
16185 arg_y->set_type(GLMessage::DataType::INT);
16186 arg_y->add_intvalue(y);
16187
16188 // copy argument z
16189 GLMessage_DataType *arg_z = glmsg.add_args();
16190 arg_z->set_isarray(false);
16191 arg_z->set_type(GLMessage::DataType::INT);
16192 arg_z->add_intvalue(z);
16193
16194 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016195 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16196 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016197 glContext->hooks->gl.glScalexOES(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080016198 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16199 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016200
Siva Velusamy98011422012-02-27 12:02:47 -080016201 void *pointerArgs[] = {
16202 };
16203
Siva Velusamy05df4502012-02-17 10:55:03 -080016204 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16205 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016206 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016207 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016208}
16209
16210void GLTrace_glTexEnvxOES(GLenum target, GLenum pname, GLfixed param) {
16211 GLMessage glmsg;
16212 GLTraceContext *glContext = getGLTraceContext();
16213
Siva Velusamy0469dd62011-11-30 15:05:37 -080016214 glmsg.set_function(GLMessage::glTexEnvxOES);
16215
16216 // copy argument target
16217 GLMessage_DataType *arg_target = glmsg.add_args();
16218 arg_target->set_isarray(false);
16219 arg_target->set_type(GLMessage::DataType::ENUM);
16220 arg_target->add_intvalue((int)target);
16221
16222 // copy argument pname
16223 GLMessage_DataType *arg_pname = glmsg.add_args();
16224 arg_pname->set_isarray(false);
16225 arg_pname->set_type(GLMessage::DataType::ENUM);
16226 arg_pname->add_intvalue((int)pname);
16227
16228 // copy argument param
16229 GLMessage_DataType *arg_param = glmsg.add_args();
16230 arg_param->set_isarray(false);
16231 arg_param->set_type(GLMessage::DataType::INT);
16232 arg_param->add_intvalue(param);
16233
16234 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016235 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16236 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016237 glContext->hooks->gl.glTexEnvxOES(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080016238 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16239 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016240
Siva Velusamy98011422012-02-27 12:02:47 -080016241 void *pointerArgs[] = {
16242 };
16243
Siva Velusamy05df4502012-02-17 10:55:03 -080016244 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16245 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016246 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016247 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016248}
16249
16250void GLTrace_glTexEnvxvOES(GLenum target, GLenum pname, const GLfixed *params) {
16251 GLMessage glmsg;
16252 GLTraceContext *glContext = getGLTraceContext();
16253
Siva Velusamy0469dd62011-11-30 15:05:37 -080016254 glmsg.set_function(GLMessage::glTexEnvxvOES);
16255
16256 // copy argument target
16257 GLMessage_DataType *arg_target = glmsg.add_args();
16258 arg_target->set_isarray(false);
16259 arg_target->set_type(GLMessage::DataType::ENUM);
16260 arg_target->add_intvalue((int)target);
16261
16262 // copy argument pname
16263 GLMessage_DataType *arg_pname = glmsg.add_args();
16264 arg_pname->set_isarray(false);
16265 arg_pname->set_type(GLMessage::DataType::ENUM);
16266 arg_pname->add_intvalue((int)pname);
16267
16268 // copy argument params
16269 GLMessage_DataType *arg_params = glmsg.add_args();
16270 arg_params->set_isarray(false);
16271 arg_params->set_type(GLMessage::DataType::INT);
16272 arg_params->add_intvalue((int)params);
16273
16274 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016275 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16276 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016277 glContext->hooks->gl.glTexEnvxvOES(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080016278 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16279 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016280
Siva Velusamy98011422012-02-27 12:02:47 -080016281 void *pointerArgs[] = {
16282 (void *) params,
16283 };
16284
Siva Velusamy05df4502012-02-17 10:55:03 -080016285 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16286 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016287 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016288 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016289}
16290
16291void GLTrace_glTexParameterxOES(GLenum target, GLenum pname, GLfixed param) {
16292 GLMessage glmsg;
16293 GLTraceContext *glContext = getGLTraceContext();
16294
Siva Velusamy0469dd62011-11-30 15:05:37 -080016295 glmsg.set_function(GLMessage::glTexParameterxOES);
16296
16297 // copy argument target
16298 GLMessage_DataType *arg_target = glmsg.add_args();
16299 arg_target->set_isarray(false);
16300 arg_target->set_type(GLMessage::DataType::ENUM);
16301 arg_target->add_intvalue((int)target);
16302
16303 // copy argument pname
16304 GLMessage_DataType *arg_pname = glmsg.add_args();
16305 arg_pname->set_isarray(false);
16306 arg_pname->set_type(GLMessage::DataType::ENUM);
16307 arg_pname->add_intvalue((int)pname);
16308
16309 // copy argument param
16310 GLMessage_DataType *arg_param = glmsg.add_args();
16311 arg_param->set_isarray(false);
16312 arg_param->set_type(GLMessage::DataType::INT);
16313 arg_param->add_intvalue(param);
16314
16315 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016316 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16317 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016318 glContext->hooks->gl.glTexParameterxOES(target, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080016319 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16320 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016321
Siva Velusamy98011422012-02-27 12:02:47 -080016322 void *pointerArgs[] = {
16323 };
16324
Siva Velusamy05df4502012-02-17 10:55:03 -080016325 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16326 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016327 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016328 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016329}
16330
16331void GLTrace_glTexParameterxvOES(GLenum target, GLenum pname, const GLfixed *params) {
16332 GLMessage glmsg;
16333 GLTraceContext *glContext = getGLTraceContext();
16334
Siva Velusamy0469dd62011-11-30 15:05:37 -080016335 glmsg.set_function(GLMessage::glTexParameterxvOES);
16336
16337 // copy argument target
16338 GLMessage_DataType *arg_target = glmsg.add_args();
16339 arg_target->set_isarray(false);
16340 arg_target->set_type(GLMessage::DataType::ENUM);
16341 arg_target->add_intvalue((int)target);
16342
16343 // copy argument pname
16344 GLMessage_DataType *arg_pname = glmsg.add_args();
16345 arg_pname->set_isarray(false);
16346 arg_pname->set_type(GLMessage::DataType::ENUM);
16347 arg_pname->add_intvalue((int)pname);
16348
16349 // copy argument params
16350 GLMessage_DataType *arg_params = glmsg.add_args();
16351 arg_params->set_isarray(false);
16352 arg_params->set_type(GLMessage::DataType::INT);
16353 arg_params->add_intvalue((int)params);
16354
16355 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016356 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16357 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016358 glContext->hooks->gl.glTexParameterxvOES(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080016359 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16360 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016361
Siva Velusamy98011422012-02-27 12:02:47 -080016362 void *pointerArgs[] = {
16363 (void *) params,
16364 };
16365
Siva Velusamy05df4502012-02-17 10:55:03 -080016366 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16367 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016368 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016369 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016370}
16371
16372void GLTrace_glTranslatexOES(GLfixed x, GLfixed y, GLfixed z) {
16373 GLMessage glmsg;
16374 GLTraceContext *glContext = getGLTraceContext();
16375
Siva Velusamy0469dd62011-11-30 15:05:37 -080016376 glmsg.set_function(GLMessage::glTranslatexOES);
16377
16378 // copy argument x
16379 GLMessage_DataType *arg_x = glmsg.add_args();
16380 arg_x->set_isarray(false);
16381 arg_x->set_type(GLMessage::DataType::INT);
16382 arg_x->add_intvalue(x);
16383
16384 // copy argument y
16385 GLMessage_DataType *arg_y = glmsg.add_args();
16386 arg_y->set_isarray(false);
16387 arg_y->set_type(GLMessage::DataType::INT);
16388 arg_y->add_intvalue(y);
16389
16390 // copy argument z
16391 GLMessage_DataType *arg_z = glmsg.add_args();
16392 arg_z->set_isarray(false);
16393 arg_z->set_type(GLMessage::DataType::INT);
16394 arg_z->add_intvalue(z);
16395
16396 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016397 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16398 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016399 glContext->hooks->gl.glTranslatexOES(x, y, z);
Siva Velusamy05df4502012-02-17 10:55:03 -080016400 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16401 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016402
Siva Velusamy98011422012-02-27 12:02:47 -080016403 void *pointerArgs[] = {
16404 };
16405
Siva Velusamy05df4502012-02-17 10:55:03 -080016406 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16407 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016408 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016409 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016410}
16411
16412GLboolean GLTrace_glIsRenderbufferOES(GLuint renderbuffer) {
16413 GLMessage glmsg;
16414 GLTraceContext *glContext = getGLTraceContext();
16415
Siva Velusamy0469dd62011-11-30 15:05:37 -080016416 glmsg.set_function(GLMessage::glIsRenderbufferOES);
16417
16418 // copy argument renderbuffer
16419 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
16420 arg_renderbuffer->set_isarray(false);
16421 arg_renderbuffer->set_type(GLMessage::DataType::INT);
16422 arg_renderbuffer->add_intvalue(renderbuffer);
16423
16424 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016425 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16426 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016427 GLboolean retValue = glContext->hooks->gl.glIsRenderbufferOES(renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -080016428 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16429 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016430
16431 // set return value
16432 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
16433 rt->set_isarray(false);
16434 rt->set_type(GLMessage::DataType::BOOL);
16435 rt->add_boolvalue(retValue);
16436
Siva Velusamy98011422012-02-27 12:02:47 -080016437 void *pointerArgs[] = {
16438 };
16439
Siva Velusamy05df4502012-02-17 10:55:03 -080016440 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16441 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016442 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016443 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016444
16445 return retValue;
16446}
16447
16448void GLTrace_glBindRenderbufferOES(GLenum target, GLuint renderbuffer) {
16449 GLMessage glmsg;
16450 GLTraceContext *glContext = getGLTraceContext();
16451
Siva Velusamy0469dd62011-11-30 15:05:37 -080016452 glmsg.set_function(GLMessage::glBindRenderbufferOES);
16453
16454 // copy argument target
16455 GLMessage_DataType *arg_target = glmsg.add_args();
16456 arg_target->set_isarray(false);
16457 arg_target->set_type(GLMessage::DataType::ENUM);
16458 arg_target->add_intvalue((int)target);
16459
16460 // copy argument renderbuffer
16461 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
16462 arg_renderbuffer->set_isarray(false);
16463 arg_renderbuffer->set_type(GLMessage::DataType::INT);
16464 arg_renderbuffer->add_intvalue(renderbuffer);
16465
16466 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016467 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16468 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016469 glContext->hooks->gl.glBindRenderbufferOES(target, renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -080016470 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16471 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016472
Siva Velusamy98011422012-02-27 12:02:47 -080016473 void *pointerArgs[] = {
16474 };
16475
Siva Velusamy05df4502012-02-17 10:55:03 -080016476 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16477 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016478 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016479 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016480}
16481
16482void GLTrace_glDeleteRenderbuffersOES(GLsizei n, const GLuint* renderbuffers) {
16483 GLMessage glmsg;
16484 GLTraceContext *glContext = getGLTraceContext();
16485
Siva Velusamy0469dd62011-11-30 15:05:37 -080016486 glmsg.set_function(GLMessage::glDeleteRenderbuffersOES);
16487
16488 // copy argument n
16489 GLMessage_DataType *arg_n = glmsg.add_args();
16490 arg_n->set_isarray(false);
16491 arg_n->set_type(GLMessage::DataType::INT);
16492 arg_n->add_intvalue(n);
16493
16494 // copy argument renderbuffers
16495 GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
16496 arg_renderbuffers->set_isarray(false);
16497 arg_renderbuffers->set_type(GLMessage::DataType::INT);
16498 arg_renderbuffers->add_intvalue((int)renderbuffers);
16499
16500 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016501 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16502 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016503 glContext->hooks->gl.glDeleteRenderbuffersOES(n, renderbuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080016504 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16505 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016506
Siva Velusamy98011422012-02-27 12:02:47 -080016507 void *pointerArgs[] = {
16508 (void *) renderbuffers,
16509 };
16510
Siva Velusamy05df4502012-02-17 10:55:03 -080016511 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16512 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016513 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016514 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016515}
16516
16517void GLTrace_glGenRenderbuffersOES(GLsizei n, GLuint* renderbuffers) {
16518 GLMessage glmsg;
16519 GLTraceContext *glContext = getGLTraceContext();
16520
Siva Velusamy0469dd62011-11-30 15:05:37 -080016521 glmsg.set_function(GLMessage::glGenRenderbuffersOES);
16522
16523 // copy argument n
16524 GLMessage_DataType *arg_n = glmsg.add_args();
16525 arg_n->set_isarray(false);
16526 arg_n->set_type(GLMessage::DataType::INT);
16527 arg_n->add_intvalue(n);
16528
16529 // copy argument renderbuffers
16530 GLMessage_DataType *arg_renderbuffers = glmsg.add_args();
16531 arg_renderbuffers->set_isarray(false);
16532 arg_renderbuffers->set_type(GLMessage::DataType::INT);
16533 arg_renderbuffers->add_intvalue((int)renderbuffers);
16534
16535 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016536 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16537 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016538 glContext->hooks->gl.glGenRenderbuffersOES(n, renderbuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080016539 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16540 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016541
Siva Velusamy98011422012-02-27 12:02:47 -080016542 void *pointerArgs[] = {
16543 (void *) renderbuffers,
16544 };
16545
Siva Velusamy05df4502012-02-17 10:55:03 -080016546 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16547 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016548 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016549 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016550}
16551
16552void GLTrace_glRenderbufferStorageOES(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) {
16553 GLMessage glmsg;
16554 GLTraceContext *glContext = getGLTraceContext();
16555
Siva Velusamy0469dd62011-11-30 15:05:37 -080016556 glmsg.set_function(GLMessage::glRenderbufferStorageOES);
16557
16558 // copy argument target
16559 GLMessage_DataType *arg_target = glmsg.add_args();
16560 arg_target->set_isarray(false);
16561 arg_target->set_type(GLMessage::DataType::ENUM);
16562 arg_target->add_intvalue((int)target);
16563
16564 // copy argument internalformat
16565 GLMessage_DataType *arg_internalformat = glmsg.add_args();
16566 arg_internalformat->set_isarray(false);
16567 arg_internalformat->set_type(GLMessage::DataType::ENUM);
16568 arg_internalformat->add_intvalue((int)internalformat);
16569
16570 // copy argument width
16571 GLMessage_DataType *arg_width = glmsg.add_args();
16572 arg_width->set_isarray(false);
16573 arg_width->set_type(GLMessage::DataType::INT);
16574 arg_width->add_intvalue(width);
16575
16576 // copy argument height
16577 GLMessage_DataType *arg_height = glmsg.add_args();
16578 arg_height->set_isarray(false);
16579 arg_height->set_type(GLMessage::DataType::INT);
16580 arg_height->add_intvalue(height);
16581
16582 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016583 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16584 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016585 glContext->hooks->gl.glRenderbufferStorageOES(target, internalformat, width, height);
Siva Velusamy05df4502012-02-17 10:55:03 -080016586 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16587 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016588
Siva Velusamy98011422012-02-27 12:02:47 -080016589 void *pointerArgs[] = {
16590 };
16591
Siva Velusamy05df4502012-02-17 10:55:03 -080016592 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16593 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016594 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016595 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016596}
16597
16598void GLTrace_glGetRenderbufferParameterivOES(GLenum target, GLenum pname, GLint* params) {
16599 GLMessage glmsg;
16600 GLTraceContext *glContext = getGLTraceContext();
16601
Siva Velusamy0469dd62011-11-30 15:05:37 -080016602 glmsg.set_function(GLMessage::glGetRenderbufferParameterivOES);
16603
16604 // copy argument target
16605 GLMessage_DataType *arg_target = glmsg.add_args();
16606 arg_target->set_isarray(false);
16607 arg_target->set_type(GLMessage::DataType::ENUM);
16608 arg_target->add_intvalue((int)target);
16609
16610 // copy argument pname
16611 GLMessage_DataType *arg_pname = glmsg.add_args();
16612 arg_pname->set_isarray(false);
16613 arg_pname->set_type(GLMessage::DataType::ENUM);
16614 arg_pname->add_intvalue((int)pname);
16615
16616 // copy argument params
16617 GLMessage_DataType *arg_params = glmsg.add_args();
16618 arg_params->set_isarray(false);
16619 arg_params->set_type(GLMessage::DataType::INT);
16620 arg_params->add_intvalue((int)params);
16621
16622 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016623 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16624 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016625 glContext->hooks->gl.glGetRenderbufferParameterivOES(target, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080016626 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16627 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016628
Siva Velusamy98011422012-02-27 12:02:47 -080016629 void *pointerArgs[] = {
16630 (void *) params,
16631 };
16632
Siva Velusamy05df4502012-02-17 10:55:03 -080016633 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16634 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016635 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016636 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016637}
16638
16639GLboolean GLTrace_glIsFramebufferOES(GLuint framebuffer) {
16640 GLMessage glmsg;
16641 GLTraceContext *glContext = getGLTraceContext();
16642
Siva Velusamy0469dd62011-11-30 15:05:37 -080016643 glmsg.set_function(GLMessage::glIsFramebufferOES);
16644
16645 // copy argument framebuffer
16646 GLMessage_DataType *arg_framebuffer = glmsg.add_args();
16647 arg_framebuffer->set_isarray(false);
16648 arg_framebuffer->set_type(GLMessage::DataType::INT);
16649 arg_framebuffer->add_intvalue(framebuffer);
16650
16651 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016652 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16653 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016654 GLboolean retValue = glContext->hooks->gl.glIsFramebufferOES(framebuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -080016655 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16656 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016657
16658 // set return value
16659 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
16660 rt->set_isarray(false);
16661 rt->set_type(GLMessage::DataType::BOOL);
16662 rt->add_boolvalue(retValue);
16663
Siva Velusamy98011422012-02-27 12:02:47 -080016664 void *pointerArgs[] = {
16665 };
16666
Siva Velusamy05df4502012-02-17 10:55:03 -080016667 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16668 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016669 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016670 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016671
16672 return retValue;
16673}
16674
16675void GLTrace_glBindFramebufferOES(GLenum target, GLuint framebuffer) {
16676 GLMessage glmsg;
16677 GLTraceContext *glContext = getGLTraceContext();
16678
Siva Velusamy0469dd62011-11-30 15:05:37 -080016679 glmsg.set_function(GLMessage::glBindFramebufferOES);
16680
16681 // copy argument target
16682 GLMessage_DataType *arg_target = glmsg.add_args();
16683 arg_target->set_isarray(false);
16684 arg_target->set_type(GLMessage::DataType::ENUM);
16685 arg_target->add_intvalue((int)target);
16686
16687 // copy argument framebuffer
16688 GLMessage_DataType *arg_framebuffer = glmsg.add_args();
16689 arg_framebuffer->set_isarray(false);
16690 arg_framebuffer->set_type(GLMessage::DataType::INT);
16691 arg_framebuffer->add_intvalue(framebuffer);
16692
16693 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016694 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16695 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016696 glContext->hooks->gl.glBindFramebufferOES(target, framebuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -080016697 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16698 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016699
Siva Velusamy98011422012-02-27 12:02:47 -080016700 void *pointerArgs[] = {
16701 };
16702
Siva Velusamy05df4502012-02-17 10:55:03 -080016703 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16704 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016705 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016706 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016707}
16708
16709void GLTrace_glDeleteFramebuffersOES(GLsizei n, const GLuint* framebuffers) {
16710 GLMessage glmsg;
16711 GLTraceContext *glContext = getGLTraceContext();
16712
Siva Velusamy0469dd62011-11-30 15:05:37 -080016713 glmsg.set_function(GLMessage::glDeleteFramebuffersOES);
16714
16715 // copy argument n
16716 GLMessage_DataType *arg_n = glmsg.add_args();
16717 arg_n->set_isarray(false);
16718 arg_n->set_type(GLMessage::DataType::INT);
16719 arg_n->add_intvalue(n);
16720
16721 // copy argument framebuffers
16722 GLMessage_DataType *arg_framebuffers = glmsg.add_args();
16723 arg_framebuffers->set_isarray(false);
16724 arg_framebuffers->set_type(GLMessage::DataType::INT);
16725 arg_framebuffers->add_intvalue((int)framebuffers);
16726
16727 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016728 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16729 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016730 glContext->hooks->gl.glDeleteFramebuffersOES(n, framebuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080016731 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16732 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016733
Siva Velusamy98011422012-02-27 12:02:47 -080016734 void *pointerArgs[] = {
16735 (void *) framebuffers,
16736 };
16737
Siva Velusamy05df4502012-02-17 10:55:03 -080016738 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16739 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016740 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016741 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016742}
16743
16744void GLTrace_glGenFramebuffersOES(GLsizei n, GLuint* framebuffers) {
16745 GLMessage glmsg;
16746 GLTraceContext *glContext = getGLTraceContext();
16747
Siva Velusamy0469dd62011-11-30 15:05:37 -080016748 glmsg.set_function(GLMessage::glGenFramebuffersOES);
16749
16750 // copy argument n
16751 GLMessage_DataType *arg_n = glmsg.add_args();
16752 arg_n->set_isarray(false);
16753 arg_n->set_type(GLMessage::DataType::INT);
16754 arg_n->add_intvalue(n);
16755
16756 // copy argument framebuffers
16757 GLMessage_DataType *arg_framebuffers = glmsg.add_args();
16758 arg_framebuffers->set_isarray(false);
16759 arg_framebuffers->set_type(GLMessage::DataType::INT);
16760 arg_framebuffers->add_intvalue((int)framebuffers);
16761
16762 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016763 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16764 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016765 glContext->hooks->gl.glGenFramebuffersOES(n, framebuffers);
Siva Velusamy05df4502012-02-17 10:55:03 -080016766 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16767 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016768
Siva Velusamy98011422012-02-27 12:02:47 -080016769 void *pointerArgs[] = {
16770 (void *) framebuffers,
16771 };
16772
Siva Velusamy05df4502012-02-17 10:55:03 -080016773 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16774 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016775 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016776 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016777}
16778
16779GLenum GLTrace_glCheckFramebufferStatusOES(GLenum target) {
16780 GLMessage glmsg;
16781 GLTraceContext *glContext = getGLTraceContext();
16782
Siva Velusamy0469dd62011-11-30 15:05:37 -080016783 glmsg.set_function(GLMessage::glCheckFramebufferStatusOES);
16784
16785 // copy argument target
16786 GLMessage_DataType *arg_target = glmsg.add_args();
16787 arg_target->set_isarray(false);
16788 arg_target->set_type(GLMessage::DataType::ENUM);
16789 arg_target->add_intvalue((int)target);
16790
16791 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016792 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16793 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016794 GLenum retValue = glContext->hooks->gl.glCheckFramebufferStatusOES(target);
Siva Velusamy05df4502012-02-17 10:55:03 -080016795 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16796 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016797
16798 // set return value
16799 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
16800 rt->set_isarray(false);
16801 rt->set_type(GLMessage::DataType::ENUM);
16802 rt->add_intvalue((int)retValue);
16803
Siva Velusamy98011422012-02-27 12:02:47 -080016804 void *pointerArgs[] = {
16805 };
16806
Siva Velusamy05df4502012-02-17 10:55:03 -080016807 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16808 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016809 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016810 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016811
16812 return retValue;
16813}
16814
16815void GLTrace_glFramebufferRenderbufferOES(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) {
16816 GLMessage glmsg;
16817 GLTraceContext *glContext = getGLTraceContext();
16818
Siva Velusamy0469dd62011-11-30 15:05:37 -080016819 glmsg.set_function(GLMessage::glFramebufferRenderbufferOES);
16820
16821 // copy argument target
16822 GLMessage_DataType *arg_target = glmsg.add_args();
16823 arg_target->set_isarray(false);
16824 arg_target->set_type(GLMessage::DataType::ENUM);
16825 arg_target->add_intvalue((int)target);
16826
16827 // copy argument attachment
16828 GLMessage_DataType *arg_attachment = glmsg.add_args();
16829 arg_attachment->set_isarray(false);
16830 arg_attachment->set_type(GLMessage::DataType::ENUM);
16831 arg_attachment->add_intvalue((int)attachment);
16832
16833 // copy argument renderbuffertarget
16834 GLMessage_DataType *arg_renderbuffertarget = glmsg.add_args();
16835 arg_renderbuffertarget->set_isarray(false);
16836 arg_renderbuffertarget->set_type(GLMessage::DataType::ENUM);
16837 arg_renderbuffertarget->add_intvalue((int)renderbuffertarget);
16838
16839 // copy argument renderbuffer
16840 GLMessage_DataType *arg_renderbuffer = glmsg.add_args();
16841 arg_renderbuffer->set_isarray(false);
16842 arg_renderbuffer->set_type(GLMessage::DataType::INT);
16843 arg_renderbuffer->add_intvalue(renderbuffer);
16844
16845 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016846 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16847 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016848 glContext->hooks->gl.glFramebufferRenderbufferOES(target, attachment, renderbuffertarget, renderbuffer);
Siva Velusamy05df4502012-02-17 10:55:03 -080016849 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16850 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016851
Siva Velusamy98011422012-02-27 12:02:47 -080016852 void *pointerArgs[] = {
16853 };
16854
Siva Velusamy05df4502012-02-17 10:55:03 -080016855 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16856 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016857 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016858 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016859}
16860
16861void GLTrace_glFramebufferTexture2DOES(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) {
16862 GLMessage glmsg;
16863 GLTraceContext *glContext = getGLTraceContext();
16864
Siva Velusamy0469dd62011-11-30 15:05:37 -080016865 glmsg.set_function(GLMessage::glFramebufferTexture2DOES);
16866
16867 // copy argument target
16868 GLMessage_DataType *arg_target = glmsg.add_args();
16869 arg_target->set_isarray(false);
16870 arg_target->set_type(GLMessage::DataType::ENUM);
16871 arg_target->add_intvalue((int)target);
16872
16873 // copy argument attachment
16874 GLMessage_DataType *arg_attachment = glmsg.add_args();
16875 arg_attachment->set_isarray(false);
16876 arg_attachment->set_type(GLMessage::DataType::ENUM);
16877 arg_attachment->add_intvalue((int)attachment);
16878
16879 // copy argument textarget
16880 GLMessage_DataType *arg_textarget = glmsg.add_args();
16881 arg_textarget->set_isarray(false);
16882 arg_textarget->set_type(GLMessage::DataType::ENUM);
16883 arg_textarget->add_intvalue((int)textarget);
16884
16885 // copy argument texture
16886 GLMessage_DataType *arg_texture = glmsg.add_args();
16887 arg_texture->set_isarray(false);
16888 arg_texture->set_type(GLMessage::DataType::INT);
16889 arg_texture->add_intvalue(texture);
16890
16891 // copy argument level
16892 GLMessage_DataType *arg_level = glmsg.add_args();
16893 arg_level->set_isarray(false);
16894 arg_level->set_type(GLMessage::DataType::INT);
16895 arg_level->add_intvalue(level);
16896
16897 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016898 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16899 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016900 glContext->hooks->gl.glFramebufferTexture2DOES(target, attachment, textarget, texture, level);
Siva Velusamy05df4502012-02-17 10:55:03 -080016901 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16902 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016903
Siva Velusamy98011422012-02-27 12:02:47 -080016904 void *pointerArgs[] = {
16905 };
16906
Siva Velusamy05df4502012-02-17 10:55:03 -080016907 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16908 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016909 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016910 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016911}
16912
16913void GLTrace_glGetFramebufferAttachmentParameterivOES(GLenum target, GLenum attachment, GLenum pname, GLint* params) {
16914 GLMessage glmsg;
16915 GLTraceContext *glContext = getGLTraceContext();
16916
Siva Velusamy0469dd62011-11-30 15:05:37 -080016917 glmsg.set_function(GLMessage::glGetFramebufferAttachmentParameterivOES);
16918
16919 // copy argument target
16920 GLMessage_DataType *arg_target = glmsg.add_args();
16921 arg_target->set_isarray(false);
16922 arg_target->set_type(GLMessage::DataType::ENUM);
16923 arg_target->add_intvalue((int)target);
16924
16925 // copy argument attachment
16926 GLMessage_DataType *arg_attachment = glmsg.add_args();
16927 arg_attachment->set_isarray(false);
16928 arg_attachment->set_type(GLMessage::DataType::ENUM);
16929 arg_attachment->add_intvalue((int)attachment);
16930
16931 // copy argument pname
16932 GLMessage_DataType *arg_pname = glmsg.add_args();
16933 arg_pname->set_isarray(false);
16934 arg_pname->set_type(GLMessage::DataType::ENUM);
16935 arg_pname->add_intvalue((int)pname);
16936
16937 // copy argument params
16938 GLMessage_DataType *arg_params = glmsg.add_args();
16939 arg_params->set_isarray(false);
16940 arg_params->set_type(GLMessage::DataType::INT);
16941 arg_params->add_intvalue((int)params);
16942
16943 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016944 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16945 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016946 glContext->hooks->gl.glGetFramebufferAttachmentParameterivOES(target, attachment, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080016947 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16948 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016949
Siva Velusamy98011422012-02-27 12:02:47 -080016950 void *pointerArgs[] = {
16951 (void *) params,
16952 };
16953
Siva Velusamy05df4502012-02-17 10:55:03 -080016954 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16955 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016956 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016957 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016958}
16959
16960void GLTrace_glGenerateMipmapOES(GLenum target) {
16961 GLMessage glmsg;
16962 GLTraceContext *glContext = getGLTraceContext();
16963
Siva Velusamy0469dd62011-11-30 15:05:37 -080016964 glmsg.set_function(GLMessage::glGenerateMipmapOES);
16965
16966 // copy argument target
16967 GLMessage_DataType *arg_target = glmsg.add_args();
16968 arg_target->set_isarray(false);
16969 arg_target->set_type(GLMessage::DataType::ENUM);
16970 arg_target->add_intvalue((int)target);
16971
16972 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080016973 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
16974 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016975 glContext->hooks->gl.glGenerateMipmapOES(target);
Siva Velusamy05df4502012-02-17 10:55:03 -080016976 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
16977 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016978
Siva Velusamy98011422012-02-27 12:02:47 -080016979 void *pointerArgs[] = {
16980 };
16981
Siva Velusamy05df4502012-02-17 10:55:03 -080016982 fixupGLMessage(glContext, wallStartTime, wallEndTime,
16983 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080016984 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080016985 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080016986}
16987
16988void GLTrace_glCurrentPaletteMatrixOES(GLuint matrixpaletteindex) {
16989 GLMessage glmsg;
16990 GLTraceContext *glContext = getGLTraceContext();
16991
Siva Velusamy0469dd62011-11-30 15:05:37 -080016992 glmsg.set_function(GLMessage::glCurrentPaletteMatrixOES);
16993
16994 // copy argument matrixpaletteindex
16995 GLMessage_DataType *arg_matrixpaletteindex = glmsg.add_args();
16996 arg_matrixpaletteindex->set_isarray(false);
16997 arg_matrixpaletteindex->set_type(GLMessage::DataType::INT);
16998 arg_matrixpaletteindex->add_intvalue(matrixpaletteindex);
16999
17000 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017001 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17002 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017003 glContext->hooks->gl.glCurrentPaletteMatrixOES(matrixpaletteindex);
Siva Velusamy05df4502012-02-17 10:55:03 -080017004 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17005 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017006
Siva Velusamy98011422012-02-27 12:02:47 -080017007 void *pointerArgs[] = {
17008 };
17009
Siva Velusamy05df4502012-02-17 10:55:03 -080017010 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17011 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017012 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017013 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017014}
17015
17016void GLTrace_glLoadPaletteFromModelViewMatrixOES(void) {
17017 GLMessage glmsg;
17018 GLTraceContext *glContext = getGLTraceContext();
17019
Siva Velusamy0469dd62011-11-30 15:05:37 -080017020 glmsg.set_function(GLMessage::glLoadPaletteFromModelViewMatrixOES);
17021
17022 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017023 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17024 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017025 glContext->hooks->gl.glLoadPaletteFromModelViewMatrixOES();
Siva Velusamy05df4502012-02-17 10:55:03 -080017026 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17027 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017028
Siva Velusamy98011422012-02-27 12:02:47 -080017029 void *pointerArgs[] = {
17030 };
17031
Siva Velusamy05df4502012-02-17 10:55:03 -080017032 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17033 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017034 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017035 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017036}
17037
17038void GLTrace_glMatrixIndexPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
17039 GLMessage glmsg;
17040 GLTraceContext *glContext = getGLTraceContext();
17041
Siva Velusamy0469dd62011-11-30 15:05:37 -080017042 glmsg.set_function(GLMessage::glMatrixIndexPointerOES);
17043
17044 // copy argument size
17045 GLMessage_DataType *arg_size = glmsg.add_args();
17046 arg_size->set_isarray(false);
17047 arg_size->set_type(GLMessage::DataType::INT);
17048 arg_size->add_intvalue(size);
17049
17050 // copy argument type
17051 GLMessage_DataType *arg_type = glmsg.add_args();
17052 arg_type->set_isarray(false);
17053 arg_type->set_type(GLMessage::DataType::ENUM);
17054 arg_type->add_intvalue((int)type);
17055
17056 // copy argument stride
17057 GLMessage_DataType *arg_stride = glmsg.add_args();
17058 arg_stride->set_isarray(false);
17059 arg_stride->set_type(GLMessage::DataType::INT);
17060 arg_stride->add_intvalue(stride);
17061
17062 // copy argument pointer
17063 GLMessage_DataType *arg_pointer = glmsg.add_args();
17064 arg_pointer->set_isarray(false);
17065 arg_pointer->set_type(GLMessage::DataType::INT);
17066 arg_pointer->add_intvalue((int)pointer);
17067
17068 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017069 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17070 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017071 glContext->hooks->gl.glMatrixIndexPointerOES(size, type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080017072 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17073 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017074
Siva Velusamy98011422012-02-27 12:02:47 -080017075 void *pointerArgs[] = {
17076 (void *) pointer,
17077 };
17078
Siva Velusamy05df4502012-02-17 10:55:03 -080017079 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17080 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017081 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017082 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017083}
17084
17085void GLTrace_glWeightPointerOES(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) {
17086 GLMessage glmsg;
17087 GLTraceContext *glContext = getGLTraceContext();
17088
Siva Velusamy0469dd62011-11-30 15:05:37 -080017089 glmsg.set_function(GLMessage::glWeightPointerOES);
17090
17091 // copy argument size
17092 GLMessage_DataType *arg_size = glmsg.add_args();
17093 arg_size->set_isarray(false);
17094 arg_size->set_type(GLMessage::DataType::INT);
17095 arg_size->add_intvalue(size);
17096
17097 // copy argument type
17098 GLMessage_DataType *arg_type = glmsg.add_args();
17099 arg_type->set_isarray(false);
17100 arg_type->set_type(GLMessage::DataType::ENUM);
17101 arg_type->add_intvalue((int)type);
17102
17103 // copy argument stride
17104 GLMessage_DataType *arg_stride = glmsg.add_args();
17105 arg_stride->set_isarray(false);
17106 arg_stride->set_type(GLMessage::DataType::INT);
17107 arg_stride->add_intvalue(stride);
17108
17109 // copy argument pointer
17110 GLMessage_DataType *arg_pointer = glmsg.add_args();
17111 arg_pointer->set_isarray(false);
17112 arg_pointer->set_type(GLMessage::DataType::INT);
17113 arg_pointer->add_intvalue((int)pointer);
17114
17115 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017116 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17117 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017118 glContext->hooks->gl.glWeightPointerOES(size, type, stride, pointer);
Siva Velusamy05df4502012-02-17 10:55:03 -080017119 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17120 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017121
Siva Velusamy98011422012-02-27 12:02:47 -080017122 void *pointerArgs[] = {
17123 (void *) pointer,
17124 };
17125
Siva Velusamy05df4502012-02-17 10:55:03 -080017126 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17127 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017128 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017129 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017130}
17131
17132GLbitfield GLTrace_glQueryMatrixxOES(GLfixed mantissa[16], GLint exponent[16]) {
17133 GLMessage glmsg;
17134 GLTraceContext *glContext = getGLTraceContext();
17135
Siva Velusamy0469dd62011-11-30 15:05:37 -080017136 glmsg.set_function(GLMessage::glQueryMatrixxOES);
17137
17138 // copy argument mantissa
17139 GLMessage_DataType *arg_mantissa = glmsg.add_args();
17140 arg_mantissa->set_isarray(false);
17141 arg_mantissa->set_type(GLMessage::DataType::INT);
17142 arg_mantissa->add_intvalue((int)mantissa);
17143
17144 // copy argument exponent
17145 GLMessage_DataType *arg_exponent = glmsg.add_args();
17146 arg_exponent->set_isarray(false);
17147 arg_exponent->set_type(GLMessage::DataType::INT);
17148 arg_exponent->add_intvalue((int)exponent);
17149
17150 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017151 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17152 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017153 GLbitfield retValue = glContext->hooks->gl.glQueryMatrixxOES(mantissa, exponent);
Siva Velusamy05df4502012-02-17 10:55:03 -080017154 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17155 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017156
17157 // set return value
17158 GLMessage_DataType *rt = glmsg.mutable_returnvalue();
17159 rt->set_isarray(false);
17160 rt->set_type(GLMessage::DataType::INT);
17161 rt->add_intvalue(retValue);
17162
Siva Velusamy98011422012-02-27 12:02:47 -080017163 void *pointerArgs[] = {
17164 (void *) mantissa,
17165 (void *) exponent,
17166 };
17167
Siva Velusamy05df4502012-02-17 10:55:03 -080017168 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17169 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017170 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017171 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017172
17173 return retValue;
17174}
17175
17176void GLTrace_glDepthRangefOES(GLclampf zNear, GLclampf zFar) {
17177 GLMessage glmsg;
17178 GLTraceContext *glContext = getGLTraceContext();
17179
Siva Velusamy0469dd62011-11-30 15:05:37 -080017180 glmsg.set_function(GLMessage::glDepthRangefOES);
17181
17182 // copy argument zNear
17183 GLMessage_DataType *arg_zNear = glmsg.add_args();
17184 arg_zNear->set_isarray(false);
17185 arg_zNear->set_type(GLMessage::DataType::FLOAT);
17186 arg_zNear->add_floatvalue(zNear);
17187
17188 // copy argument zFar
17189 GLMessage_DataType *arg_zFar = glmsg.add_args();
17190 arg_zFar->set_isarray(false);
17191 arg_zFar->set_type(GLMessage::DataType::FLOAT);
17192 arg_zFar->add_floatvalue(zFar);
17193
17194 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017195 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17196 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017197 glContext->hooks->gl.glDepthRangefOES(zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080017198 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17199 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017200
Siva Velusamy98011422012-02-27 12:02:47 -080017201 void *pointerArgs[] = {
17202 };
17203
Siva Velusamy05df4502012-02-17 10:55:03 -080017204 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17205 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017206 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017207 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017208}
17209
17210void GLTrace_glFrustumfOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
17211 GLMessage glmsg;
17212 GLTraceContext *glContext = getGLTraceContext();
17213
Siva Velusamy0469dd62011-11-30 15:05:37 -080017214 glmsg.set_function(GLMessage::glFrustumfOES);
17215
17216 // copy argument left
17217 GLMessage_DataType *arg_left = glmsg.add_args();
17218 arg_left->set_isarray(false);
17219 arg_left->set_type(GLMessage::DataType::FLOAT);
17220 arg_left->add_floatvalue(left);
17221
17222 // copy argument right
17223 GLMessage_DataType *arg_right = glmsg.add_args();
17224 arg_right->set_isarray(false);
17225 arg_right->set_type(GLMessage::DataType::FLOAT);
17226 arg_right->add_floatvalue(right);
17227
17228 // copy argument bottom
17229 GLMessage_DataType *arg_bottom = glmsg.add_args();
17230 arg_bottom->set_isarray(false);
17231 arg_bottom->set_type(GLMessage::DataType::FLOAT);
17232 arg_bottom->add_floatvalue(bottom);
17233
17234 // copy argument top
17235 GLMessage_DataType *arg_top = glmsg.add_args();
17236 arg_top->set_isarray(false);
17237 arg_top->set_type(GLMessage::DataType::FLOAT);
17238 arg_top->add_floatvalue(top);
17239
17240 // copy argument zNear
17241 GLMessage_DataType *arg_zNear = glmsg.add_args();
17242 arg_zNear->set_isarray(false);
17243 arg_zNear->set_type(GLMessage::DataType::FLOAT);
17244 arg_zNear->add_floatvalue(zNear);
17245
17246 // copy argument zFar
17247 GLMessage_DataType *arg_zFar = glmsg.add_args();
17248 arg_zFar->set_isarray(false);
17249 arg_zFar->set_type(GLMessage::DataType::FLOAT);
17250 arg_zFar->add_floatvalue(zFar);
17251
17252 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017253 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17254 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017255 glContext->hooks->gl.glFrustumfOES(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080017256 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17257 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017258
Siva Velusamy98011422012-02-27 12:02:47 -080017259 void *pointerArgs[] = {
17260 };
17261
Siva Velusamy05df4502012-02-17 10:55:03 -080017262 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17263 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017264 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017265 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017266}
17267
17268void GLTrace_glOrthofOES(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar) {
17269 GLMessage glmsg;
17270 GLTraceContext *glContext = getGLTraceContext();
17271
Siva Velusamy0469dd62011-11-30 15:05:37 -080017272 glmsg.set_function(GLMessage::glOrthofOES);
17273
17274 // copy argument left
17275 GLMessage_DataType *arg_left = glmsg.add_args();
17276 arg_left->set_isarray(false);
17277 arg_left->set_type(GLMessage::DataType::FLOAT);
17278 arg_left->add_floatvalue(left);
17279
17280 // copy argument right
17281 GLMessage_DataType *arg_right = glmsg.add_args();
17282 arg_right->set_isarray(false);
17283 arg_right->set_type(GLMessage::DataType::FLOAT);
17284 arg_right->add_floatvalue(right);
17285
17286 // copy argument bottom
17287 GLMessage_DataType *arg_bottom = glmsg.add_args();
17288 arg_bottom->set_isarray(false);
17289 arg_bottom->set_type(GLMessage::DataType::FLOAT);
17290 arg_bottom->add_floatvalue(bottom);
17291
17292 // copy argument top
17293 GLMessage_DataType *arg_top = glmsg.add_args();
17294 arg_top->set_isarray(false);
17295 arg_top->set_type(GLMessage::DataType::FLOAT);
17296 arg_top->add_floatvalue(top);
17297
17298 // copy argument zNear
17299 GLMessage_DataType *arg_zNear = glmsg.add_args();
17300 arg_zNear->set_isarray(false);
17301 arg_zNear->set_type(GLMessage::DataType::FLOAT);
17302 arg_zNear->add_floatvalue(zNear);
17303
17304 // copy argument zFar
17305 GLMessage_DataType *arg_zFar = glmsg.add_args();
17306 arg_zFar->set_isarray(false);
17307 arg_zFar->set_type(GLMessage::DataType::FLOAT);
17308 arg_zFar->add_floatvalue(zFar);
17309
17310 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017311 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17312 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017313 glContext->hooks->gl.glOrthofOES(left, right, bottom, top, zNear, zFar);
Siva Velusamy05df4502012-02-17 10:55:03 -080017314 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17315 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017316
Siva Velusamy98011422012-02-27 12:02:47 -080017317 void *pointerArgs[] = {
17318 };
17319
Siva Velusamy05df4502012-02-17 10:55:03 -080017320 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17321 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017322 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017323 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017324}
17325
17326void GLTrace_glClipPlanefOES(GLenum plane, const GLfloat *equation) {
17327 GLMessage glmsg;
17328 GLTraceContext *glContext = getGLTraceContext();
17329
Siva Velusamy0469dd62011-11-30 15:05:37 -080017330 glmsg.set_function(GLMessage::glClipPlanefOES);
17331
17332 // copy argument plane
17333 GLMessage_DataType *arg_plane = glmsg.add_args();
17334 arg_plane->set_isarray(false);
17335 arg_plane->set_type(GLMessage::DataType::ENUM);
17336 arg_plane->add_intvalue((int)plane);
17337
17338 // copy argument equation
17339 GLMessage_DataType *arg_equation = glmsg.add_args();
17340 arg_equation->set_isarray(false);
17341 arg_equation->set_type(GLMessage::DataType::INT);
17342 arg_equation->add_intvalue((int)equation);
17343
17344 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017345 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17346 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017347 glContext->hooks->gl.glClipPlanefOES(plane, equation);
Siva Velusamy05df4502012-02-17 10:55:03 -080017348 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17349 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017350
Siva Velusamy98011422012-02-27 12:02:47 -080017351 void *pointerArgs[] = {
17352 (void *) equation,
17353 };
17354
Siva Velusamy05df4502012-02-17 10:55:03 -080017355 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17356 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017357 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017358 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017359}
17360
17361void GLTrace_glGetClipPlanefOES(GLenum pname, GLfloat eqn[4]) {
17362 GLMessage glmsg;
17363 GLTraceContext *glContext = getGLTraceContext();
17364
Siva Velusamy0469dd62011-11-30 15:05:37 -080017365 glmsg.set_function(GLMessage::glGetClipPlanefOES);
17366
17367 // copy argument pname
17368 GLMessage_DataType *arg_pname = glmsg.add_args();
17369 arg_pname->set_isarray(false);
17370 arg_pname->set_type(GLMessage::DataType::ENUM);
17371 arg_pname->add_intvalue((int)pname);
17372
17373 // copy argument eqn
17374 GLMessage_DataType *arg_eqn = glmsg.add_args();
17375 arg_eqn->set_isarray(false);
17376 arg_eqn->set_type(GLMessage::DataType::INT);
17377 arg_eqn->add_intvalue((int)eqn);
17378
17379 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017380 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17381 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017382 glContext->hooks->gl.glGetClipPlanefOES(pname, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080017383 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17384 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017385
Siva Velusamy98011422012-02-27 12:02:47 -080017386 void *pointerArgs[] = {
17387 (void *) eqn,
17388 };
17389
Siva Velusamy05df4502012-02-17 10:55:03 -080017390 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17391 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017392 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017393 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017394}
17395
17396void GLTrace_glClearDepthfOES(GLclampf depth) {
17397 GLMessage glmsg;
17398 GLTraceContext *glContext = getGLTraceContext();
17399
Siva Velusamy0469dd62011-11-30 15:05:37 -080017400 glmsg.set_function(GLMessage::glClearDepthfOES);
17401
17402 // copy argument depth
17403 GLMessage_DataType *arg_depth = glmsg.add_args();
17404 arg_depth->set_isarray(false);
17405 arg_depth->set_type(GLMessage::DataType::FLOAT);
17406 arg_depth->add_floatvalue(depth);
17407
17408 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017409 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17410 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017411 glContext->hooks->gl.glClearDepthfOES(depth);
Siva Velusamy05df4502012-02-17 10:55:03 -080017412 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17413 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017414
Siva Velusamy98011422012-02-27 12:02:47 -080017415 void *pointerArgs[] = {
17416 };
17417
Siva Velusamy05df4502012-02-17 10:55:03 -080017418 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17419 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017420 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017421 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017422}
17423
17424void GLTrace_glTexGenfOES(GLenum coord, GLenum pname, GLfloat param) {
17425 GLMessage glmsg;
17426 GLTraceContext *glContext = getGLTraceContext();
17427
Siva Velusamy0469dd62011-11-30 15:05:37 -080017428 glmsg.set_function(GLMessage::glTexGenfOES);
17429
17430 // copy argument coord
17431 GLMessage_DataType *arg_coord = glmsg.add_args();
17432 arg_coord->set_isarray(false);
17433 arg_coord->set_type(GLMessage::DataType::ENUM);
17434 arg_coord->add_intvalue((int)coord);
17435
17436 // copy argument pname
17437 GLMessage_DataType *arg_pname = glmsg.add_args();
17438 arg_pname->set_isarray(false);
17439 arg_pname->set_type(GLMessage::DataType::ENUM);
17440 arg_pname->add_intvalue((int)pname);
17441
17442 // copy argument param
17443 GLMessage_DataType *arg_param = glmsg.add_args();
17444 arg_param->set_isarray(false);
17445 arg_param->set_type(GLMessage::DataType::FLOAT);
17446 arg_param->add_floatvalue(param);
17447
17448 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017449 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17450 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017451 glContext->hooks->gl.glTexGenfOES(coord, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080017452 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17453 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017454
Siva Velusamy98011422012-02-27 12:02:47 -080017455 void *pointerArgs[] = {
17456 };
17457
Siva Velusamy05df4502012-02-17 10:55:03 -080017458 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17459 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017460 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017461 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017462}
17463
17464void GLTrace_glTexGenfvOES(GLenum coord, GLenum pname, const GLfloat *params) {
17465 GLMessage glmsg;
17466 GLTraceContext *glContext = getGLTraceContext();
17467
Siva Velusamy0469dd62011-11-30 15:05:37 -080017468 glmsg.set_function(GLMessage::glTexGenfvOES);
17469
17470 // copy argument coord
17471 GLMessage_DataType *arg_coord = glmsg.add_args();
17472 arg_coord->set_isarray(false);
17473 arg_coord->set_type(GLMessage::DataType::ENUM);
17474 arg_coord->add_intvalue((int)coord);
17475
17476 // copy argument pname
17477 GLMessage_DataType *arg_pname = glmsg.add_args();
17478 arg_pname->set_isarray(false);
17479 arg_pname->set_type(GLMessage::DataType::ENUM);
17480 arg_pname->add_intvalue((int)pname);
17481
17482 // copy argument params
17483 GLMessage_DataType *arg_params = glmsg.add_args();
17484 arg_params->set_isarray(false);
17485 arg_params->set_type(GLMessage::DataType::INT);
17486 arg_params->add_intvalue((int)params);
17487
17488 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017489 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17490 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017491 glContext->hooks->gl.glTexGenfvOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017492 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17493 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017494
Siva Velusamy98011422012-02-27 12:02:47 -080017495 void *pointerArgs[] = {
17496 (void *) params,
17497 };
17498
Siva Velusamy05df4502012-02-17 10:55:03 -080017499 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17500 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017501 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017502 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017503}
17504
17505void GLTrace_glTexGeniOES(GLenum coord, GLenum pname, GLint param) {
17506 GLMessage glmsg;
17507 GLTraceContext *glContext = getGLTraceContext();
17508
Siva Velusamy0469dd62011-11-30 15:05:37 -080017509 glmsg.set_function(GLMessage::glTexGeniOES);
17510
17511 // copy argument coord
17512 GLMessage_DataType *arg_coord = glmsg.add_args();
17513 arg_coord->set_isarray(false);
17514 arg_coord->set_type(GLMessage::DataType::ENUM);
17515 arg_coord->add_intvalue((int)coord);
17516
17517 // copy argument pname
17518 GLMessage_DataType *arg_pname = glmsg.add_args();
17519 arg_pname->set_isarray(false);
17520 arg_pname->set_type(GLMessage::DataType::ENUM);
17521 arg_pname->add_intvalue((int)pname);
17522
17523 // copy argument param
17524 GLMessage_DataType *arg_param = glmsg.add_args();
17525 arg_param->set_isarray(false);
17526 arg_param->set_type(GLMessage::DataType::INT);
17527 arg_param->add_intvalue(param);
17528
17529 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017530 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17531 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017532 glContext->hooks->gl.glTexGeniOES(coord, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080017533 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17534 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017535
Siva Velusamy98011422012-02-27 12:02:47 -080017536 void *pointerArgs[] = {
17537 };
17538
Siva Velusamy05df4502012-02-17 10:55:03 -080017539 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17540 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017541 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017542 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017543}
17544
17545void GLTrace_glTexGenivOES(GLenum coord, GLenum pname, const GLint *params) {
17546 GLMessage glmsg;
17547 GLTraceContext *glContext = getGLTraceContext();
17548
Siva Velusamy0469dd62011-11-30 15:05:37 -080017549 glmsg.set_function(GLMessage::glTexGenivOES);
17550
17551 // copy argument coord
17552 GLMessage_DataType *arg_coord = glmsg.add_args();
17553 arg_coord->set_isarray(false);
17554 arg_coord->set_type(GLMessage::DataType::ENUM);
17555 arg_coord->add_intvalue((int)coord);
17556
17557 // copy argument pname
17558 GLMessage_DataType *arg_pname = glmsg.add_args();
17559 arg_pname->set_isarray(false);
17560 arg_pname->set_type(GLMessage::DataType::ENUM);
17561 arg_pname->add_intvalue((int)pname);
17562
17563 // copy argument params
17564 GLMessage_DataType *arg_params = glmsg.add_args();
17565 arg_params->set_isarray(false);
17566 arg_params->set_type(GLMessage::DataType::INT);
17567 arg_params->add_intvalue((int)params);
17568
17569 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017570 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17571 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017572 glContext->hooks->gl.glTexGenivOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017573 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17574 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017575
Siva Velusamy98011422012-02-27 12:02:47 -080017576 void *pointerArgs[] = {
17577 (void *) params,
17578 };
17579
Siva Velusamy05df4502012-02-17 10:55:03 -080017580 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17581 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017582 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017583 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017584}
17585
17586void GLTrace_glTexGenxOES(GLenum coord, GLenum pname, GLfixed param) {
17587 GLMessage glmsg;
17588 GLTraceContext *glContext = getGLTraceContext();
17589
Siva Velusamy0469dd62011-11-30 15:05:37 -080017590 glmsg.set_function(GLMessage::glTexGenxOES);
17591
17592 // copy argument coord
17593 GLMessage_DataType *arg_coord = glmsg.add_args();
17594 arg_coord->set_isarray(false);
17595 arg_coord->set_type(GLMessage::DataType::ENUM);
17596 arg_coord->add_intvalue((int)coord);
17597
17598 // copy argument pname
17599 GLMessage_DataType *arg_pname = glmsg.add_args();
17600 arg_pname->set_isarray(false);
17601 arg_pname->set_type(GLMessage::DataType::ENUM);
17602 arg_pname->add_intvalue((int)pname);
17603
17604 // copy argument param
17605 GLMessage_DataType *arg_param = glmsg.add_args();
17606 arg_param->set_isarray(false);
17607 arg_param->set_type(GLMessage::DataType::INT);
17608 arg_param->add_intvalue(param);
17609
17610 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017611 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17612 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017613 glContext->hooks->gl.glTexGenxOES(coord, pname, param);
Siva Velusamy05df4502012-02-17 10:55:03 -080017614 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17615 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017616
Siva Velusamy98011422012-02-27 12:02:47 -080017617 void *pointerArgs[] = {
17618 };
17619
Siva Velusamy05df4502012-02-17 10:55:03 -080017620 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17621 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017622 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017623 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017624}
17625
17626void GLTrace_glTexGenxvOES(GLenum coord, GLenum pname, const GLfixed *params) {
17627 GLMessage glmsg;
17628 GLTraceContext *glContext = getGLTraceContext();
17629
Siva Velusamy0469dd62011-11-30 15:05:37 -080017630 glmsg.set_function(GLMessage::glTexGenxvOES);
17631
17632 // copy argument coord
17633 GLMessage_DataType *arg_coord = glmsg.add_args();
17634 arg_coord->set_isarray(false);
17635 arg_coord->set_type(GLMessage::DataType::ENUM);
17636 arg_coord->add_intvalue((int)coord);
17637
17638 // copy argument pname
17639 GLMessage_DataType *arg_pname = glmsg.add_args();
17640 arg_pname->set_isarray(false);
17641 arg_pname->set_type(GLMessage::DataType::ENUM);
17642 arg_pname->add_intvalue((int)pname);
17643
17644 // copy argument params
17645 GLMessage_DataType *arg_params = glmsg.add_args();
17646 arg_params->set_isarray(false);
17647 arg_params->set_type(GLMessage::DataType::INT);
17648 arg_params->add_intvalue((int)params);
17649
17650 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017651 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17652 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017653 glContext->hooks->gl.glTexGenxvOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017654 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17655 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017656
Siva Velusamy98011422012-02-27 12:02:47 -080017657 void *pointerArgs[] = {
17658 (void *) params,
17659 };
17660
Siva Velusamy05df4502012-02-17 10:55:03 -080017661 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17662 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017663 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017664 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017665}
17666
17667void GLTrace_glGetTexGenfvOES(GLenum coord, GLenum pname, GLfloat *params) {
17668 GLMessage glmsg;
17669 GLTraceContext *glContext = getGLTraceContext();
17670
Siva Velusamy0469dd62011-11-30 15:05:37 -080017671 glmsg.set_function(GLMessage::glGetTexGenfvOES);
17672
17673 // copy argument coord
17674 GLMessage_DataType *arg_coord = glmsg.add_args();
17675 arg_coord->set_isarray(false);
17676 arg_coord->set_type(GLMessage::DataType::ENUM);
17677 arg_coord->add_intvalue((int)coord);
17678
17679 // copy argument pname
17680 GLMessage_DataType *arg_pname = glmsg.add_args();
17681 arg_pname->set_isarray(false);
17682 arg_pname->set_type(GLMessage::DataType::ENUM);
17683 arg_pname->add_intvalue((int)pname);
17684
17685 // copy argument params
17686 GLMessage_DataType *arg_params = glmsg.add_args();
17687 arg_params->set_isarray(false);
17688 arg_params->set_type(GLMessage::DataType::INT);
17689 arg_params->add_intvalue((int)params);
17690
17691 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017692 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17693 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017694 glContext->hooks->gl.glGetTexGenfvOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017695 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17696 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017697
Siva Velusamy98011422012-02-27 12:02:47 -080017698 void *pointerArgs[] = {
17699 (void *) params,
17700 };
17701
Siva Velusamy05df4502012-02-17 10:55:03 -080017702 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17703 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017704 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017705 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017706}
17707
17708void GLTrace_glGetTexGenivOES(GLenum coord, GLenum pname, GLint *params) {
17709 GLMessage glmsg;
17710 GLTraceContext *glContext = getGLTraceContext();
17711
Siva Velusamy0469dd62011-11-30 15:05:37 -080017712 glmsg.set_function(GLMessage::glGetTexGenivOES);
17713
17714 // copy argument coord
17715 GLMessage_DataType *arg_coord = glmsg.add_args();
17716 arg_coord->set_isarray(false);
17717 arg_coord->set_type(GLMessage::DataType::ENUM);
17718 arg_coord->add_intvalue((int)coord);
17719
17720 // copy argument pname
17721 GLMessage_DataType *arg_pname = glmsg.add_args();
17722 arg_pname->set_isarray(false);
17723 arg_pname->set_type(GLMessage::DataType::ENUM);
17724 arg_pname->add_intvalue((int)pname);
17725
17726 // copy argument params
17727 GLMessage_DataType *arg_params = glmsg.add_args();
17728 arg_params->set_isarray(false);
17729 arg_params->set_type(GLMessage::DataType::INT);
17730 arg_params->add_intvalue((int)params);
17731
17732 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017733 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17734 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017735 glContext->hooks->gl.glGetTexGenivOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017736 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17737 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017738
Siva Velusamy98011422012-02-27 12:02:47 -080017739 void *pointerArgs[] = {
17740 (void *) params,
17741 };
17742
Siva Velusamy05df4502012-02-17 10:55:03 -080017743 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17744 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017745 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017746 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017747}
17748
17749void GLTrace_glGetTexGenxvOES(GLenum coord, GLenum pname, GLfixed *params) {
17750 GLMessage glmsg;
17751 GLTraceContext *glContext = getGLTraceContext();
17752
Siva Velusamy0469dd62011-11-30 15:05:37 -080017753 glmsg.set_function(GLMessage::glGetTexGenxvOES);
17754
17755 // copy argument coord
17756 GLMessage_DataType *arg_coord = glmsg.add_args();
17757 arg_coord->set_isarray(false);
17758 arg_coord->set_type(GLMessage::DataType::ENUM);
17759 arg_coord->add_intvalue((int)coord);
17760
17761 // copy argument pname
17762 GLMessage_DataType *arg_pname = glmsg.add_args();
17763 arg_pname->set_isarray(false);
17764 arg_pname->set_type(GLMessage::DataType::ENUM);
17765 arg_pname->add_intvalue((int)pname);
17766
17767 // copy argument params
17768 GLMessage_DataType *arg_params = glmsg.add_args();
17769 arg_params->set_isarray(false);
17770 arg_params->set_type(GLMessage::DataType::INT);
17771 arg_params->add_intvalue((int)params);
17772
17773 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017774 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17775 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017776 glContext->hooks->gl.glGetTexGenxvOES(coord, pname, params);
Siva Velusamy05df4502012-02-17 10:55:03 -080017777 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17778 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017779
Siva Velusamy98011422012-02-27 12:02:47 -080017780 void *pointerArgs[] = {
17781 (void *) params,
17782 };
17783
Siva Velusamy05df4502012-02-17 10:55:03 -080017784 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17785 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017786 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017787 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017788}
17789
17790void GLTrace_glClipPlanefIMG(GLenum p, const GLfloat *eqn) {
17791 GLMessage glmsg;
17792 GLTraceContext *glContext = getGLTraceContext();
17793
Siva Velusamy0469dd62011-11-30 15:05:37 -080017794 glmsg.set_function(GLMessage::glClipPlanefIMG);
17795
17796 // copy argument p
17797 GLMessage_DataType *arg_p = glmsg.add_args();
17798 arg_p->set_isarray(false);
17799 arg_p->set_type(GLMessage::DataType::ENUM);
17800 arg_p->add_intvalue((int)p);
17801
17802 // copy argument eqn
17803 GLMessage_DataType *arg_eqn = glmsg.add_args();
17804 arg_eqn->set_isarray(false);
17805 arg_eqn->set_type(GLMessage::DataType::INT);
17806 arg_eqn->add_intvalue((int)eqn);
17807
17808 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017809 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17810 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017811 glContext->hooks->gl.glClipPlanefIMG(p, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080017812 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17813 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017814
Siva Velusamy98011422012-02-27 12:02:47 -080017815 void *pointerArgs[] = {
17816 (void *) eqn,
17817 };
17818
Siva Velusamy05df4502012-02-17 10:55:03 -080017819 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17820 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017821 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017822 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017823}
17824
17825void GLTrace_glClipPlanexIMG(GLenum p, const GLfixed *eqn) {
17826 GLMessage glmsg;
17827 GLTraceContext *glContext = getGLTraceContext();
17828
Siva Velusamy0469dd62011-11-30 15:05:37 -080017829 glmsg.set_function(GLMessage::glClipPlanexIMG);
17830
17831 // copy argument p
17832 GLMessage_DataType *arg_p = glmsg.add_args();
17833 arg_p->set_isarray(false);
17834 arg_p->set_type(GLMessage::DataType::ENUM);
17835 arg_p->add_intvalue((int)p);
17836
17837 // copy argument eqn
17838 GLMessage_DataType *arg_eqn = glmsg.add_args();
17839 arg_eqn->set_isarray(false);
17840 arg_eqn->set_type(GLMessage::DataType::INT);
17841 arg_eqn->add_intvalue((int)eqn);
17842
17843 // call function
Siva Velusamy05df4502012-02-17 10:55:03 -080017844 nsecs_t wallStartTime = systemTime(SYSTEM_TIME_MONOTONIC);
17845 nsecs_t threadStartTime = systemTime(SYSTEM_TIME_THREAD);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017846 glContext->hooks->gl.glClipPlanexIMG(p, eqn);
Siva Velusamy05df4502012-02-17 10:55:03 -080017847 nsecs_t threadEndTime = systemTime(SYSTEM_TIME_THREAD);
17848 nsecs_t wallEndTime = systemTime(SYSTEM_TIME_MONOTONIC);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017849
Siva Velusamy98011422012-02-27 12:02:47 -080017850 void *pointerArgs[] = {
17851 (void *) eqn,
17852 };
17853
Siva Velusamy05df4502012-02-17 10:55:03 -080017854 fixupGLMessage(glContext, wallStartTime, wallEndTime,
17855 threadStartTime, threadEndTime,
Siva Velusamy98011422012-02-27 12:02:47 -080017856 &glmsg, pointerArgs);
Siva Velusamy93a826f2011-12-14 12:19:56 -080017857 glContext->traceGLMessage(&glmsg);
Siva Velusamy0469dd62011-11-30 15:05:37 -080017858}
17859
17860
Siva Velusamy0469dd62011-11-30 15:05:37 -080017861}; // namespace gltrace
17862}; // namespace android