|  | /* | 
|  | * Copyright (C) 2011 The Android Open Source Project | 
|  | * | 
|  | * Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | * you may not use this file except in compliance with the License. | 
|  | * You may obtain a copy of the License at | 
|  | * | 
|  | *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, software | 
|  | * distributed under the License is distributed on an "AS IS" BASIS, | 
|  | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | * See the License for the specific language governing permissions and | 
|  | * limitations under the License. | 
|  | */ | 
|  |  | 
|  | package android.gltrace; | 
|  |  | 
|  | option optimize_for = LITE_RUNTIME; | 
|  |  | 
|  | option java_package = "com.android.ide.eclipse.gltrace"; | 
|  | option java_outer_classname = "GLProtoBuf"; | 
|  |  | 
|  | message GLMessage { | 
|  | enum Function { | 
|  | glActiveTexture = 0; | 
|  | glAlphaFunc = 1; | 
|  | glAlphaFuncx = 2; | 
|  | glAlphaFuncxOES = 3; | 
|  | glAttachShader = 4; | 
|  | glBeginPerfMonitorAMD = 5; | 
|  | glBindAttribLocation = 6; | 
|  | glBindBuffer = 7; | 
|  | glBindFramebuffer = 8; | 
|  | glBindFramebufferOES = 9; | 
|  | glBindRenderbuffer = 10; | 
|  | glBindRenderbufferOES = 11; | 
|  | glBindTexture = 12; | 
|  | glBindVertexArrayOES = 13; | 
|  | glBlendColor = 14; | 
|  | glBlendEquation = 15; | 
|  | glBlendEquationOES = 16; | 
|  | glBlendEquationSeparate = 17; | 
|  | glBlendEquationSeparateOES = 18; | 
|  | glBlendFunc = 19; | 
|  | glBlendFuncSeparate = 20; | 
|  | glBlendFuncSeparateOES = 21; | 
|  | glBufferData = 22; | 
|  | glBufferSubData = 23; | 
|  | glCheckFramebufferStatus = 24; | 
|  | glCheckFramebufferStatusOES = 25; | 
|  | glClearColor = 26; | 
|  | glClearColorx = 27; | 
|  | glClearColorxOES = 28; | 
|  | glClearDepthf = 29; | 
|  | glClearDepthfOES = 30; | 
|  | glClearDepthx = 31; | 
|  | glClearDepthxOES = 32; | 
|  | glClear = 33; | 
|  | glClearStencil = 34; | 
|  | glClientActiveTexture = 35; | 
|  | glClipPlanef = 36; | 
|  | glClipPlanefIMG = 37; | 
|  | glClipPlanefOES = 38; | 
|  | glClipPlanex = 39; | 
|  | glClipPlanexIMG = 40; | 
|  | glClipPlanexOES = 41; | 
|  | glColor4f = 42; | 
|  | glColor4ub = 43; | 
|  | glColor4x = 44; | 
|  | glColor4xOES = 45; | 
|  | glColorMask = 46; | 
|  | glColorPointer = 47; | 
|  | glCompileShader = 48; | 
|  | glCompressedTexImage2D = 49; | 
|  | glCompressedTexImage3DOES = 50; | 
|  | glCompressedTexSubImage2D = 51; | 
|  | glCompressedTexSubImage3DOES = 52; | 
|  | glCopyTexImage2D = 53; | 
|  | glCopyTexSubImage2D = 54; | 
|  | glCopyTexSubImage3DOES = 55; | 
|  | glCoverageMaskNV = 56; | 
|  | glCoverageOperationNV = 57; | 
|  | glCreateProgram = 58; | 
|  | glCreateShader = 59; | 
|  | glCullFace = 60; | 
|  | glCurrentPaletteMatrixOES = 61; | 
|  | glDeleteBuffers = 62; | 
|  | glDeleteFencesNV = 63; | 
|  | glDeleteFramebuffers = 64; | 
|  | glDeleteFramebuffersOES = 65; | 
|  | glDeletePerfMonitorsAMD = 66; | 
|  | glDeleteProgram = 67; | 
|  | glDeleteRenderbuffers = 68; | 
|  | glDeleteRenderbuffersOES = 69; | 
|  | glDeleteShader = 70; | 
|  | glDeleteTextures = 71; | 
|  | glDeleteVertexArraysOES = 72; | 
|  | glDepthFunc = 73; | 
|  | glDepthMask = 74; | 
|  | glDepthRangef = 75; | 
|  | glDepthRangefOES = 76; | 
|  | glDepthRangex = 77; | 
|  | glDepthRangexOES = 78; | 
|  | glDetachShader = 79; | 
|  | glDisableClientState = 80; | 
|  | glDisableDriverControlQCOM = 81; | 
|  | glDisable = 82; | 
|  | glDisableVertexAttribArray = 83; | 
|  | glDiscardFramebufferEXT = 84; | 
|  | glDrawArrays = 85; | 
|  | glDrawElements = 86; | 
|  | glDrawTexfOES = 87; | 
|  | glDrawTexfvOES = 88; | 
|  | glDrawTexiOES = 89; | 
|  | glDrawTexivOES = 90; | 
|  | glDrawTexsOES = 91; | 
|  | glDrawTexsvOES = 92; | 
|  | glDrawTexxOES = 93; | 
|  | glDrawTexxvOES = 94; | 
|  | glEGLImageTargetRenderbufferStorageOES = 95; | 
|  | glEGLImageTargetTexture2DOES = 96; | 
|  | glEnableClientState = 97; | 
|  | glEnableDriverControlQCOM = 98; | 
|  | glEnable = 99; | 
|  | glEnableVertexAttribArray = 100; | 
|  | glEndPerfMonitorAMD = 101; | 
|  | glEndTilingQCOM = 102; | 
|  | glExtGetBufferPointervQCOM = 103; | 
|  | glExtGetBuffersQCOM = 104; | 
|  | glExtGetFramebuffersQCOM = 105; | 
|  | glExtGetProgramBinarySourceQCOM = 106; | 
|  | glExtGetProgramsQCOM = 107; | 
|  | glExtGetRenderbuffersQCOM = 108; | 
|  | glExtGetShadersQCOM = 109; | 
|  | glExtGetTexLevelParameterivQCOM = 110; | 
|  | glExtGetTexSubImageQCOM = 111; | 
|  | glExtGetTexturesQCOM = 112; | 
|  | glExtIsProgramBinaryQCOM = 113; | 
|  | glExtTexObjectStateOverrideiQCOM = 114; | 
|  | glFinishFenceNV = 115; | 
|  | glFinish = 116; | 
|  | glFlush = 117; | 
|  | glFogf = 118; | 
|  | glFogfv = 119; | 
|  | glFogx = 120; | 
|  | glFogxOES = 121; | 
|  | glFogxv = 122; | 
|  | glFogxvOES = 123; | 
|  | glFramebufferRenderbuffer = 124; | 
|  | glFramebufferRenderbufferOES = 125; | 
|  | glFramebufferTexture2D = 126; | 
|  | glFramebufferTexture2DMultisampleIMG = 127; | 
|  | glFramebufferTexture2DOES = 128; | 
|  | glFramebufferTexture3DOES = 129; | 
|  | glFrontFace = 130; | 
|  | glFrustumf = 131; | 
|  | glFrustumfOES = 132; | 
|  | glFrustumx = 133; | 
|  | glFrustumxOES = 134; | 
|  | glGenBuffers = 135; | 
|  | glGenerateMipmap = 136; | 
|  | glGenerateMipmapOES = 137; | 
|  | glGenFencesNV = 138; | 
|  | glGenFramebuffers = 139; | 
|  | glGenFramebuffersOES = 140; | 
|  | glGenPerfMonitorsAMD = 141; | 
|  | glGenRenderbuffers = 142; | 
|  | glGenRenderbuffersOES = 143; | 
|  | glGenTextures = 144; | 
|  | glGenVertexArraysOES = 145; | 
|  | glGetActiveAttrib = 146; | 
|  | glGetActiveUniform = 147; | 
|  | glGetAttachedShaders = 148; | 
|  | glGetAttribLocation = 149; | 
|  | glGetBooleanv = 150; | 
|  | glGetBufferParameteriv = 151; | 
|  | glGetBufferPointervOES = 152; | 
|  | glGetClipPlanef = 153; | 
|  | glGetClipPlanefOES = 154; | 
|  | glGetClipPlanex = 155; | 
|  | glGetClipPlanexOES = 156; | 
|  | glGetDriverControlsQCOM = 157; | 
|  | glGetDriverControlStringQCOM = 158; | 
|  | glGetError = 159; | 
|  | glGetFenceivNV = 160; | 
|  | glGetFixedv = 161; | 
|  | glGetFixedvOES = 162; | 
|  | glGetFloatv = 163; | 
|  | glGetFramebufferAttachmentParameteriv = 164; | 
|  | glGetFramebufferAttachmentParameterivOES = 165; | 
|  | glGetIntegerv = 166; | 
|  | glGetLightfv = 167; | 
|  | glGetLightxv = 168; | 
|  | glGetLightxvOES = 169; | 
|  | glGetMaterialfv = 170; | 
|  | glGetMaterialxv = 171; | 
|  | glGetMaterialxvOES = 172; | 
|  | glGetPerfMonitorCounterDataAMD = 173; | 
|  | glGetPerfMonitorCounterInfoAMD = 174; | 
|  | glGetPerfMonitorCountersAMD = 175; | 
|  | glGetPerfMonitorCounterStringAMD = 176; | 
|  | glGetPerfMonitorGroupsAMD = 177; | 
|  | glGetPerfMonitorGroupStringAMD = 178; | 
|  | glGetPointerv = 179; | 
|  | glGetProgramBinaryOES = 180; | 
|  | glGetProgramInfoLog = 181; | 
|  | glGetProgramiv = 182; | 
|  | glGetRenderbufferParameteriv = 183; | 
|  | glGetRenderbufferParameterivOES = 184; | 
|  | glGetShaderInfoLog = 185; | 
|  | glGetShaderiv = 186; | 
|  | glGetShaderPrecisionFormat = 187; | 
|  | glGetShaderSource = 188; | 
|  | glGetString = 189; | 
|  | glGetTexEnvfv = 190; | 
|  | glGetTexEnviv = 191; | 
|  | glGetTexEnvxv = 192; | 
|  | glGetTexEnvxvOES = 193; | 
|  | glGetTexGenfvOES = 194; | 
|  | glGetTexGenivOES = 195; | 
|  | glGetTexGenxvOES = 196; | 
|  | glGetTexParameterfv = 197; | 
|  | glGetTexParameteriv = 198; | 
|  | glGetTexParameterxv = 199; | 
|  | glGetTexParameterxvOES = 200; | 
|  | glGetUniformfv = 201; | 
|  | glGetUniformiv = 202; | 
|  | glGetUniformLocation = 203; | 
|  | glGetVertexAttribfv = 204; | 
|  | glGetVertexAttribiv = 205; | 
|  | glGetVertexAttribPointerv = 206; | 
|  | glHint = 207; | 
|  | glIsBuffer = 208; | 
|  | glIsEnabled = 209; | 
|  | glIsFenceNV = 210; | 
|  | glIsFramebuffer = 211; | 
|  | glIsFramebufferOES = 212; | 
|  | glIsProgram = 213; | 
|  | glIsRenderbuffer = 214; | 
|  | glIsRenderbufferOES = 215; | 
|  | glIsShader = 216; | 
|  | glIsTexture = 217; | 
|  | glIsVertexArrayOES = 218; | 
|  | glLightf = 219; | 
|  | glLightfv = 220; | 
|  | glLightModelf = 221; | 
|  | glLightModelfv = 222; | 
|  | glLightModelx = 223; | 
|  | glLightModelxOES = 224; | 
|  | glLightModelxv = 225; | 
|  | glLightModelxvOES = 226; | 
|  | glLightx = 227; | 
|  | glLightxOES = 228; | 
|  | glLightxv = 229; | 
|  | glLightxvOES = 230; | 
|  | glLineWidth = 231; | 
|  | glLineWidthx = 232; | 
|  | glLineWidthxOES = 233; | 
|  | glLinkProgram = 234; | 
|  | glLoadIdentity = 235; | 
|  | glLoadMatrixf = 236; | 
|  | glLoadMatrixx = 237; | 
|  | glLoadMatrixxOES = 238; | 
|  | glLoadPaletteFromModelViewMatrixOES = 239; | 
|  | glLogicOp = 240; | 
|  | glMapBufferOES = 241; | 
|  | glMaterialf = 242; | 
|  | glMaterialfv = 243; | 
|  | glMaterialx = 244; | 
|  | glMaterialxOES = 245; | 
|  | glMaterialxv = 246; | 
|  | glMaterialxvOES = 247; | 
|  | glMatrixIndexPointerOES = 248; | 
|  | glMatrixMode = 249; | 
|  | glMultiDrawArraysEXT = 250; | 
|  | glMultiDrawElementsEXT = 251; | 
|  | glMultiTexCoord4f = 252; | 
|  | glMultiTexCoord4x = 253; | 
|  | glMultiTexCoord4xOES = 254; | 
|  | glMultMatrixf = 255; | 
|  | glMultMatrixx = 256; | 
|  | glMultMatrixxOES = 257; | 
|  | glNormal3f = 258; | 
|  | glNormal3x = 259; | 
|  | glNormal3xOES = 260; | 
|  | glNormalPointer = 261; | 
|  | glOrthof = 262; | 
|  | glOrthofOES = 263; | 
|  | glOrthox = 264; | 
|  | glOrthoxOES = 265; | 
|  | glPixelStorei = 266; | 
|  | glPointParameterf = 267; | 
|  | glPointParameterfv = 268; | 
|  | glPointParameterx = 269; | 
|  | glPointParameterxOES = 270; | 
|  | glPointParameterxv = 271; | 
|  | glPointParameterxvOES = 272; | 
|  | glPointSize = 273; | 
|  | glPointSizePointerOES = 274; | 
|  | glPointSizex = 275; | 
|  | glPointSizexOES = 276; | 
|  | glPolygonOffset = 277; | 
|  | glPolygonOffsetx = 278; | 
|  | glPolygonOffsetxOES = 279; | 
|  | glPopMatrix = 280; | 
|  | glProgramBinaryOES = 281; | 
|  | glPushMatrix = 282; | 
|  | glQueryMatrixxOES = 283; | 
|  | glReadPixels = 284; | 
|  | glReleaseShaderCompiler = 285; | 
|  | glRenderbufferStorage = 286; | 
|  | glRenderbufferStorageMultisampleIMG = 287; | 
|  | glRenderbufferStorageOES = 288; | 
|  | glRotatef = 289; | 
|  | glRotatex = 290; | 
|  | glRotatexOES = 291; | 
|  | glSampleCoverage = 292; | 
|  | glSampleCoveragex = 293; | 
|  | glSampleCoveragexOES = 294; | 
|  | glScalef = 295; | 
|  | glScalex = 296; | 
|  | glScalexOES = 297; | 
|  | glScissor = 298; | 
|  | glSelectPerfMonitorCountersAMD = 299; | 
|  | glSetFenceNV = 300; | 
|  | glShadeModel = 301; | 
|  | glShaderBinary = 302; | 
|  | glShaderSource = 303; | 
|  | glStartTilingQCOM = 304; | 
|  | glStencilFunc = 305; | 
|  | glStencilFuncSeparate = 306; | 
|  | glStencilMask = 307; | 
|  | glStencilMaskSeparate = 308; | 
|  | glStencilOp = 309; | 
|  | glStencilOpSeparate = 310; | 
|  | glTestFenceNV = 311; | 
|  | glTexCoordPointer = 312; | 
|  | glTexEnvf = 313; | 
|  | glTexEnvfv = 314; | 
|  | glTexEnvi = 315; | 
|  | glTexEnviv = 316; | 
|  | glTexEnvx = 317; | 
|  | glTexEnvxOES = 318; | 
|  | glTexEnvxv = 319; | 
|  | glTexEnvxvOES = 320; | 
|  | glTexGenfOES = 321; | 
|  | glTexGenfvOES = 322; | 
|  | glTexGeniOES = 323; | 
|  | glTexGenivOES = 324; | 
|  | glTexGenxOES = 325; | 
|  | glTexGenxvOES = 326; | 
|  | glTexImage2D = 327; | 
|  | glTexImage3DOES = 328; | 
|  | glTexParameterf = 329; | 
|  | glTexParameterfv = 330; | 
|  | glTexParameteri = 331; | 
|  | glTexParameteriv = 332; | 
|  | glTexParameterx = 333; | 
|  | glTexParameterxOES = 334; | 
|  | glTexParameterxv = 335; | 
|  | glTexParameterxvOES = 336; | 
|  | glTexSubImage2D = 337; | 
|  | glTexSubImage3DOES = 338; | 
|  | glTranslatef = 339; | 
|  | glTranslatex = 340; | 
|  | glTranslatexOES = 341; | 
|  | glUniform1f = 342; | 
|  | glUniform1fv = 343; | 
|  | glUniform1i = 344; | 
|  | glUniform1iv = 345; | 
|  | glUniform2f = 346; | 
|  | glUniform2fv = 347; | 
|  | glUniform2i = 348; | 
|  | glUniform2iv = 349; | 
|  | glUniform3f = 350; | 
|  | glUniform3fv = 351; | 
|  | glUniform3i = 352; | 
|  | glUniform3iv = 353; | 
|  | glUniform4f = 354; | 
|  | glUniform4fv = 355; | 
|  | glUniform4i = 356; | 
|  | glUniform4iv = 357; | 
|  | glUniformMatrix2fv = 358; | 
|  | glUniformMatrix3fv = 359; | 
|  | glUniformMatrix4fv = 360; | 
|  | glUnmapBufferOES = 361; | 
|  | glUseProgram = 362; | 
|  | glValidateProgram = 363; | 
|  | glVertexAttrib1f = 364; | 
|  | glVertexAttrib1fv = 365; | 
|  | glVertexAttrib2f = 366; | 
|  | glVertexAttrib2fv = 367; | 
|  | glVertexAttrib3f = 368; | 
|  | glVertexAttrib3fv = 369; | 
|  | glVertexAttrib4f = 370; | 
|  | glVertexAttrib4fv = 371; | 
|  | glVertexAttribPointer = 372; | 
|  | glVertexPointer = 373; | 
|  | glViewport = 374; | 
|  | glWeightPointerOES = 375; | 
|  |  | 
|  | glActiveShaderProgramEXT = 502; | 
|  | glAlphaFuncQCOM = 503; | 
|  | glBeginQueryEXT = 504; | 
|  | glBindProgramPipelineEXT = 505; | 
|  | glBlitFramebufferANGLE = 506; | 
|  | glCreateShaderProgramvEXT = 507; | 
|  | glDeleteProgramPipelinesEXT = 508; | 
|  | glDeleteQueriesEXT = 509; | 
|  | glDrawBuffersNV = 510; | 
|  | glEndQueryEXT = 511; | 
|  | glFramebufferTexture2DMultisampleEXT = 512; | 
|  | glGenProgramPipelinesEXT = 513; | 
|  | glGenQueriesEXT = 514; | 
|  | glGetGraphicsResetStatusEXT = 515; | 
|  | glGetObjectLabelEXT = 516; | 
|  | glGetProgramPipelineInfoLogEXT = 517; | 
|  | glGetProgramPipelineivEXT = 518; | 
|  | glGetQueryObjectuivEXT = 519; | 
|  | glGetQueryivEXT = 520; | 
|  | glGetnUniformfvEXT = 521; | 
|  | glGetnUniformivEXT = 521; | 
|  | glInsertEventMarkerEXT = 522; | 
|  | glIsProgramPipelineEXT = 523; | 
|  | glIsQueryEXT = 524; | 
|  | glLabelObjectEXT = 525; | 
|  | glPopGroupMarkerEXT = 526; | 
|  | glProgramParameteriEXT = 527; | 
|  | glProgramUniform1fEXT = 528; | 
|  | glProgramUniform1fvEXT = 529; | 
|  | glProgramUniform1iEXT = 530; | 
|  | glProgramUniform1ivEXT = 531; | 
|  | glProgramUniform2fEXT = 532; | 
|  | glProgramUniform2fvEXT = 533; | 
|  | glProgramUniform2iEXT = 534; | 
|  | glProgramUniform2ivEXT = 535; | 
|  | glProgramUniform3fEXT = 536; | 
|  | glProgramUniform3fvEXT = 537; | 
|  | glProgramUniform3iEXT = 538; | 
|  | glProgramUniform3ivEXT = 539; | 
|  | glProgramUniform4fEXT = 540; | 
|  | glProgramUniform4fvEXT = 541; | 
|  | glProgramUniform4iEXT = 542; | 
|  | glProgramUniform4ivEXT = 543; | 
|  | glProgramUniformMatrix2fvEXT = 544; | 
|  | glProgramUniformMatrix3fvEXT = 545; | 
|  | glProgramUniformMatrix4fvEXT = 546; | 
|  | glPushGroupMarkerEXT = 547; | 
|  | glReadBufferNV = 548; | 
|  | glReadnPixelsEXT = 549; | 
|  | glRenderbufferStorageMultisampleANGLE = 550; | 
|  | glRenderbufferStorageMultisampleAPPLE = 551; | 
|  | glRenderbufferStorageMultisampleEXT = 552; | 
|  | glResolveMultisampleFramebufferAPPLE = 553; | 
|  | glTexStorage1DEXT = 554; | 
|  | glTexStorage2DEXT = 555; | 
|  | glTexStorage3DEXT = 556; | 
|  | glTextureStorage1DEXT = 557; | 
|  | glTextureStorage2DEXT = 558; | 
|  | glTextureStorage3DEXT = 559; | 
|  | glUseProgramStagesEXT = 560; | 
|  | glValidateProgramPipelineEXT = 561; | 
|  |  | 
|  | eglGetDisplay = 2000; | 
|  | eglInitialize = 2001; | 
|  | eglTerminate = 2002; | 
|  | eglGetConfigs = 2003; | 
|  | eglChooseConfig = 2004; | 
|  | eglGetConfigAttrib = 2005; | 
|  | eglCreateWindowSurface = 2006; | 
|  | eglCreatePixmapSurface = 2007; | 
|  | eglCreatePbufferSurface = 2008; | 
|  | eglDestroySurface = 2009; | 
|  | eglQuerySurface = 2010; | 
|  | eglCreateContext = 2011; | 
|  | eglDestroyContext = 2012; | 
|  | eglMakeCurrent = 2013; | 
|  | eglGetCurrentContext = 2014; | 
|  | eglGetCurrentSurface = 2015; | 
|  | eglGetCurrentDisplay = 2016; | 
|  | eglQueryContext = 2017; | 
|  | eglWaitGL = 2018; | 
|  | eglWaitNative = 2019; | 
|  | eglSwapBuffers = 2020; | 
|  | eglCopyBuffers = 2021; | 
|  | eglGetError = 2022; | 
|  | eglQueryString = 2023; | 
|  | eglGetProcAddress = 2024; | 
|  | eglSurfaceAttrib = 2025; | 
|  | eglBindTexImage = 2026; | 
|  | eglReleaseTexImage = 2027; | 
|  | eglSwapInterval = 2028; | 
|  | eglBindAPI = 2029; | 
|  | eglQueryAPI = 2030; | 
|  | eglWaitClient = 2031; | 
|  | eglReleaseThread = 2032; | 
|  | eglCreatePbufferFromClientBuffer = 2033; | 
|  | eglLockSurfaceKHR = 2034; | 
|  | eglUnlockSurfaceKHR = 2035; | 
|  | eglCreateImageKHR = 2036; | 
|  | eglDestroyImageKHR = 2037; | 
|  | eglCreateSyncKHR = 2038; | 
|  | eglDestroySyncKHR = 2039; | 
|  | eglClientWaitSyncKHR = 2040; | 
|  | eglGetSyncAttribKHR = 2041; | 
|  | eglSetSwapRectangleANDROID = 2042; | 
|  | eglGetRenderBufferANDROID = 2043; | 
|  | eglGetSystemTimeFrequencyNV = 2044; | 
|  | eglGetSystemTimeNV = 2045; | 
|  |  | 
|  | invalid = 3000; | 
|  | glVertexAttribPointerData = 3001; | 
|  | } | 
|  |  | 
|  | // A GL call's return data and arguments are formatted into this DataType | 
|  | message DataType { | 
|  | enum Type { | 
|  | VOID = 1;       // GLvoid | 
|  | CHAR = 2;       // GLchar | 
|  | BYTE = 3;       // GLbyte, GLubyte | 
|  | INT = 4;        // GLbitfield, GLshort, GLint, GLsizei, GLushort, GLuint, GLfixed | 
|  | FLOAT = 5;      // GLfloat, GLclampf | 
|  | BOOL = 6;       // GLboolean | 
|  | ENUM = 7;       // GLenum | 
|  | }; | 
|  |  | 
|  | required Type   type = 1 [default = VOID]; | 
|  | required bool   isArray = 2 [default = false]; | 
|  |  | 
|  | repeated int32  intValue = 3; | 
|  | repeated float  floatValue = 4; | 
|  | repeated bytes  charValue = 5; | 
|  | repeated bytes  rawBytes = 6; | 
|  | repeated bool   boolValue = 7; | 
|  | } | 
|  |  | 
|  | message FrameBuffer { | 
|  | required int32  width = 1; | 
|  | required int32  height = 2; | 
|  | repeated bytes  contents = 3; | 
|  | } | 
|  |  | 
|  | required int32      context_id = 1;                     // GL context ID | 
|  | required int64      start_time = 2;                     // time when call was invoked | 
|  | required int32      duration = 3;                       // duration of the call (MONOTONIC TIME) | 
|  |  | 
|  | required Function   function = 4 [default = invalid];   // GL function called | 
|  | repeated DataType   args = 5;                           // GL function's arguments | 
|  | optional DataType   returnValue = 6;                    // GL function's return value | 
|  |  | 
|  | optional FrameBuffer fb = 7;                            // contents of the framebuffer | 
|  |  | 
|  | optional int32      threadtime = 8;                     // duration of the call (THREAD TIME) | 
|  | }; |