1/*
2 * Copyright (C) 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
17package android.gltrace;
18
19option optimize_for = LITE_RUNTIME;
20
21option java_package = "com.android.ide.eclipse.gltrace";
22option java_outer_classname = "GLProtoBuf";
23
24message GLMessage {
25    enum Function {
26        option allow_alias = true;
27
28        glActiveTexture = 0;
29        glAlphaFunc = 1;
30        glAlphaFuncx = 2;
31        glAlphaFuncxOES = 3;
32        glAttachShader = 4;
33        glBeginPerfMonitorAMD = 5;
34        glBindAttribLocation = 6;
35        glBindBuffer = 7;
36        glBindFramebuffer = 8;
37        glBindFramebufferOES = 9;
38        glBindRenderbuffer = 10;
39        glBindRenderbufferOES = 11;
40        glBindTexture = 12;
41        glBindVertexArrayOES = 13;
42        glBlendColor = 14;
43        glBlendEquation = 15;
44        glBlendEquationOES = 16;
45        glBlendEquationSeparate = 17;
46        glBlendEquationSeparateOES = 18;
47        glBlendFunc = 19;
48        glBlendFuncSeparate = 20;
49        glBlendFuncSeparateOES = 21;
50        glBufferData = 22;
51        glBufferSubData = 23;
52        glCheckFramebufferStatus = 24;
53        glCheckFramebufferStatusOES = 25;
54        glClearColor = 26;
55        glClearColorx = 27;
56        glClearColorxOES = 28;
57        glClearDepthf = 29;
58        glClearDepthfOES = 30;
59        glClearDepthx = 31;
60        glClearDepthxOES = 32;
61        glClear = 33;
62        glClearStencil = 34;
63        glClientActiveTexture = 35;
64        glClipPlanef = 36;
65        glClipPlanefIMG = 37;
66        glClipPlanefOES = 38;
67        glClipPlanex = 39;
68        glClipPlanexIMG = 40;
69        glClipPlanexOES = 41;
70        glColor4f = 42;
71        glColor4ub = 43;
72        glColor4x = 44;
73        glColor4xOES = 45;
74        glColorMask = 46;
75        glColorPointer = 47;
76        glCompileShader = 48;
77        glCompressedTexImage2D = 49;
78        glCompressedTexImage3DOES = 50;
79        glCompressedTexSubImage2D = 51;
80        glCompressedTexSubImage3DOES = 52;
81        glCopyTexImage2D = 53;
82        glCopyTexSubImage2D = 54;
83        glCopyTexSubImage3DOES = 55;
84        glCoverageMaskNV = 56;
85        glCoverageOperationNV = 57;
86        glCreateProgram = 58;
87        glCreateShader = 59;
88        glCullFace = 60;
89        glCurrentPaletteMatrixOES = 61;
90        glDeleteBuffers = 62;
91        glDeleteFencesNV = 63;
92        glDeleteFramebuffers = 64;
93        glDeleteFramebuffersOES = 65;
94        glDeletePerfMonitorsAMD = 66;
95        glDeleteProgram = 67;
96        glDeleteRenderbuffers = 68;
97        glDeleteRenderbuffersOES = 69;
98        glDeleteShader = 70;
99        glDeleteTextures = 71;
100        glDeleteVertexArraysOES = 72;
101        glDepthFunc = 73;
102        glDepthMask = 74;
103        glDepthRangef = 75;
104        glDepthRangefOES = 76;
105        glDepthRangex = 77;
106        glDepthRangexOES = 78;
107        glDetachShader = 79;
108        glDisableClientState = 80;
109        glDisableDriverControlQCOM = 81;
110        glDisable = 82;
111        glDisableVertexAttribArray = 83;
112        glDiscardFramebufferEXT = 84;
113        glDrawArrays = 85;
114        glDrawElements = 86;
115        glDrawTexfOES = 87;
116        glDrawTexfvOES = 88;
117        glDrawTexiOES = 89;
118        glDrawTexivOES = 90;
119        glDrawTexsOES = 91;
120        glDrawTexsvOES = 92;
121        glDrawTexxOES = 93;
122        glDrawTexxvOES = 94;
123        glEGLImageTargetRenderbufferStorageOES = 95;
124        glEGLImageTargetTexture2DOES = 96;
125        glEnableClientState = 97;
126        glEnableDriverControlQCOM = 98;
127        glEnable = 99;
128        glEnableVertexAttribArray = 100;
129        glEndPerfMonitorAMD = 101;
130        glEndTilingQCOM = 102;
131        glExtGetBufferPointervQCOM = 103;
132        glExtGetBuffersQCOM = 104;
133        glExtGetFramebuffersQCOM = 105;
134        glExtGetProgramBinarySourceQCOM = 106;
135        glExtGetProgramsQCOM = 107;
136        glExtGetRenderbuffersQCOM = 108;
137        glExtGetShadersQCOM = 109;
138        glExtGetTexLevelParameterivQCOM = 110;
139        glExtGetTexSubImageQCOM = 111;
140        glExtGetTexturesQCOM = 112;
141        glExtIsProgramBinaryQCOM = 113;
142        glExtTexObjectStateOverrideiQCOM = 114;
143        glFinishFenceNV = 115;
144        glFinish = 116;
145        glFlush = 117;
146        glFogf = 118;
147        glFogfv = 119;
148        glFogx = 120;
149        glFogxOES = 121;
150        glFogxv = 122;
151        glFogxvOES = 123;
152        glFramebufferRenderbuffer = 124;
153        glFramebufferRenderbufferOES = 125;
154        glFramebufferTexture2D = 126;
155        glFramebufferTexture2DMultisampleIMG = 127;
156        glFramebufferTexture2DOES = 128;
157        glFramebufferTexture3DOES = 129;
158        glFrontFace = 130;
159        glFrustumf = 131;
160        glFrustumfOES = 132;
161        glFrustumx = 133;
162        glFrustumxOES = 134;
163        glGenBuffers = 135;
164        glGenerateMipmap = 136;
165        glGenerateMipmapOES = 137;
166        glGenFencesNV = 138;
167        glGenFramebuffers = 139;
168        glGenFramebuffersOES = 140;
169        glGenPerfMonitorsAMD = 141;
170        glGenRenderbuffers = 142;
171        glGenRenderbuffersOES = 143;
172        glGenTextures = 144;
173        glGenVertexArraysOES = 145;
174        glGetActiveAttrib = 146;
175        glGetActiveUniform = 147;
176        glGetAttachedShaders = 148;
177        glGetAttribLocation = 149;
178        glGetBooleanv = 150;
179        glGetBufferParameteriv = 151;
180        glGetBufferPointervOES = 152;
181        glGetClipPlanef = 153;
182        glGetClipPlanefOES = 154;
183        glGetClipPlanex = 155;
184        glGetClipPlanexOES = 156;
185        glGetDriverControlsQCOM = 157;
186        glGetDriverControlStringQCOM = 158;
187        glGetError = 159;
188        glGetFenceivNV = 160;
189        glGetFixedv = 161;
190        glGetFixedvOES = 162;
191        glGetFloatv = 163;
192        glGetFramebufferAttachmentParameteriv = 164;
193        glGetFramebufferAttachmentParameterivOES = 165;
194        glGetIntegerv = 166;
195        glGetLightfv = 167;
196        glGetLightxv = 168;
197        glGetLightxvOES = 169;
198        glGetMaterialfv = 170;
199        glGetMaterialxv = 171;
200        glGetMaterialxvOES = 172;
201        glGetPerfMonitorCounterDataAMD = 173;
202        glGetPerfMonitorCounterInfoAMD = 174;
203        glGetPerfMonitorCountersAMD = 175;
204        glGetPerfMonitorCounterStringAMD = 176;
205        glGetPerfMonitorGroupsAMD = 177;
206        glGetPerfMonitorGroupStringAMD = 178;
207        glGetPointerv = 179;
208        glGetProgramBinaryOES = 180;
209        glGetProgramInfoLog = 181;
210        glGetProgramiv = 182;
211        glGetRenderbufferParameteriv = 183;
212        glGetRenderbufferParameterivOES = 184;
213        glGetShaderInfoLog = 185;
214        glGetShaderiv = 186;
215        glGetShaderPrecisionFormat = 187;
216        glGetShaderSource = 188;
217        glGetString = 189;
218        glGetTexEnvfv = 190;
219        glGetTexEnviv = 191;
220        glGetTexEnvxv = 192;
221        glGetTexEnvxvOES = 193;
222        glGetTexGenfvOES = 194;
223        glGetTexGenivOES = 195;
224        glGetTexGenxvOES = 196;
225        glGetTexParameterfv = 197;
226        glGetTexParameteriv = 198;
227        glGetTexParameterxv = 199;
228        glGetTexParameterxvOES = 200;
229        glGetUniformfv = 201;
230        glGetUniformiv = 202;
231        glGetUniformLocation = 203;
232        glGetVertexAttribfv = 204;
233        glGetVertexAttribiv = 205;
234        glGetVertexAttribPointerv = 206;
235        glHint = 207;
236        glIsBuffer = 208;
237        glIsEnabled = 209;
238        glIsFenceNV = 210;
239        glIsFramebuffer = 211;
240        glIsFramebufferOES = 212;
241        glIsProgram = 213;
242        glIsRenderbuffer = 214;
243        glIsRenderbufferOES = 215;
244        glIsShader = 216;
245        glIsTexture = 217;
246        glIsVertexArrayOES = 218;
247        glLightf = 219;
248        glLightfv = 220;
249        glLightModelf = 221;
250        glLightModelfv = 222;
251        glLightModelx = 223;
252        glLightModelxOES = 224;
253        glLightModelxv = 225;
254        glLightModelxvOES = 226;
255        glLightx = 227;
256        glLightxOES = 228;
257        glLightxv = 229;
258        glLightxvOES = 230;
259        glLineWidth = 231;
260        glLineWidthx = 232;
261        glLineWidthxOES = 233;
262        glLinkProgram = 234;
263        glLoadIdentity = 235;
264        glLoadMatrixf = 236;
265        glLoadMatrixx = 237;
266        glLoadMatrixxOES = 238;
267        glLoadPaletteFromModelViewMatrixOES = 239;
268        glLogicOp = 240;
269        glMapBufferOES = 241;
270        glMaterialf = 242;
271        glMaterialfv = 243;
272        glMaterialx = 244;
273        glMaterialxOES = 245;
274        glMaterialxv = 246;
275        glMaterialxvOES = 247;
276        glMatrixIndexPointerOES = 248;
277        glMatrixMode = 249;
278        glMultiDrawArraysEXT = 250;
279        glMultiDrawElementsEXT = 251;
280        glMultiTexCoord4f = 252;
281        glMultiTexCoord4x = 253;
282        glMultiTexCoord4xOES = 254;
283        glMultMatrixf = 255;
284        glMultMatrixx = 256;
285        glMultMatrixxOES = 257;
286        glNormal3f = 258;
287        glNormal3x = 259;
288        glNormal3xOES = 260;
289        glNormalPointer = 261;
290        glOrthof = 262;
291        glOrthofOES = 263;
292        glOrthox = 264;
293        glOrthoxOES = 265;
294        glPixelStorei = 266;
295        glPointParameterf = 267;
296        glPointParameterfv = 268;
297        glPointParameterx = 269;
298        glPointParameterxOES = 270;
299        glPointParameterxv = 271;
300        glPointParameterxvOES = 272;
301        glPointSize = 273;
302        glPointSizePointerOES = 274;
303        glPointSizex = 275;
304        glPointSizexOES = 276;
305        glPolygonOffset = 277;
306        glPolygonOffsetx = 278;
307        glPolygonOffsetxOES = 279;
308        glPopMatrix = 280;
309        glProgramBinaryOES = 281;
310        glPushMatrix = 282;
311        glQueryMatrixxOES = 283;
312        glReadPixels = 284;
313        glReleaseShaderCompiler = 285;
314        glRenderbufferStorage = 286;
315        glRenderbufferStorageMultisampleIMG = 287;
316        glRenderbufferStorageOES = 288;
317        glRotatef = 289;
318        glRotatex = 290;
319        glRotatexOES = 291;
320        glSampleCoverage = 292;
321        glSampleCoveragex = 293;
322        glSampleCoveragexOES = 294;
323        glScalef = 295;
324        glScalex = 296;
325        glScalexOES = 297;
326        glScissor = 298;
327        glSelectPerfMonitorCountersAMD = 299;
328        glSetFenceNV = 300;
329        glShadeModel = 301;
330        glShaderBinary = 302;
331        glShaderSource = 303;
332        glStartTilingQCOM = 304;
333        glStencilFunc = 305;
334        glStencilFuncSeparate = 306;
335        glStencilMask = 307;
336        glStencilMaskSeparate = 308;
337        glStencilOp = 309;
338        glStencilOpSeparate = 310;
339        glTestFenceNV = 311;
340        glTexCoordPointer = 312;
341        glTexEnvf = 313;
342        glTexEnvfv = 314;
343        glTexEnvi = 315;
344        glTexEnviv = 316;
345        glTexEnvx = 317;
346        glTexEnvxOES = 318;
347        glTexEnvxv = 319;
348        glTexEnvxvOES = 320;
349        glTexGenfOES = 321;
350        glTexGenfvOES = 322;
351        glTexGeniOES = 323;
352        glTexGenivOES = 324;
353        glTexGenxOES = 325;
354        glTexGenxvOES = 326;
355        glTexImage2D = 327;
356        glTexImage3DOES = 328;
357        glTexParameterf = 329;
358        glTexParameterfv = 330;
359        glTexParameteri = 331;
360        glTexParameteriv = 332;
361        glTexParameterx = 333;
362        glTexParameterxOES = 334;
363        glTexParameterxv = 335;
364        glTexParameterxvOES = 336;
365        glTexSubImage2D = 337;
366        glTexSubImage3DOES = 338;
367        glTranslatef = 339;
368        glTranslatex = 340;
369        glTranslatexOES = 341;
370        glUniform1f = 342;
371        glUniform1fv = 343;
372        glUniform1i = 344;
373        glUniform1iv = 345;
374        glUniform2f = 346;
375        glUniform2fv = 347;
376        glUniform2i = 348;
377        glUniform2iv = 349;
378        glUniform3f = 350;
379        glUniform3fv = 351;
380        glUniform3i = 352;
381        glUniform3iv = 353;
382        glUniform4f = 354;
383        glUniform4fv = 355;
384        glUniform4i = 356;
385        glUniform4iv = 357;
386        glUniformMatrix2fv = 358;
387        glUniformMatrix3fv = 359;
388        glUniformMatrix4fv = 360;
389        glUnmapBufferOES = 361;
390        glUseProgram = 362;
391        glValidateProgram = 363;
392        glVertexAttrib1f = 364;
393        glVertexAttrib1fv = 365;
394        glVertexAttrib2f = 366;
395        glVertexAttrib2fv = 367;
396        glVertexAttrib3f = 368;
397        glVertexAttrib3fv = 369;
398        glVertexAttrib4f = 370;
399        glVertexAttrib4fv = 371;
400        glVertexAttribPointer = 372;
401        glVertexPointer = 373;
402        glViewport = 374;
403        glWeightPointerOES = 375;
404        glReadBuffer = 376;
405        glDrawRangeElements = 377;
406        glTexImage3D = 378;
407        glTexSubImage3D = 379;
408        glCopyTexSubImage3D = 380;
409        glCompressedTexImage3D = 381;
410        glCompressedTexSubImage3D = 382;
411        glGenQueries = 383;
412        glDeleteQueries = 384;
413        glIsQuery = 385;
414        glBeginQuery = 386;
415        glEndQuery = 387;
416        glGetQueryiv = 388;
417        glGetQueryObjectuiv = 389;
418        glUnmapBuffer = 390;
419        glGetBufferPointerv = 391;
420        glDrawBuffers = 392;
421        glUniformMatrix2x3fv = 393;
422        glUniformMatrix3x2fv = 394;
423        glUniformMatrix2x4fv = 395;
424        glUniformMatrix4x2fv = 396;
425        glUniformMatrix3x4fv = 397;
426        glUniformMatrix4x3fv = 398;
427        glBlitFramebuffer = 399;
428        glRenderbufferStorageMultisample = 400;
429        glFramebufferTextureLayer = 401;
430        glMapBufferRange = 402;
431        glFlushMappedBufferRange = 403;
432        glBindVertexArray = 404;
433        glDeleteVertexArrays = 405;
434        glGenVertexArrays = 406;
435        glIsVertexArray = 407;
436        glGetIntegeri_v = 408;
437        glBeginTransformFeedback = 409;
438        glEndTransformFeedback = 410;
439        glBindBufferRange = 411;
440        glBindBufferBase = 412;
441        glTransformFeedbackVaryings = 413;
442        glGetTransformFeedbackVarying = 414;
443        glVertexAttribIPointer = 415;
444        glGetVertexAttribIiv = 416;
445        glGetVertexAttribIuiv = 417;
446        glVertexAttribI4i = 418;
447        glVertexAttribI4ui = 419;
448        glVertexAttribI4iv = 420;
449        glVertexAttribI4uiv = 421;
450        glGetUniformuiv = 422;
451        glGetFragDataLocation = 423;
452        glUniform1ui = 424;
453        glUniform2ui = 425;
454        glUniform3ui = 426;
455        glUniform4ui = 427;
456        glUniform1uiv = 428;
457        glUniform2uiv = 429;
458        glUniform3uiv = 430;
459        glUniform4uiv = 431;
460        glClearBufferiv = 432;
461        glClearBufferuiv = 433;
462        glClearBufferfv = 434;
463        glClearBufferfi = 435;
464        glGetStringi = 436;
465        glCopyBufferSubData = 437;
466        glGetUniformIndices = 438;
467        glGetActiveUniformsiv = 439;
468        glGetUniformBlockIndex = 440;
469        glGetActiveUniformBlockiv = 441;
470        glGetActiveUniformBlockName = 442;
471        glUniformBlockBinding = 443;
472        glDrawArraysInstanced = 444;
473        glDrawElementsInstanced = 445;
474        glFenceSync = 446;
475        glIsSync = 447;
476        glDeleteSync = 448;
477        glClientWaitSync = 449;
478        glWaitSync = 450;
479        glGetInteger64v = 451;
480        glGetSynciv = 452;
481        glGetInteger64i_v = 453;
482        glGetBufferParameteri64v = 454;
483        glGenSamplers = 455;
484        glDeleteSamplers = 456;
485        glIsSampler = 457;
486        glBindSampler = 458;
487        glSamplerParameteri = 459;
488        glSamplerParameteriv = 460;
489        glSamplerParameterf = 461;
490        glSamplerParameterfv = 462;
491        glGetSamplerParameteriv = 463;
492        glGetSamplerParameterfv = 464;
493        glVertexAttribDivisor = 465;
494        glBindTransformFeedback = 466;
495        glDeleteTransformFeedbacks = 467;
496        glGenTransformFeedbacks = 468;
497        glIsTransformFeedback = 469;
498        glPauseTransformFeedback = 470;
499        glResumeTransformFeedback = 471;
500        glGetProgramBinary = 472;
501        glProgramBinary = 473;
502        glProgramParameteri = 474;
503        glInvalidateFramebuffer = 475;
504        glInvalidateSubFramebuffer = 476;
505        glTexStorage2D = 477;
506        glTexStorage3D = 478;
507        glGetInternalformativ = 479;
508        glBeginPerfQueryINTEL = 480;
509        glCreatePerfQueryINTEL = 481;
510        glDeletePerfQueryINTEL = 482;
511        glEndPerfQueryINTEL = 483;
512        glGetFirstPerfQueryIdINTEL = 484;
513        glGetNextPerfQueryIdINTEL = 485;
514        glGetPerfCounterInfoINTEL = 486;
515        glGetPerfQueryDataINTEL = 487;
516        glGetPerfQueryIdByNameINTEL = 488;
517        glGetPerfQueryInfoINTEL = 489;
518        glBlendBarrierKHR = 490;
519        glBlendBarrierNV = 491;
520        glBlendParameteriNV = 492;
521        glBlitFramebufferNV = 493;
522        glFenceSyncAPPLE = 494;
523        glIsSyncAPPLE = 495;
524        glDeleteSyncAPPLE = 496;
525        glClientWaitSyncAPPLE = 497;
526        glWaitSyncAPPLE = 498;
527        glGetInteger64vAPPLE = 499;
528        glGetSyncivAPPLE = 500;
529        glCopyBufferSubDataNV = 501;
530        glActiveShaderProgramEXT = 502;
531        glAlphaFuncQCOM = 503;
532        glBeginQueryEXT = 504;
533        glBindProgramPipelineEXT = 505;
534        glBlitFramebufferANGLE = 506;
535        glCreateShaderProgramvEXT = 507;
536        glDeleteProgramPipelinesEXT = 508;
537        glDeleteQueriesEXT = 509;
538        glDrawBuffersNV = 510;
539        glEndQueryEXT = 511;
540        glFramebufferTexture2DMultisampleEXT = 512;
541        glGenProgramPipelinesEXT = 513;
542        glGenQueriesEXT = 514;
543        glGetGraphicsResetStatusEXT = 515;
544        glGetObjectLabelEXT = 516;
545        glGetProgramPipelineInfoLogEXT = 517;
546        glGetProgramPipelineivEXT = 518;
547        glGetQueryObjectuivEXT = 519;
548        glGetQueryivEXT = 520;
549        glGetnUniformfvEXT = 521;
550        glGetnUniformivEXT = 521;
551        glInsertEventMarkerEXT = 522;
552        glIsProgramPipelineEXT = 523;
553        glIsQueryEXT = 524;
554        glLabelObjectEXT = 525;
555        glPopGroupMarkerEXT = 526;
556        glProgramParameteriEXT = 527;
557        glProgramUniform1fEXT = 528;
558        glProgramUniform1fvEXT = 529;
559        glProgramUniform1iEXT = 530;
560        glProgramUniform1ivEXT = 531;
561        glProgramUniform2fEXT = 532;
562        glProgramUniform2fvEXT = 533;
563        glProgramUniform2iEXT = 534;
564        glProgramUniform2ivEXT = 535;
565        glProgramUniform3fEXT = 536;
566        glProgramUniform3fvEXT = 537;
567        glProgramUniform3iEXT = 538;
568        glProgramUniform3ivEXT = 539;
569        glProgramUniform4fEXT = 540;
570        glProgramUniform4fvEXT = 541;
571        glProgramUniform4iEXT = 542;
572        glProgramUniform4ivEXT = 543;
573        glProgramUniformMatrix2fvEXT = 544;
574        glProgramUniformMatrix3fvEXT = 545;
575        glProgramUniformMatrix4fvEXT = 546;
576        glPushGroupMarkerEXT = 547;
577        glReadBufferNV = 548;
578        glReadnPixelsEXT = 549;
579        glRenderbufferStorageMultisampleANGLE = 550;
580        glRenderbufferStorageMultisampleAPPLE = 551;
581        glRenderbufferStorageMultisampleEXT = 552;
582        glResolveMultisampleFramebufferAPPLE = 553;
583        glTexStorage1DEXT = 554;
584        glTexStorage2DEXT = 555;
585        glTexStorage3DEXT = 556;
586        glTextureStorage1DEXT = 557;
587        glTextureStorage2DEXT = 558;
588        glTextureStorage3DEXT = 559;
589        glUseProgramStagesEXT = 560;
590        glValidateProgramPipelineEXT = 561;
591        glCopyTextureLevelsAPPLE = 562;
592        glDebugMessageControlKHR = 563;
593        glDebugMessageInsertKHR = 564;
594        glDebugMessageCallbackKHR = 565;
595        glGetDebugMessageLogKHR = 566;
596        glPushDebugGroupKHR = 567;
597        glPopDebugGroupKHR = 568;
598        glObjectLabelKHR = 569;
599        glGetObjectLabelKHR = 570;
600        glObjectPtrLabelKHR = 571;
601        glGetObjectPtrLabelKHR = 572;
602        glGetPointervKHR = 573;
603        glDrawArraysInstancedANGLE = 574;
604        glDrawElementsInstancedANGLE = 575;
605        glVertexAttribDivisorANGLE = 576;
606        glDrawArraysInstancedEXT = 577;
607        glDrawElementsInstancedEXT = 578;
608        glVertexAttribDivisorEXT = 579;
609        glDrawArraysInstancedNV = 580;
610        glDrawElementsInstancedNV = 581;
611        glVertexAttribDivisorNV = 582;
612        glDrawBuffersEXT = 583;
613        glReadBufferIndexedEXT = 584;
614        glDrawBuffersIndexedEXT = 585;
615        glGetIntegeri_vEXT = 586;
616        glMapBufferRangeEXT = 587;
617        glFlushMappedBufferRangeEXT = 588;
618        glQueryCounterEXT = 589;
619        glGetQueryObjecti64vEXT = 590;
620        glGetQueryObjectivEXT = 591;
621        glGetQueryObjectui64vEXT = 592;
622        glGetTranslatedShaderSourceANGLE = 593;
623        glMinSampleShadingOES = 594;
624        glMultiTexCoord1bOES = 595;
625        glMultiTexCoord1bvOES = 596;
626        glMultiTexCoord2bOES = 597;
627        glMultiTexCoord2bvOES = 598;
628        glMultiTexCoord3bOES = 599;
629        glMultiTexCoord3bvOES = 600;
630        glMultiTexCoord4bOES = 601;
631        glMultiTexCoord4bvOES = 602;
632        glTexCoord1bOES = 603;
633        glTexCoord1bvOES = 604;
634        glTexCoord2bOES = 605;
635        glTexCoord2bvOES = 606;
636        glTexCoord3bOES = 607;
637        glTexCoord3bvOES = 608;
638        glTexCoord4bOES = 609;
639        glTexCoord4bvOES = 610;
640        glVertex2bOES = 611;
641        glVertex2bvOES = 612;
642        glVertex3bOES = 613;
643        glVertex3bvOES = 614;
644        glVertex4bOES = 615;
645        glVertex4bvOES = 616;
646        glProgramUniform1uiEXT = 617;
647        glProgramUniform2uiEXT = 618;
648        glProgramUniform3uiEXT = 619;
649        glProgramUniform4uiEXT = 620;
650        glProgramUniform1uivEXT = 621;
651        glProgramUniform2uivEXT = 622;
652        glProgramUniform3uivEXT = 623;
653        glProgramUniform4uivEXT = 624;
654        glProgramUniformMatrix2x3fvEXT = 625;
655        glProgramUniformMatrix3x2fvEXT = 626;
656        glProgramUniformMatrix2x4fvEXT = 627;
657        glProgramUniformMatrix4x2fvEXT = 628;
658        glProgramUniformMatrix3x4fvEXT = 629;
659        glProgramUniformMatrix4x3fvEXT = 630;
660        glRenderbufferStorageMultisampleNV = 631;
661        glSampleCoverageOES = 632;
662        glTexStorage3DMultisampleOES = 633;
663        glUniformMatrix2x3fvNV = 634;
664        glUniformMatrix3x2fvNV = 635;
665        glUniformMatrix2x4fvNV = 636;
666        glUniformMatrix4x2fvNV = 637;
667        glUniformMatrix3x4fvNV = 638;
668        glUniformMatrix4x3fvNV = 639;
669        glActiveShaderProgram = 640;
670        glBindImageTexture = 641;
671        glBindProgramPipeline = 642;
672        glBindVertexBuffer = 643;
673        glCreateShaderProgramv = 644;
674        glDeleteProgramPipelines = 645;
675        glDispatchCompute = 646;
676        glDispatchComputeIndirect = 647;
677        glDrawArraysIndirect = 648;
678        glDrawElementsIndirect = 649;
679        glFramebufferParameteri = 650;
680        glGenProgramPipelines = 651;
681        glGetBooleani_v = 652;
682        glGetFramebufferParameteriv = 653;
683        glGetMultisamplefv = 654;
684        glGetProgramInterfaceiv = 655;
685        glGetProgramPipelineInfoLog = 656;
686        glGetProgramPipelineiv = 657;
687        glGetProgramResourceIndex = 658;
688        glGetProgramResourceLocation = 659;
689        glGetProgramResourceName = 660;
690        glGetProgramResourceiv = 661;
691        glGetTexLevelParameterfv = 662;
692        glGetTexLevelParameteriv = 663;
693        glIsProgramPipeline = 664;
694        glMemoryBarrier = 665;
695        glMemoryBarrierByRegion = 666;
696        glProgramUniform1f = 667;
697        glProgramUniform1fv = 668;
698        glProgramUniform1i = 669;
699        glProgramUniform1iv = 670;
700        glProgramUniform1ui = 671;
701        glProgramUniform1uiv = 672;
702        glProgramUniform2f = 673;
703        glProgramUniform2fv = 674;
704        glProgramUniform2i = 675;
705        glProgramUniform2iv = 676;
706        glProgramUniform2ui = 677;
707        glProgramUniform2uiv = 678;
708        glProgramUniform3f = 679;
709        glProgramUniform3fv = 680;
710        glProgramUniform3i = 681;
711        glProgramUniform3iv = 682;
712        glProgramUniform3ui = 683;
713        glProgramUniform3uiv = 684;
714        glProgramUniform4f = 685;
715        glProgramUniform4fv = 686;
716        glProgramUniform4i = 687;
717        glProgramUniform4iv = 688;
718        glProgramUniform4ui = 689;
719        glProgramUniform4uiv = 690;
720        glProgramUniformMatrix2fv = 691;
721        glProgramUniformMatrix2x3fv = 692;
722        glProgramUniformMatrix2x4fv = 693;
723        glProgramUniformMatrix3fv = 694;
724        glProgramUniformMatrix3x2fv = 695;
725        glProgramUniformMatrix3x4fv = 696;
726        glProgramUniformMatrix4fv = 697;
727        glProgramUniformMatrix4x2fv = 698;
728        glProgramUniformMatrix4x3fv = 699;
729        glSampleMaski = 700;
730        glTexStorage2DMultisample = 701;
731        glUseProgramStages = 702;
732        glValidateProgramPipeline = 703;
733        glVertexAttribBinding = 704;
734        glVertexAttribFormat = 705;
735        glVertexAttribIFormat = 706;
736        glVertexBindingDivisor = 707;
737        glBlendEquationSeparateiEXT = 708;
738        glBlendEquationiEXT = 709;
739        glBlendFuncSeparateiEXT = 710;
740        glBlendFunciEXT = 711;
741        glColorMaskiEXT = 712;
742        glCopyImageSubDataEXT = 713;
743        glDisableiEXT = 714;
744        glEnableiEXT = 715;
745        glFramebufferTextureEXT = 716;
746        glGetSamplerParameterIivEXT = 717;
747        glGetSamplerParameterIuivEXT = 718;
748        glGetTexParameterIivEXT = 719;
749        glGetTexParameterIuivEXT = 720;
750        glIsEnablediEXT = 721;
751        glPatchParameteriEXT = 722;
752        glPrimitiveBoundingBoxEXT = 723;
753        glSamplerParameterIivEXT = 724;
754        glSamplerParameterIuivEXT = 725;
755        glTexBufferEXT = 726;
756        glTexBufferRangeEXT = 727;
757        glTexParameterIivEXT = 728;
758        glTexParameterIuivEXT = 729;
759        glTextureViewEXT = 730;
760
761        eglGetDisplay = 2000;
762        eglInitialize = 2001;
763        eglTerminate = 2002;
764        eglGetConfigs = 2003;
765        eglChooseConfig = 2004;
766        eglGetConfigAttrib = 2005;
767        eglCreateWindowSurface = 2006;
768        eglCreatePixmapSurface = 2007;
769        eglCreatePbufferSurface = 2008;
770        eglDestroySurface = 2009;
771        eglQuerySurface = 2010;
772        eglCreateContext = 2011;
773        eglDestroyContext = 2012;
774        eglMakeCurrent = 2013;
775        eglGetCurrentContext = 2014;
776        eglGetCurrentSurface = 2015;
777        eglGetCurrentDisplay = 2016;
778        eglQueryContext = 2017;
779        eglWaitGL = 2018;
780        eglWaitNative = 2019;
781        eglSwapBuffers = 2020;
782        eglCopyBuffers = 2021;
783        eglGetError = 2022;
784        eglQueryString = 2023;
785        eglGetProcAddress = 2024;
786        eglSurfaceAttrib = 2025;
787        eglBindTexImage = 2026;
788        eglReleaseTexImage = 2027;
789        eglSwapInterval = 2028;
790        eglBindAPI = 2029;
791        eglQueryAPI = 2030;
792        eglWaitClient = 2031;
793        eglReleaseThread = 2032;
794        eglCreatePbufferFromClientBuffer = 2033;
795        eglLockSurfaceKHR = 2034;
796        eglUnlockSurfaceKHR = 2035;
797        eglCreateImageKHR = 2036;
798        eglDestroyImageKHR = 2037;
799        eglCreateSyncKHR = 2038;
800        eglDestroySyncKHR = 2039;
801        eglClientWaitSyncKHR = 2040;
802        eglGetSyncAttribKHR = 2041;
803        eglSetSwapRectangleANDROID = 2042;
804        eglGetRenderBufferANDROID = 2043;
805        eglGetSystemTimeFrequencyNV = 2044;
806        eglGetSystemTimeNV = 2045;
807
808        invalid = 3000;
809        glVertexAttribPointerData = 3001;
810    }
811
812    // A GL call's return data and arguments are formatted into this DataType
813    message DataType {
814        enum Type {
815            VOID = 1;       // GLvoid
816            CHAR = 2;       // GLchar
817            BYTE = 3;       // GLbyte, GLubyte
818            INT = 4;        // GLbitfield, GLshort, GLint, GLsizei, GLushort, GLuint, GLfixed
819            FLOAT = 5;      // GLfloat, GLclampf
820            BOOL = 6;       // GLboolean
821            ENUM = 7;       // GLenum
822            INT64 = 8;      // GLint64, GLuint64
823        };
824
825        required Type   type = 1 [default = VOID];
826        required bool   isArray = 2 [default = false];
827
828        repeated int32  intValue = 3;
829        repeated float  floatValue = 4;
830        repeated bytes  charValue = 5;
831        repeated bytes  rawBytes = 6;
832        repeated bool   boolValue = 7;
833        repeated int64  int64Value = 8;
834    }
835
836    message FrameBuffer {
837        required int32  width = 1;
838        required int32  height = 2;
839        repeated bytes  contents = 3;
840    }
841
842    required int32      context_id = 1;                     // GL context ID
843    required int64      start_time = 2;                     // time when call was invoked
844    required int32      duration = 3;                       // duration of the call (MONOTONIC TIME)
845
846    required Function   function = 4 [default = invalid];   // GL function called
847    repeated DataType   args = 5;                           // GL function's arguments
848    optional DataType   returnValue = 6;                    // GL function's return value
849
850    optional FrameBuffer fb = 7;                            // contents of the framebuffer
851
852    optional int32      threadtime = 8;                     // duration of the call (THREAD TIME)
853};
854