Home | History | Annotate | Download | only in GLES_trace
      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 
     17 package android.gltrace;
     18 
     19 option optimize_for = LITE_RUNTIME;
     20 
     21 option java_package = "com.android.ide.eclipse.gltrace";
     22 option java_outer_classname = "GLProtoBuf";
     23 
     24 message GLMessage {
     25     enum Function {
     26         glActiveTexture = 0;
     27         glAlphaFunc = 1;
     28         glAlphaFuncx = 2;
     29         glAlphaFuncxOES = 3;
     30         glAttachShader = 4;
     31         glBeginPerfMonitorAMD = 5;
     32         glBindAttribLocation = 6;
     33         glBindBuffer = 7;
     34         glBindFramebuffer = 8;
     35         glBindFramebufferOES = 9;
     36         glBindRenderbuffer = 10;
     37         glBindRenderbufferOES = 11;
     38         glBindTexture = 12;
     39         glBindVertexArrayOES = 13;
     40         glBlendColor = 14;
     41         glBlendEquation = 15;
     42         glBlendEquationOES = 16;
     43         glBlendEquationSeparate = 17;
     44         glBlendEquationSeparateOES = 18;
     45         glBlendFunc = 19;
     46         glBlendFuncSeparate = 20;
     47         glBlendFuncSeparateOES = 21;
     48         glBufferData = 22;
     49         glBufferSubData = 23;
     50         glCheckFramebufferStatus = 24;
     51         glCheckFramebufferStatusOES = 25;
     52         glClearColor = 26;
     53         glClearColorx = 27;
     54         glClearColorxOES = 28;
     55         glClearDepthf = 29;
     56         glClearDepthfOES = 30;
     57         glClearDepthx = 31;
     58         glClearDepthxOES = 32;
     59         glClear = 33;
     60         glClearStencil = 34;
     61         glClientActiveTexture = 35;
     62         glClipPlanef = 36;
     63         glClipPlanefIMG = 37;
     64         glClipPlanefOES = 38;
     65         glClipPlanex = 39;
     66         glClipPlanexIMG = 40;
     67         glClipPlanexOES = 41;
     68         glColor4f = 42;
     69         glColor4ub = 43;
     70         glColor4x = 44;
     71         glColor4xOES = 45;
     72         glColorMask = 46;
     73         glColorPointer = 47;
     74         glCompileShader = 48;
     75         glCompressedTexImage2D = 49;
     76         glCompressedTexImage3DOES = 50;
     77         glCompressedTexSubImage2D = 51;
     78         glCompressedTexSubImage3DOES = 52;
     79         glCopyTexImage2D = 53;
     80         glCopyTexSubImage2D = 54;
     81         glCopyTexSubImage3DOES = 55;
     82         glCoverageMaskNV = 56;
     83         glCoverageOperationNV = 57;
     84         glCreateProgram = 58;
     85         glCreateShader = 59;
     86         glCullFace = 60;
     87         glCurrentPaletteMatrixOES = 61;
     88         glDeleteBuffers = 62;
     89         glDeleteFencesNV = 63;
     90         glDeleteFramebuffers = 64;
     91         glDeleteFramebuffersOES = 65;
     92         glDeletePerfMonitorsAMD = 66;
     93         glDeleteProgram = 67;
     94         glDeleteRenderbuffers = 68;
     95         glDeleteRenderbuffersOES = 69;
     96         glDeleteShader = 70;
     97         glDeleteTextures = 71;
     98         glDeleteVertexArraysOES = 72;
     99         glDepthFunc = 73;
    100         glDepthMask = 74;
    101         glDepthRangef = 75;
    102         glDepthRangefOES = 76;
    103         glDepthRangex = 77;
    104         glDepthRangexOES = 78;
    105         glDetachShader = 79;
    106         glDisableClientState = 80;
    107         glDisableDriverControlQCOM = 81;
    108         glDisable = 82;
    109         glDisableVertexAttribArray = 83;
    110         glDiscardFramebufferEXT = 84;
    111         glDrawArrays = 85;
    112         glDrawElements = 86;
    113         glDrawTexfOES = 87;
    114         glDrawTexfvOES = 88;
    115         glDrawTexiOES = 89;
    116         glDrawTexivOES = 90;
    117         glDrawTexsOES = 91;
    118         glDrawTexsvOES = 92;
    119         glDrawTexxOES = 93;
    120         glDrawTexxvOES = 94;
    121         glEGLImageTargetRenderbufferStorageOES = 95;
    122         glEGLImageTargetTexture2DOES = 96;
    123         glEnableClientState = 97;
    124         glEnableDriverControlQCOM = 98;
    125         glEnable = 99;
    126         glEnableVertexAttribArray = 100;
    127         glEndPerfMonitorAMD = 101;
    128         glEndTilingQCOM = 102;
    129         glExtGetBufferPointervQCOM = 103;
    130         glExtGetBuffersQCOM = 104;
    131         glExtGetFramebuffersQCOM = 105;
    132         glExtGetProgramBinarySourceQCOM = 106;
    133         glExtGetProgramsQCOM = 107;
    134         glExtGetRenderbuffersQCOM = 108;
    135         glExtGetShadersQCOM = 109;
    136         glExtGetTexLevelParameterivQCOM = 110;
    137         glExtGetTexSubImageQCOM = 111;
    138         glExtGetTexturesQCOM = 112;
    139         glExtIsProgramBinaryQCOM = 113;
    140         glExtTexObjectStateOverrideiQCOM = 114;
    141         glFinishFenceNV = 115;
    142         glFinish = 116;
    143         glFlush = 117;
    144         glFogf = 118;
    145         glFogfv = 119;
    146         glFogx = 120;
    147         glFogxOES = 121;
    148         glFogxv = 122;
    149         glFogxvOES = 123;
    150         glFramebufferRenderbuffer = 124;
    151         glFramebufferRenderbufferOES = 125;
    152         glFramebufferTexture2D = 126;
    153         glFramebufferTexture2DMultisampleIMG = 127;
    154         glFramebufferTexture2DOES = 128;
    155         glFramebufferTexture3DOES = 129;
    156         glFrontFace = 130;
    157         glFrustumf = 131;
    158         glFrustumfOES = 132;
    159         glFrustumx = 133;
    160         glFrustumxOES = 134;
    161         glGenBuffers = 135;
    162         glGenerateMipmap = 136;
    163         glGenerateMipmapOES = 137;
    164         glGenFencesNV = 138;
    165         glGenFramebuffers = 139;
    166         glGenFramebuffersOES = 140;
    167         glGenPerfMonitorsAMD = 141;
    168         glGenRenderbuffers = 142;
    169         glGenRenderbuffersOES = 143;
    170         glGenTextures = 144;
    171         glGenVertexArraysOES = 145;
    172         glGetActiveAttrib = 146;
    173         glGetActiveUniform = 147;
    174         glGetAttachedShaders = 148;
    175         glGetAttribLocation = 149;
    176         glGetBooleanv = 150;
    177         glGetBufferParameteriv = 151;
    178         glGetBufferPointervOES = 152;
    179         glGetClipPlanef = 153;
    180         glGetClipPlanefOES = 154;
    181         glGetClipPlanex = 155;
    182         glGetClipPlanexOES = 156;
    183         glGetDriverControlsQCOM = 157;
    184         glGetDriverControlStringQCOM = 158;
    185         glGetError = 159;
    186         glGetFenceivNV = 160;
    187         glGetFixedv = 161;
    188         glGetFixedvOES = 162;
    189         glGetFloatv = 163;
    190         glGetFramebufferAttachmentParameteriv = 164;
    191         glGetFramebufferAttachmentParameterivOES = 165;
    192         glGetIntegerv = 166;
    193         glGetLightfv = 167;
    194         glGetLightxv = 168;
    195         glGetLightxvOES = 169;
    196         glGetMaterialfv = 170;
    197         glGetMaterialxv = 171;
    198         glGetMaterialxvOES = 172;
    199         glGetPerfMonitorCounterDataAMD = 173;
    200         glGetPerfMonitorCounterInfoAMD = 174;
    201         glGetPerfMonitorCountersAMD = 175;
    202         glGetPerfMonitorCounterStringAMD = 176;
    203         glGetPerfMonitorGroupsAMD = 177;
    204         glGetPerfMonitorGroupStringAMD = 178;
    205         glGetPointerv = 179;
    206         glGetProgramBinaryOES = 180;
    207         glGetProgramInfoLog = 181;
    208         glGetProgramiv = 182;
    209         glGetRenderbufferParameteriv = 183;
    210         glGetRenderbufferParameterivOES = 184;
    211         glGetShaderInfoLog = 185;
    212         glGetShaderiv = 186;
    213         glGetShaderPrecisionFormat = 187;
    214         glGetShaderSource = 188;
    215         glGetString = 189;
    216         glGetTexEnvfv = 190;
    217         glGetTexEnviv = 191;
    218         glGetTexEnvxv = 192;
    219         glGetTexEnvxvOES = 193;
    220         glGetTexGenfvOES = 194;
    221         glGetTexGenivOES = 195;
    222         glGetTexGenxvOES = 196;
    223         glGetTexParameterfv = 197;
    224         glGetTexParameteriv = 198;
    225         glGetTexParameterxv = 199;
    226         glGetTexParameterxvOES = 200;
    227         glGetUniformfv = 201;
    228         glGetUniformiv = 202;
    229         glGetUniformLocation = 203;
    230         glGetVertexAttribfv = 204;
    231         glGetVertexAttribiv = 205;
    232         glGetVertexAttribPointerv = 206;
    233         glHint = 207;
    234         glIsBuffer = 208;
    235         glIsEnabled = 209;
    236         glIsFenceNV = 210;
    237         glIsFramebuffer = 211;
    238         glIsFramebufferOES = 212;
    239         glIsProgram = 213;
    240         glIsRenderbuffer = 214;
    241         glIsRenderbufferOES = 215;
    242         glIsShader = 216;
    243         glIsTexture = 217;
    244         glIsVertexArrayOES = 218;
    245         glLightf = 219;
    246         glLightfv = 220;
    247         glLightModelf = 221;
    248         glLightModelfv = 222;
    249         glLightModelx = 223;
    250         glLightModelxOES = 224;
    251         glLightModelxv = 225;
    252         glLightModelxvOES = 226;
    253         glLightx = 227;
    254         glLightxOES = 228;
    255         glLightxv = 229;
    256         glLightxvOES = 230;
    257         glLineWidth = 231;
    258         glLineWidthx = 232;
    259         glLineWidthxOES = 233;
    260         glLinkProgram = 234;
    261         glLoadIdentity = 235;
    262         glLoadMatrixf = 236;
    263         glLoadMatrixx = 237;
    264         glLoadMatrixxOES = 238;
    265         glLoadPaletteFromModelViewMatrixOES = 239;
    266         glLogicOp = 240;
    267         glMapBufferOES = 241;
    268         glMaterialf = 242;
    269         glMaterialfv = 243;
    270         glMaterialx = 244;
    271         glMaterialxOES = 245;
    272         glMaterialxv = 246;
    273         glMaterialxvOES = 247;
    274         glMatrixIndexPointerOES = 248;
    275         glMatrixMode = 249;
    276         glMultiDrawArraysEXT = 250;
    277         glMultiDrawElementsEXT = 251;
    278         glMultiTexCoord4f = 252;
    279         glMultiTexCoord4x = 253;
    280         glMultiTexCoord4xOES = 254;
    281         glMultMatrixf = 255;
    282         glMultMatrixx = 256;
    283         glMultMatrixxOES = 257;
    284         glNormal3f = 258;
    285         glNormal3x = 259;
    286         glNormal3xOES = 260;
    287         glNormalPointer = 261;
    288         glOrthof = 262;
    289         glOrthofOES = 263;
    290         glOrthox = 264;
    291         glOrthoxOES = 265;
    292         glPixelStorei = 266;
    293         glPointParameterf = 267;
    294         glPointParameterfv = 268;
    295         glPointParameterx = 269;
    296         glPointParameterxOES = 270;
    297         glPointParameterxv = 271;
    298         glPointParameterxvOES = 272;
    299         glPointSize = 273;
    300         glPointSizePointerOES = 274;
    301         glPointSizex = 275;
    302         glPointSizexOES = 276;
    303         glPolygonOffset = 277;
    304         glPolygonOffsetx = 278;
    305         glPolygonOffsetxOES = 279;
    306         glPopMatrix = 280;
    307         glProgramBinaryOES = 281;
    308         glPushMatrix = 282;
    309         glQueryMatrixxOES = 283;
    310         glReadPixels = 284;
    311         glReleaseShaderCompiler = 285;
    312         glRenderbufferStorage = 286;
    313         glRenderbufferStorageMultisampleIMG = 287;
    314         glRenderbufferStorageOES = 288;
    315         glRotatef = 289;
    316         glRotatex = 290;
    317         glRotatexOES = 291;
    318         glSampleCoverage = 292;
    319         glSampleCoveragex = 293;
    320         glSampleCoveragexOES = 294;
    321         glScalef = 295;
    322         glScalex = 296;
    323         glScalexOES = 297;
    324         glScissor = 298;
    325         glSelectPerfMonitorCountersAMD = 299;
    326         glSetFenceNV = 300;
    327         glShadeModel = 301;
    328         glShaderBinary = 302;
    329         glShaderSource = 303;
    330         glStartTilingQCOM = 304;
    331         glStencilFunc = 305;
    332         glStencilFuncSeparate = 306;
    333         glStencilMask = 307;
    334         glStencilMaskSeparate = 308;
    335         glStencilOp = 309;
    336         glStencilOpSeparate = 310;
    337         glTestFenceNV = 311;
    338         glTexCoordPointer = 312;
    339         glTexEnvf = 313;
    340         glTexEnvfv = 314;
    341         glTexEnvi = 315;
    342         glTexEnviv = 316;
    343         glTexEnvx = 317;
    344         glTexEnvxOES = 318;
    345         glTexEnvxv = 319;
    346         glTexEnvxvOES = 320;
    347         glTexGenfOES = 321;
    348         glTexGenfvOES = 322;
    349         glTexGeniOES = 323;
    350         glTexGenivOES = 324;
    351         glTexGenxOES = 325;
    352         glTexGenxvOES = 326;
    353         glTexImage2D = 327;
    354         glTexImage3DOES = 328;
    355         glTexParameterf = 329;
    356         glTexParameterfv = 330;
    357         glTexParameteri = 331;
    358         glTexParameteriv = 332;
    359         glTexParameterx = 333;
    360         glTexParameterxOES = 334;
    361         glTexParameterxv = 335;
    362         glTexParameterxvOES = 336;
    363         glTexSubImage2D = 337;
    364         glTexSubImage3DOES = 338;
    365         glTranslatef = 339;
    366         glTranslatex = 340;
    367         glTranslatexOES = 341;
    368         glUniform1f = 342;
    369         glUniform1fv = 343;
    370         glUniform1i = 344;
    371         glUniform1iv = 345;
    372         glUniform2f = 346;
    373         glUniform2fv = 347;
    374         glUniform2i = 348;
    375         glUniform2iv = 349;
    376         glUniform3f = 350;
    377         glUniform3fv = 351;
    378         glUniform3i = 352;
    379         glUniform3iv = 353;
    380         glUniform4f = 354;
    381         glUniform4fv = 355;
    382         glUniform4i = 356;
    383         glUniform4iv = 357;
    384         glUniformMatrix2fv = 358;
    385         glUniformMatrix3fv = 359;
    386         glUniformMatrix4fv = 360;
    387         glUnmapBufferOES = 361;
    388         glUseProgram = 362;
    389         glValidateProgram = 363;
    390         glVertexAttrib1f = 364;
    391         glVertexAttrib1fv = 365;
    392         glVertexAttrib2f = 366;
    393         glVertexAttrib2fv = 367;
    394         glVertexAttrib3f = 368;
    395         glVertexAttrib3fv = 369;
    396         glVertexAttrib4f = 370;
    397         glVertexAttrib4fv = 371;
    398         glVertexAttribPointer = 372;
    399         glVertexPointer = 373;
    400         glViewport = 374;
    401         glWeightPointerOES = 375;
    402         glReadBuffer = 376;
    403         glDrawRangeElements = 377;
    404         glTexImage3D = 378;
    405         glTexSubImage3D = 379;
    406         glCopyTexSubImage3D = 380;
    407         glCompressedTexImage3D = 381;
    408         glCompressedTexSubImage3D = 382;
    409         glGenQueries = 383;
    410         glDeleteQueries = 384;
    411         glIsQuery = 385;
    412         glBeginQuery = 386;
    413         glEndQuery = 387;
    414         glGetQueryiv = 388;
    415         glGetQueryObjectuiv = 389;
    416         glUnmapBuffer = 390;
    417         glGetBufferPointerv = 391;
    418         glDrawBuffers = 392;
    419         glUniformMatrix2x3fv = 393;
    420         glUniformMatrix3x2fv = 394;
    421         glUniformMatrix2x4fv = 395;
    422         glUniformMatrix4x2fv = 396;
    423         glUniformMatrix3x4fv = 397;
    424         glUniformMatrix4x3fv = 398;
    425         glBlitFramebuffer = 399;
    426         glRenderbufferStorageMultisample = 400;
    427         glFramebufferTextureLayer = 401;
    428         glMapBufferRange = 402;
    429         glFlushMappedBufferRange = 403;
    430         glBindVertexArray = 404;
    431         glDeleteVertexArrays = 405;
    432         glGenVertexArrays = 406;
    433         glIsVertexArray = 407;
    434         glGetIntegeri_v = 408;
    435         glBeginTransformFeedback = 409;
    436         glEndTransformFeedback = 410;
    437         glBindBufferRange = 411;
    438         glBindBufferBase = 412;
    439         glTransformFeedbackVaryings = 413;
    440         glGetTransformFeedbackVarying = 414;
    441         glVertexAttribIPointer = 415;
    442         glGetVertexAttribIiv = 416;
    443         glGetVertexAttribIuiv = 417;
    444         glVertexAttribI4i = 418;
    445         glVertexAttribI4ui = 419;
    446         glVertexAttribI4iv = 420;
    447         glVertexAttribI4uiv = 421;
    448         glGetUniformuiv = 422;
    449         glGetFragDataLocation = 423;
    450         glUniform1ui = 424;
    451         glUniform2ui = 425;
    452         glUniform3ui = 426;
    453         glUniform4ui = 427;
    454         glUniform1uiv = 428;
    455         glUniform2uiv = 429;
    456         glUniform3uiv = 430;
    457         glUniform4uiv = 431;
    458         glClearBufferiv = 432;
    459         glClearBufferuiv = 433;
    460         glClearBufferfv = 434;
    461         glClearBufferfi = 435;
    462         glGetStringi = 436;
    463         glCopyBufferSubData = 437;
    464         glGetUniformIndices = 438;
    465         glGetActiveUniformsiv = 439;
    466         glGetUniformBlockIndex = 440;
    467         glGetActiveUniformBlockiv = 441;
    468         glGetActiveUniformBlockName = 442;
    469         glUniformBlockBinding = 443;
    470         glDrawArraysInstanced = 444;
    471         glDrawElementsInstanced = 445;
    472         glFenceSync = 446;
    473         glIsSync = 447;
    474         glDeleteSync = 448;
    475         glClientWaitSync = 449;
    476         glWaitSync = 450;
    477         glGetInteger64v = 451;
    478         glGetSynciv = 452;
    479         glGetInteger64i_v = 453;
    480         glGetBufferParameteri64v = 454;
    481         glGenSamplers = 455;
    482         glDeleteSamplers = 456;
    483         glIsSampler = 457;
    484         glBindSampler = 458;
    485         glSamplerParameteri = 459;
    486         glSamplerParameteriv = 460;
    487         glSamplerParameterf = 461;
    488         glSamplerParameterfv = 462;
    489         glGetSamplerParameteriv = 463;
    490         glGetSamplerParameterfv = 464;
    491         glVertexAttribDivisor = 465;
    492         glBindTransformFeedback = 466;
    493         glDeleteTransformFeedbacks = 467;
    494         glGenTransformFeedbacks = 468;
    495         glIsTransformFeedback = 469;
    496         glPauseTransformFeedback = 470;
    497         glResumeTransformFeedback = 471;
    498         glGetProgramBinary = 472;
    499         glProgramBinary = 473;
    500         glProgramParameteri = 474;
    501         glInvalidateFramebuffer = 475;
    502         glInvalidateSubFramebuffer = 476;
    503         glTexStorage2D = 477;
    504         glTexStorage3D = 478;
    505         glGetInternalformativ = 479;
    506 
    507         glActiveShaderProgramEXT = 502;
    508         glAlphaFuncQCOM = 503;
    509         glBeginQueryEXT = 504;
    510         glBindProgramPipelineEXT = 505;
    511         glBlitFramebufferANGLE = 506;
    512         glCreateShaderProgramvEXT = 507;
    513         glDeleteProgramPipelinesEXT = 508;
    514         glDeleteQueriesEXT = 509;
    515         glDrawBuffersNV = 510;
    516         glEndQueryEXT = 511;
    517         glFramebufferTexture2DMultisampleEXT = 512;
    518         glGenProgramPipelinesEXT = 513;
    519         glGenQueriesEXT = 514;
    520         glGetGraphicsResetStatusEXT = 515;
    521         glGetObjectLabelEXT = 516;
    522         glGetProgramPipelineInfoLogEXT = 517;
    523         glGetProgramPipelineivEXT = 518;
    524         glGetQueryObjectuivEXT = 519;
    525         glGetQueryivEXT = 520;
    526         glGetnUniformfvEXT = 521;
    527         glGetnUniformivEXT = 521;
    528         glInsertEventMarkerEXT = 522;
    529         glIsProgramPipelineEXT = 523;
    530         glIsQueryEXT = 524;
    531         glLabelObjectEXT = 525;
    532         glPopGroupMarkerEXT = 526;
    533         glProgramParameteriEXT = 527;
    534         glProgramUniform1fEXT = 528;
    535         glProgramUniform1fvEXT = 529;
    536         glProgramUniform1iEXT = 530;
    537         glProgramUniform1ivEXT = 531;
    538         glProgramUniform2fEXT = 532;
    539         glProgramUniform2fvEXT = 533;
    540         glProgramUniform2iEXT = 534;
    541         glProgramUniform2ivEXT = 535;
    542         glProgramUniform3fEXT = 536;
    543         glProgramUniform3fvEXT = 537;
    544         glProgramUniform3iEXT = 538;
    545         glProgramUniform3ivEXT = 539;
    546         glProgramUniform4fEXT = 540;
    547         glProgramUniform4fvEXT = 541;
    548         glProgramUniform4iEXT = 542;
    549         glProgramUniform4ivEXT = 543;
    550         glProgramUniformMatrix2fvEXT = 544;
    551         glProgramUniformMatrix3fvEXT = 545;
    552         glProgramUniformMatrix4fvEXT = 546;
    553         glPushGroupMarkerEXT = 547;
    554         glReadBufferNV = 548;
    555         glReadnPixelsEXT = 549;
    556         glRenderbufferStorageMultisampleANGLE = 550;
    557         glRenderbufferStorageMultisampleAPPLE = 551;
    558         glRenderbufferStorageMultisampleEXT = 552;
    559         glResolveMultisampleFramebufferAPPLE = 553;
    560         glTexStorage1DEXT = 554;
    561         glTexStorage2DEXT = 555;
    562         glTexStorage3DEXT = 556;
    563         glTextureStorage1DEXT = 557;
    564         glTextureStorage2DEXT = 558;
    565         glTextureStorage3DEXT = 559;
    566         glUseProgramStagesEXT = 560;
    567         glValidateProgramPipelineEXT = 561;
    568 
    569         eglGetDisplay = 2000;
    570         eglInitialize = 2001;
    571         eglTerminate = 2002;
    572         eglGetConfigs = 2003;
    573         eglChooseConfig = 2004;
    574         eglGetConfigAttrib = 2005;
    575         eglCreateWindowSurface = 2006;
    576         eglCreatePixmapSurface = 2007;
    577         eglCreatePbufferSurface = 2008;
    578         eglDestroySurface = 2009;
    579         eglQuerySurface = 2010;
    580         eglCreateContext = 2011;
    581         eglDestroyContext = 2012;
    582         eglMakeCurrent = 2013;
    583         eglGetCurrentContext = 2014;
    584         eglGetCurrentSurface = 2015;
    585         eglGetCurrentDisplay = 2016;
    586         eglQueryContext = 2017;
    587         eglWaitGL = 2018;
    588         eglWaitNative = 2019;
    589         eglSwapBuffers = 2020;
    590         eglCopyBuffers = 2021;
    591         eglGetError = 2022;
    592         eglQueryString = 2023;
    593         eglGetProcAddress = 2024;
    594         eglSurfaceAttrib = 2025;
    595         eglBindTexImage = 2026;
    596         eglReleaseTexImage = 2027;
    597         eglSwapInterval = 2028;
    598         eglBindAPI = 2029;
    599         eglQueryAPI = 2030;
    600         eglWaitClient = 2031;
    601         eglReleaseThread = 2032;
    602         eglCreatePbufferFromClientBuffer = 2033;
    603         eglLockSurfaceKHR = 2034;
    604         eglUnlockSurfaceKHR = 2035;
    605         eglCreateImageKHR = 2036;
    606         eglDestroyImageKHR = 2037;
    607         eglCreateSyncKHR = 2038;
    608         eglDestroySyncKHR = 2039;
    609         eglClientWaitSyncKHR = 2040;
    610         eglGetSyncAttribKHR = 2041;
    611         eglSetSwapRectangleANDROID = 2042;
    612         eglGetRenderBufferANDROID = 2043;
    613         eglGetSystemTimeFrequencyNV = 2044;
    614         eglGetSystemTimeNV = 2045;
    615 
    616         invalid = 3000;
    617         glVertexAttribPointerData = 3001;
    618     }
    619 
    620     // A GL call's return data and arguments are formatted into this DataType
    621     message DataType {
    622         enum Type {
    623             VOID = 1;       // GLvoid
    624             CHAR = 2;       // GLchar
    625             BYTE = 3;       // GLbyte, GLubyte
    626             INT = 4;        // GLbitfield, GLshort, GLint, GLsizei, GLushort, GLuint, GLfixed
    627             FLOAT = 5;      // GLfloat, GLclampf
    628             BOOL = 6;       // GLboolean
    629             ENUM = 7;       // GLenum
    630             INT64 = 8;      // GLint64, GLuint64
    631         };
    632 
    633         required Type   type = 1 [default = VOID];
    634         required bool   isArray = 2 [default = false];
    635 
    636         repeated int32  intValue = 3;
    637         repeated float  floatValue = 4;
    638         repeated bytes  charValue = 5;
    639         repeated bytes  rawBytes = 6;
    640         repeated bool   boolValue = 7;
    641         repeated int64  int64Value = 8;
    642     }
    643 
    644     message FrameBuffer {
    645         required int32  width = 1;
    646         required int32  height = 2;
    647         repeated bytes  contents = 3;
    648     }
    649 
    650     required int32      context_id = 1;                     // GL context ID
    651     required int64      start_time = 2;                     // time when call was invoked
    652     required int32      duration = 3;                       // duration of the call (MONOTONIC TIME)
    653 
    654     required Function   function = 4 [default = invalid];   // GL function called
    655     repeated DataType   args = 5;                           // GL function's arguments
    656     optional DataType   returnValue = 6;                    // GL function's return value
    657 
    658     optional FrameBuffer fb = 7;                            // contents of the framebuffer
    659 
    660     optional int32      threadtime = 8;                     // duration of the call (THREAD TIME)
    661 };
    662