// Generated by the protocol buffer compiler.  DO NOT EDIT!

#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "gltrace.pb.h"
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
// @@protoc_insertion_point(includes)

namespace android {
namespace gltrace {

void protobuf_ShutdownFile_gltrace_2eproto() {
  delete GLMessage::default_instance_;
  delete GLMessage_DataType::default_instance_;
  delete GLMessage_FrameBuffer::default_instance_;
}

void protobuf_AddDesc_gltrace_2eproto() {
  static bool already_here = false;
  if (already_here) return;
  already_here = true;
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  GLMessage::default_instance_ = new GLMessage();
  GLMessage_DataType::default_instance_ = new GLMessage_DataType();
  GLMessage_FrameBuffer::default_instance_ = new GLMessage_FrameBuffer();
  GLMessage::default_instance_->InitAsDefaultInstance();
  GLMessage_DataType::default_instance_->InitAsDefaultInstance();
  GLMessage_FrameBuffer::default_instance_->InitAsDefaultInstance();
  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_gltrace_2eproto);
}

// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_gltrace_2eproto {
  StaticDescriptorInitializer_gltrace_2eproto() {
    protobuf_AddDesc_gltrace_2eproto();
  }
} static_descriptor_initializer_gltrace_2eproto_;


// ===================================================================

bool GLMessage_Function_IsValid(int value) {
  switch(value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
    case 25:
    case 26:
    case 27:
    case 28:
    case 29:
    case 30:
    case 31:
    case 32:
    case 33:
    case 34:
    case 35:
    case 36:
    case 37:
    case 38:
    case 39:
    case 40:
    case 41:
    case 42:
    case 43:
    case 44:
    case 45:
    case 46:
    case 47:
    case 48:
    case 49:
    case 50:
    case 51:
    case 52:
    case 53:
    case 54:
    case 55:
    case 56:
    case 57:
    case 58:
    case 59:
    case 60:
    case 61:
    case 62:
    case 63:
    case 64:
    case 65:
    case 66:
    case 67:
    case 68:
    case 69:
    case 70:
    case 71:
    case 72:
    case 73:
    case 74:
    case 75:
    case 76:
    case 77:
    case 78:
    case 79:
    case 80:
    case 81:
    case 82:
    case 83:
    case 84:
    case 85:
    case 86:
    case 87:
    case 88:
    case 89:
    case 90:
    case 91:
    case 92:
    case 93:
    case 94:
    case 95:
    case 96:
    case 97:
    case 98:
    case 99:
    case 100:
    case 101:
    case 102:
    case 103:
    case 104:
    case 105:
    case 106:
    case 107:
    case 108:
    case 109:
    case 110:
    case 111:
    case 112:
    case 113:
    case 114:
    case 115:
    case 116:
    case 117:
    case 118:
    case 119:
    case 120:
    case 121:
    case 122:
    case 123:
    case 124:
    case 125:
    case 126:
    case 127:
    case 128:
    case 129:
    case 130:
    case 131:
    case 132:
    case 133:
    case 134:
    case 135:
    case 136:
    case 137:
    case 138:
    case 139:
    case 140:
    case 141:
    case 142:
    case 143:
    case 144:
    case 145:
    case 146:
    case 147:
    case 148:
    case 149:
    case 150:
    case 151:
    case 152:
    case 153:
    case 154:
    case 155:
    case 156:
    case 157:
    case 158:
    case 159:
    case 160:
    case 161:
    case 162:
    case 163:
    case 164:
    case 165:
    case 166:
    case 167:
    case 168:
    case 169:
    case 170:
    case 171:
    case 172:
    case 173:
    case 174:
    case 175:
    case 176:
    case 177:
    case 178:
    case 179:
    case 180:
    case 181:
    case 182:
    case 183:
    case 184:
    case 185:
    case 186:
    case 187:
    case 188:
    case 189:
    case 190:
    case 191:
    case 192:
    case 193:
    case 194:
    case 195:
    case 196:
    case 197:
    case 198:
    case 199:
    case 200:
    case 201:
    case 202:
    case 203:
    case 204:
    case 205:
    case 206:
    case 207:
    case 208:
    case 209:
    case 210:
    case 211:
    case 212:
    case 213:
    case 214:
    case 215:
    case 216:
    case 217:
    case 218:
    case 219:
    case 220:
    case 221:
    case 222:
    case 223:
    case 224:
    case 225:
    case 226:
    case 227:
    case 228:
    case 229:
    case 230:
    case 231:
    case 232:
    case 233:
    case 234:
    case 235:
    case 236:
    case 237:
    case 238:
    case 239:
    case 240:
    case 241:
    case 242:
    case 243:
    case 244:
    case 245:
    case 246:
    case 247:
    case 248:
    case 249:
    case 250:
    case 251:
    case 252:
    case 253:
    case 254:
    case 255:
    case 256:
    case 257:
    case 258:
    case 259:
    case 260:
    case 261:
    case 262:
    case 263:
    case 264:
    case 265:
    case 266:
    case 267:
    case 268:
    case 269:
    case 270:
    case 271:
    case 272:
    case 273:
    case 274:
    case 275:
    case 276:
    case 277:
    case 278:
    case 279:
    case 280:
    case 281:
    case 282:
    case 283:
    case 284:
    case 285:
    case 286:
    case 287:
    case 288:
    case 289:
    case 290:
    case 291:
    case 292:
    case 293:
    case 294:
    case 295:
    case 296:
    case 297:
    case 298:
    case 299:
    case 300:
    case 301:
    case 302:
    case 303:
    case 304:
    case 305:
    case 306:
    case 307:
    case 308:
    case 309:
    case 310:
    case 311:
    case 312:
    case 313:
    case 314:
    case 315:
    case 316:
    case 317:
    case 318:
    case 319:
    case 320:
    case 321:
    case 322:
    case 323:
    case 324:
    case 325:
    case 326:
    case 327:
    case 328:
    case 329:
    case 330:
    case 331:
    case 332:
    case 333:
    case 334:
    case 335:
    case 336:
    case 337:
    case 338:
    case 339:
    case 340:
    case 341:
    case 342:
    case 343:
    case 344:
    case 345:
    case 346:
    case 347:
    case 348:
    case 349:
    case 350:
    case 351:
    case 352:
    case 353:
    case 354:
    case 355:
    case 356:
    case 357:
    case 358:
    case 359:
    case 360:
    case 361:
    case 362:
    case 363:
    case 364:
    case 365:
    case 366:
    case 367:
    case 368:
    case 369:
    case 370:
    case 371:
    case 372:
    case 373:
    case 374:
    case 375:
    case 502:
    case 503:
    case 504:
    case 505:
    case 506:
    case 507:
    case 508:
    case 509:
    case 510:
    case 511:
    case 512:
    case 513:
    case 514:
    case 515:
    case 516:
    case 517:
    case 518:
    case 519:
    case 520:
    case 521:
    case 522:
    case 523:
    case 524:
    case 525:
    case 526:
    case 527:
    case 528:
    case 529:
    case 530:
    case 531:
    case 532:
    case 533:
    case 534:
    case 535:
    case 536:
    case 537:
    case 538:
    case 539:
    case 540:
    case 541:
    case 542:
    case 543:
    case 544:
    case 545:
    case 546:
    case 547:
    case 548:
    case 549:
    case 550:
    case 551:
    case 552:
    case 553:
    case 554:
    case 555:
    case 556:
    case 557:
    case 558:
    case 559:
    case 560:
    case 561:
    case 2000:
    case 2001:
    case 2002:
    case 2003:
    case 2004:
    case 2005:
    case 2006:
    case 2007:
    case 2008:
    case 2009:
    case 2010:
    case 2011:
    case 2012:
    case 2013:
    case 2014:
    case 2015:
    case 2016:
    case 2017:
    case 2018:
    case 2019:
    case 2020:
    case 2021:
    case 2022:
    case 2023:
    case 2024:
    case 2025:
    case 2026:
    case 2027:
    case 2028:
    case 2029:
    case 2030:
    case 2031:
    case 2032:
    case 2033:
    case 2034:
    case 2035:
    case 2036:
    case 2037:
    case 2038:
    case 2039:
    case 2040:
    case 2041:
    case 2042:
    case 2043:
    case 2044:
    case 2045:
    case 3000:
    case 3001:
      return true;
    default:
      return false;
  }
}

#ifndef _MSC_VER
const GLMessage_Function GLMessage::glActiveTexture;
const GLMessage_Function GLMessage::glAlphaFunc;
const GLMessage_Function GLMessage::glAlphaFuncx;
const GLMessage_Function GLMessage::glAlphaFuncxOES;
const GLMessage_Function GLMessage::glAttachShader;
const GLMessage_Function GLMessage::glBeginPerfMonitorAMD;
const GLMessage_Function GLMessage::glBindAttribLocation;
const GLMessage_Function GLMessage::glBindBuffer;
const GLMessage_Function GLMessage::glBindFramebuffer;
const GLMessage_Function GLMessage::glBindFramebufferOES;
const GLMessage_Function GLMessage::glBindRenderbuffer;
const GLMessage_Function GLMessage::glBindRenderbufferOES;
const GLMessage_Function GLMessage::glBindTexture;
const GLMessage_Function GLMessage::glBindVertexArrayOES;
const GLMessage_Function GLMessage::glBlendColor;
const GLMessage_Function GLMessage::glBlendEquation;
const GLMessage_Function GLMessage::glBlendEquationOES;
const GLMessage_Function GLMessage::glBlendEquationSeparate;
const GLMessage_Function GLMessage::glBlendEquationSeparateOES;
const GLMessage_Function GLMessage::glBlendFunc;
const GLMessage_Function GLMessage::glBlendFuncSeparate;
const GLMessage_Function GLMessage::glBlendFuncSeparateOES;
const GLMessage_Function GLMessage::glBufferData;
const GLMessage_Function GLMessage::glBufferSubData;
const GLMessage_Function GLMessage::glCheckFramebufferStatus;
const GLMessage_Function GLMessage::glCheckFramebufferStatusOES;
const GLMessage_Function GLMessage::glClearColor;
const GLMessage_Function GLMessage::glClearColorx;
const GLMessage_Function GLMessage::glClearColorxOES;
const GLMessage_Function GLMessage::glClearDepthf;
const GLMessage_Function GLMessage::glClearDepthfOES;
const GLMessage_Function GLMessage::glClearDepthx;
const GLMessage_Function GLMessage::glClearDepthxOES;
const GLMessage_Function GLMessage::glClear;
const GLMessage_Function GLMessage::glClearStencil;
const GLMessage_Function GLMessage::glClientActiveTexture;
const GLMessage_Function GLMessage::glClipPlanef;
const GLMessage_Function GLMessage::glClipPlanefIMG;
const GLMessage_Function GLMessage::glClipPlanefOES;
const GLMessage_Function GLMessage::glClipPlanex;
const GLMessage_Function GLMessage::glClipPlanexIMG;
const GLMessage_Function GLMessage::glClipPlanexOES;
const GLMessage_Function GLMessage::glColor4f;
const GLMessage_Function GLMessage::glColor4ub;
const GLMessage_Function GLMessage::glColor4x;
const GLMessage_Function GLMessage::glColor4xOES;
const GLMessage_Function GLMessage::glColorMask;
const GLMessage_Function GLMessage::glColorPointer;
const GLMessage_Function GLMessage::glCompileShader;
const GLMessage_Function GLMessage::glCompressedTexImage2D;
const GLMessage_Function GLMessage::glCompressedTexImage3DOES;
const GLMessage_Function GLMessage::glCompressedTexSubImage2D;
const GLMessage_Function GLMessage::glCompressedTexSubImage3DOES;
const GLMessage_Function GLMessage::glCopyTexImage2D;
const GLMessage_Function GLMessage::glCopyTexSubImage2D;
const GLMessage_Function GLMessage::glCopyTexSubImage3DOES;
const GLMessage_Function GLMessage::glCoverageMaskNV;
const GLMessage_Function GLMessage::glCoverageOperationNV;
const GLMessage_Function GLMessage::glCreateProgram;
const GLMessage_Function GLMessage::glCreateShader;
const GLMessage_Function GLMessage::glCullFace;
const GLMessage_Function GLMessage::glCurrentPaletteMatrixOES;
const GLMessage_Function GLMessage::glDeleteBuffers;
const GLMessage_Function GLMessage::glDeleteFencesNV;
const GLMessage_Function GLMessage::glDeleteFramebuffers;
const GLMessage_Function GLMessage::glDeleteFramebuffersOES;
const GLMessage_Function GLMessage::glDeletePerfMonitorsAMD;
const GLMessage_Function GLMessage::glDeleteProgram;
const GLMessage_Function GLMessage::glDeleteRenderbuffers;
const GLMessage_Function GLMessage::glDeleteRenderbuffersOES;
const GLMessage_Function GLMessage::glDeleteShader;
const GLMessage_Function GLMessage::glDeleteTextures;
const GLMessage_Function GLMessage::glDeleteVertexArraysOES;
const GLMessage_Function GLMessage::glDepthFunc;
const GLMessage_Function GLMessage::glDepthMask;
const GLMessage_Function GLMessage::glDepthRangef;
const GLMessage_Function GLMessage::glDepthRangefOES;
const GLMessage_Function GLMessage::glDepthRangex;
const GLMessage_Function GLMessage::glDepthRangexOES;
const GLMessage_Function GLMessage::glDetachShader;
const GLMessage_Function GLMessage::glDisableClientState;
const GLMessage_Function GLMessage::glDisableDriverControlQCOM;
const GLMessage_Function GLMessage::glDisable;
const GLMessage_Function GLMessage::glDisableVertexAttribArray;
const GLMessage_Function GLMessage::glDiscardFramebufferEXT;
const GLMessage_Function GLMessage::glDrawArrays;
const GLMessage_Function GLMessage::glDrawElements;
const GLMessage_Function GLMessage::glDrawTexfOES;
const GLMessage_Function GLMessage::glDrawTexfvOES;
const GLMessage_Function GLMessage::glDrawTexiOES;
const GLMessage_Function GLMessage::glDrawTexivOES;
const GLMessage_Function GLMessage::glDrawTexsOES;
const GLMessage_Function GLMessage::glDrawTexsvOES;
const GLMessage_Function GLMessage::glDrawTexxOES;
const GLMessage_Function GLMessage::glDrawTexxvOES;
const GLMessage_Function GLMessage::glEGLImageTargetRenderbufferStorageOES;
const GLMessage_Function GLMessage::glEGLImageTargetTexture2DOES;
const GLMessage_Function GLMessage::glEnableClientState;
const GLMessage_Function GLMessage::glEnableDriverControlQCOM;
const GLMessage_Function GLMessage::glEnable;
const GLMessage_Function GLMessage::glEnableVertexAttribArray;
const GLMessage_Function GLMessage::glEndPerfMonitorAMD;
const GLMessage_Function GLMessage::glEndTilingQCOM;
const GLMessage_Function GLMessage::glExtGetBufferPointervQCOM;
const GLMessage_Function GLMessage::glExtGetBuffersQCOM;
const GLMessage_Function GLMessage::glExtGetFramebuffersQCOM;
const GLMessage_Function GLMessage::glExtGetProgramBinarySourceQCOM;
const GLMessage_Function GLMessage::glExtGetProgramsQCOM;
const GLMessage_Function GLMessage::glExtGetRenderbuffersQCOM;
const GLMessage_Function GLMessage::glExtGetShadersQCOM;
const GLMessage_Function GLMessage::glExtGetTexLevelParameterivQCOM;
const GLMessage_Function GLMessage::glExtGetTexSubImageQCOM;
const GLMessage_Function GLMessage::glExtGetTexturesQCOM;
const GLMessage_Function GLMessage::glExtIsProgramBinaryQCOM;
const GLMessage_Function GLMessage::glExtTexObjectStateOverrideiQCOM;
const GLMessage_Function GLMessage::glFinishFenceNV;
const GLMessage_Function GLMessage::glFinish;
const GLMessage_Function GLMessage::glFlush;
const GLMessage_Function GLMessage::glFogf;
const GLMessage_Function GLMessage::glFogfv;
const GLMessage_Function GLMessage::glFogx;
const GLMessage_Function GLMessage::glFogxOES;
const GLMessage_Function GLMessage::glFogxv;
const GLMessage_Function GLMessage::glFogxvOES;
const GLMessage_Function GLMessage::glFramebufferRenderbuffer;
const GLMessage_Function GLMessage::glFramebufferRenderbufferOES;
const GLMessage_Function GLMessage::glFramebufferTexture2D;
const GLMessage_Function GLMessage::glFramebufferTexture2DMultisampleIMG;
const GLMessage_Function GLMessage::glFramebufferTexture2DOES;
const GLMessage_Function GLMessage::glFramebufferTexture3DOES;
const GLMessage_Function GLMessage::glFrontFace;
const GLMessage_Function GLMessage::glFrustumf;
const GLMessage_Function GLMessage::glFrustumfOES;
const GLMessage_Function GLMessage::glFrustumx;
const GLMessage_Function GLMessage::glFrustumxOES;
const GLMessage_Function GLMessage::glGenBuffers;
const GLMessage_Function GLMessage::glGenerateMipmap;
const GLMessage_Function GLMessage::glGenerateMipmapOES;
const GLMessage_Function GLMessage::glGenFencesNV;
const GLMessage_Function GLMessage::glGenFramebuffers;
const GLMessage_Function GLMessage::glGenFramebuffersOES;
const GLMessage_Function GLMessage::glGenPerfMonitorsAMD;
const GLMessage_Function GLMessage::glGenRenderbuffers;
const GLMessage_Function GLMessage::glGenRenderbuffersOES;
const GLMessage_Function GLMessage::glGenTextures;
const GLMessage_Function GLMessage::glGenVertexArraysOES;
const GLMessage_Function GLMessage::glGetActiveAttrib;
const GLMessage_Function GLMessage::glGetActiveUniform;
const GLMessage_Function GLMessage::glGetAttachedShaders;
const GLMessage_Function GLMessage::glGetAttribLocation;
const GLMessage_Function GLMessage::glGetBooleanv;
const GLMessage_Function GLMessage::glGetBufferParameteriv;
const GLMessage_Function GLMessage::glGetBufferPointervOES;
const GLMessage_Function GLMessage::glGetClipPlanef;
const GLMessage_Function GLMessage::glGetClipPlanefOES;
const GLMessage_Function GLMessage::glGetClipPlanex;
const GLMessage_Function GLMessage::glGetClipPlanexOES;
const GLMessage_Function GLMessage::glGetDriverControlsQCOM;
const GLMessage_Function GLMessage::glGetDriverControlStringQCOM;
const GLMessage_Function GLMessage::glGetError;
const GLMessage_Function GLMessage::glGetFenceivNV;
const GLMessage_Function GLMessage::glGetFixedv;
const GLMessage_Function GLMessage::glGetFixedvOES;
const GLMessage_Function GLMessage::glGetFloatv;
const GLMessage_Function GLMessage::glGetFramebufferAttachmentParameteriv;
const GLMessage_Function GLMessage::glGetFramebufferAttachmentParameterivOES;
const GLMessage_Function GLMessage::glGetIntegerv;
const GLMessage_Function GLMessage::glGetLightfv;
const GLMessage_Function GLMessage::glGetLightxv;
const GLMessage_Function GLMessage::glGetLightxvOES;
const GLMessage_Function GLMessage::glGetMaterialfv;
const GLMessage_Function GLMessage::glGetMaterialxv;
const GLMessage_Function GLMessage::glGetMaterialxvOES;
const GLMessage_Function GLMessage::glGetPerfMonitorCounterDataAMD;
const GLMessage_Function GLMessage::glGetPerfMonitorCounterInfoAMD;
const GLMessage_Function GLMessage::glGetPerfMonitorCountersAMD;
const GLMessage_Function GLMessage::glGetPerfMonitorCounterStringAMD;
const GLMessage_Function GLMessage::glGetPerfMonitorGroupsAMD;
const GLMessage_Function GLMessage::glGetPerfMonitorGroupStringAMD;
const GLMessage_Function GLMessage::glGetPointerv;
const GLMessage_Function GLMessage::glGetProgramBinaryOES;
const GLMessage_Function GLMessage::glGetProgramInfoLog;
const GLMessage_Function GLMessage::glGetProgramiv;
const GLMessage_Function GLMessage::glGetRenderbufferParameteriv;
const GLMessage_Function GLMessage::glGetRenderbufferParameterivOES;
const GLMessage_Function GLMessage::glGetShaderInfoLog;
const GLMessage_Function GLMessage::glGetShaderiv;
const GLMessage_Function GLMessage::glGetShaderPrecisionFormat;
const GLMessage_Function GLMessage::glGetShaderSource;
const GLMessage_Function GLMessage::glGetString;
const GLMessage_Function GLMessage::glGetTexEnvfv;
const GLMessage_Function GLMessage::glGetTexEnviv;
const GLMessage_Function GLMessage::glGetTexEnvxv;
const GLMessage_Function GLMessage::glGetTexEnvxvOES;
const GLMessage_Function GLMessage::glGetTexGenfvOES;
const GLMessage_Function GLMessage::glGetTexGenivOES;
const GLMessage_Function GLMessage::glGetTexGenxvOES;
const GLMessage_Function GLMessage::glGetTexParameterfv;
const GLMessage_Function GLMessage::glGetTexParameteriv;
const GLMessage_Function GLMessage::glGetTexParameterxv;
const GLMessage_Function GLMessage::glGetTexParameterxvOES;
const GLMessage_Function GLMessage::glGetUniformfv;
const GLMessage_Function GLMessage::glGetUniformiv;
const GLMessage_Function GLMessage::glGetUniformLocation;
const GLMessage_Function GLMessage::glGetVertexAttribfv;
const GLMessage_Function GLMessage::glGetVertexAttribiv;
const GLMessage_Function GLMessage::glGetVertexAttribPointerv;
const GLMessage_Function GLMessage::glHint;
const GLMessage_Function GLMessage::glIsBuffer;
const GLMessage_Function GLMessage::glIsEnabled;
const GLMessage_Function GLMessage::glIsFenceNV;
const GLMessage_Function GLMessage::glIsFramebuffer;
const GLMessage_Function GLMessage::glIsFramebufferOES;
const GLMessage_Function GLMessage::glIsProgram;
const GLMessage_Function GLMessage::glIsRenderbuffer;
const GLMessage_Function GLMessage::glIsRenderbufferOES;
const GLMessage_Function GLMessage::glIsShader;
const GLMessage_Function GLMessage::glIsTexture;
const GLMessage_Function GLMessage::glIsVertexArrayOES;
const GLMessage_Function GLMessage::glLightf;
const GLMessage_Function GLMessage::glLightfv;
const GLMessage_Function GLMessage::glLightModelf;
const GLMessage_Function GLMessage::glLightModelfv;
const GLMessage_Function GLMessage::glLightModelx;
const GLMessage_Function GLMessage::glLightModelxOES;
const GLMessage_Function GLMessage::glLightModelxv;
const GLMessage_Function GLMessage::glLightModelxvOES;
const GLMessage_Function GLMessage::glLightx;
const GLMessage_Function GLMessage::glLightxOES;
const GLMessage_Function GLMessage::glLightxv;
const GLMessage_Function GLMessage::glLightxvOES;
const GLMessage_Function GLMessage::glLineWidth;
const GLMessage_Function GLMessage::glLineWidthx;
const GLMessage_Function GLMessage::glLineWidthxOES;
const GLMessage_Function GLMessage::glLinkProgram;
const GLMessage_Function GLMessage::glLoadIdentity;
const GLMessage_Function GLMessage::glLoadMatrixf;
const GLMessage_Function GLMessage::glLoadMatrixx;
const GLMessage_Function GLMessage::glLoadMatrixxOES;
const GLMessage_Function GLMessage::glLoadPaletteFromModelViewMatrixOES;
const GLMessage_Function GLMessage::glLogicOp;
const GLMessage_Function GLMessage::glMapBufferOES;
const GLMessage_Function GLMessage::glMaterialf;
const GLMessage_Function GLMessage::glMaterialfv;
const GLMessage_Function GLMessage::glMaterialx;
const GLMessage_Function GLMessage::glMaterialxOES;
const GLMessage_Function GLMessage::glMaterialxv;
const GLMessage_Function GLMessage::glMaterialxvOES;
const GLMessage_Function GLMessage::glMatrixIndexPointerOES;
const GLMessage_Function GLMessage::glMatrixMode;
const GLMessage_Function GLMessage::glMultiDrawArraysEXT;
const GLMessage_Function GLMessage::glMultiDrawElementsEXT;
const GLMessage_Function GLMessage::glMultiTexCoord4f;
const GLMessage_Function GLMessage::glMultiTexCoord4x;
const GLMessage_Function GLMessage::glMultiTexCoord4xOES;
const GLMessage_Function GLMessage::glMultMatrixf;
const GLMessage_Function GLMessage::glMultMatrixx;
const GLMessage_Function GLMessage::glMultMatrixxOES;
const GLMessage_Function GLMessage::glNormal3f;
const GLMessage_Function GLMessage::glNormal3x;
const GLMessage_Function GLMessage::glNormal3xOES;
const GLMessage_Function GLMessage::glNormalPointer;
const GLMessage_Function GLMessage::glOrthof;
const GLMessage_Function GLMessage::glOrthofOES;
const GLMessage_Function GLMessage::glOrthox;
const GLMessage_Function GLMessage::glOrthoxOES;
const GLMessage_Function GLMessage::glPixelStorei;
const GLMessage_Function GLMessage::glPointParameterf;
const GLMessage_Function GLMessage::glPointParameterfv;
const GLMessage_Function GLMessage::glPointParameterx;
const GLMessage_Function GLMessage::glPointParameterxOES;
const GLMessage_Function GLMessage::glPointParameterxv;
const GLMessage_Function GLMessage::glPointParameterxvOES;
const GLMessage_Function GLMessage::glPointSize;
const GLMessage_Function GLMessage::glPointSizePointerOES;
const GLMessage_Function GLMessage::glPointSizex;
const GLMessage_Function GLMessage::glPointSizexOES;
const GLMessage_Function GLMessage::glPolygonOffset;
const GLMessage_Function GLMessage::glPolygonOffsetx;
const GLMessage_Function GLMessage::glPolygonOffsetxOES;
const GLMessage_Function GLMessage::glPopMatrix;
const GLMessage_Function GLMessage::glProgramBinaryOES;
const GLMessage_Function GLMessage::glPushMatrix;
const GLMessage_Function GLMessage::glQueryMatrixxOES;
const GLMessage_Function GLMessage::glReadPixels;
const GLMessage_Function GLMessage::glReleaseShaderCompiler;
const GLMessage_Function GLMessage::glRenderbufferStorage;
const GLMessage_Function GLMessage::glRenderbufferStorageMultisampleIMG;
const GLMessage_Function GLMessage::glRenderbufferStorageOES;
const GLMessage_Function GLMessage::glRotatef;
const GLMessage_Function GLMessage::glRotatex;
const GLMessage_Function GLMessage::glRotatexOES;
const GLMessage_Function GLMessage::glSampleCoverage;
const GLMessage_Function GLMessage::glSampleCoveragex;
const GLMessage_Function GLMessage::glSampleCoveragexOES;
const GLMessage_Function GLMessage::glScalef;
const GLMessage_Function GLMessage::glScalex;
const GLMessage_Function GLMessage::glScalexOES;
const GLMessage_Function GLMessage::glScissor;
const GLMessage_Function GLMessage::glSelectPerfMonitorCountersAMD;
const GLMessage_Function GLMessage::glSetFenceNV;
const GLMessage_Function GLMessage::glShadeModel;
const GLMessage_Function GLMessage::glShaderBinary;
const GLMessage_Function GLMessage::glShaderSource;
const GLMessage_Function GLMessage::glStartTilingQCOM;
const GLMessage_Function GLMessage::glStencilFunc;
const GLMessage_Function GLMessage::glStencilFuncSeparate;
const GLMessage_Function GLMessage::glStencilMask;
const GLMessage_Function GLMessage::glStencilMaskSeparate;
const GLMessage_Function GLMessage::glStencilOp;
const GLMessage_Function GLMessage::glStencilOpSeparate;
const GLMessage_Function GLMessage::glTestFenceNV;
const GLMessage_Function GLMessage::glTexCoordPointer;
const GLMessage_Function GLMessage::glTexEnvf;
const GLMessage_Function GLMessage::glTexEnvfv;
const GLMessage_Function GLMessage::glTexEnvi;
const GLMessage_Function GLMessage::glTexEnviv;
const GLMessage_Function GLMessage::glTexEnvx;
const GLMessage_Function GLMessage::glTexEnvxOES;
const GLMessage_Function GLMessage::glTexEnvxv;
const GLMessage_Function GLMessage::glTexEnvxvOES;
const GLMessage_Function GLMessage::glTexGenfOES;
const GLMessage_Function GLMessage::glTexGenfvOES;
const GLMessage_Function GLMessage::glTexGeniOES;
const GLMessage_Function GLMessage::glTexGenivOES;
const GLMessage_Function GLMessage::glTexGenxOES;
const GLMessage_Function GLMessage::glTexGenxvOES;
const GLMessage_Function GLMessage::glTexImage2D;
const GLMessage_Function GLMessage::glTexImage3DOES;
const GLMessage_Function GLMessage::glTexParameterf;
const GLMessage_Function GLMessage::glTexParameterfv;
const GLMessage_Function GLMessage::glTexParameteri;
const GLMessage_Function GLMessage::glTexParameteriv;
const GLMessage_Function GLMessage::glTexParameterx;
const GLMessage_Function GLMessage::glTexParameterxOES;
const GLMessage_Function GLMessage::glTexParameterxv;
const GLMessage_Function GLMessage::glTexParameterxvOES;
const GLMessage_Function GLMessage::glTexSubImage2D;
const GLMessage_Function GLMessage::glTexSubImage3DOES;
const GLMessage_Function GLMessage::glTranslatef;
const GLMessage_Function GLMessage::glTranslatex;
const GLMessage_Function GLMessage::glTranslatexOES;
const GLMessage_Function GLMessage::glUniform1f;
const GLMessage_Function GLMessage::glUniform1fv;
const GLMessage_Function GLMessage::glUniform1i;
const GLMessage_Function GLMessage::glUniform1iv;
const GLMessage_Function GLMessage::glUniform2f;
const GLMessage_Function GLMessage::glUniform2fv;
const GLMessage_Function GLMessage::glUniform2i;
const GLMessage_Function GLMessage::glUniform2iv;
const GLMessage_Function GLMessage::glUniform3f;
const GLMessage_Function GLMessage::glUniform3fv;
const GLMessage_Function GLMessage::glUniform3i;
const GLMessage_Function GLMessage::glUniform3iv;
const GLMessage_Function GLMessage::glUniform4f;
const GLMessage_Function GLMessage::glUniform4fv;
const GLMessage_Function GLMessage::glUniform4i;
const GLMessage_Function GLMessage::glUniform4iv;
const GLMessage_Function GLMessage::glUniformMatrix2fv;
const GLMessage_Function GLMessage::glUniformMatrix3fv;
const GLMessage_Function GLMessage::glUniformMatrix4fv;
const GLMessage_Function GLMessage::glUnmapBufferOES;
const GLMessage_Function GLMessage::glUseProgram;
const GLMessage_Function GLMessage::glValidateProgram;
const GLMessage_Function GLMessage::glVertexAttrib1f;
const GLMessage_Function GLMessage::glVertexAttrib1fv;
const GLMessage_Function GLMessage::glVertexAttrib2f;
const GLMessage_Function GLMessage::glVertexAttrib2fv;
const GLMessage_Function GLMessage::glVertexAttrib3f;
const GLMessage_Function GLMessage::glVertexAttrib3fv;
const GLMessage_Function GLMessage::glVertexAttrib4f;
const GLMessage_Function GLMessage::glVertexAttrib4fv;
const GLMessage_Function GLMessage::glVertexAttribPointer;
const GLMessage_Function GLMessage::glVertexPointer;
const GLMessage_Function GLMessage::glViewport;
const GLMessage_Function GLMessage::glWeightPointerOES;
const GLMessage_Function GLMessage::glActiveShaderProgramEXT;
const GLMessage_Function GLMessage::glAlphaFuncQCOM;
const GLMessage_Function GLMessage::glBeginQueryEXT;
const GLMessage_Function GLMessage::glBindProgramPipelineEXT;
const GLMessage_Function GLMessage::glBlitFramebufferANGLE;
const GLMessage_Function GLMessage::glCreateShaderProgramvEXT;
const GLMessage_Function GLMessage::glDeleteProgramPipelinesEXT;
const GLMessage_Function GLMessage::glDeleteQueriesEXT;
const GLMessage_Function GLMessage::glDrawBuffersNV;
const GLMessage_Function GLMessage::glEndQueryEXT;
const GLMessage_Function GLMessage::glFramebufferTexture2DMultisampleEXT;
const GLMessage_Function GLMessage::glGenProgramPipelinesEXT;
const GLMessage_Function GLMessage::glGenQueriesEXT;
const GLMessage_Function GLMessage::glGetGraphicsResetStatusEXT;
const GLMessage_Function GLMessage::glGetObjectLabelEXT;
const GLMessage_Function GLMessage::glGetProgramPipelineInfoLogEXT;
const GLMessage_Function GLMessage::glGetProgramPipelineivEXT;
const GLMessage_Function GLMessage::glGetQueryObjectuivEXT;
const GLMessage_Function GLMessage::glGetQueryivEXT;
const GLMessage_Function GLMessage::glGetnUniformfvEXT;
const GLMessage_Function GLMessage::glGetnUniformivEXT;
const GLMessage_Function GLMessage::glInsertEventMarkerEXT;
const GLMessage_Function GLMessage::glIsProgramPipelineEXT;
const GLMessage_Function GLMessage::glIsQueryEXT;
const GLMessage_Function GLMessage::glLabelObjectEXT;
const GLMessage_Function GLMessage::glPopGroupMarkerEXT;
const GLMessage_Function GLMessage::glProgramParameteriEXT;
const GLMessage_Function GLMessage::glProgramUniform1fEXT;
const GLMessage_Function GLMessage::glProgramUniform1fvEXT;
const GLMessage_Function GLMessage::glProgramUniform1iEXT;
const GLMessage_Function GLMessage::glProgramUniform1ivEXT;
const GLMessage_Function GLMessage::glProgramUniform2fEXT;
const GLMessage_Function GLMessage::glProgramUniform2fvEXT;
const GLMessage_Function GLMessage::glProgramUniform2iEXT;
const GLMessage_Function GLMessage::glProgramUniform2ivEXT;
const GLMessage_Function GLMessage::glProgramUniform3fEXT;
const GLMessage_Function GLMessage::glProgramUniform3fvEXT;
const GLMessage_Function GLMessage::glProgramUniform3iEXT;
const GLMessage_Function GLMessage::glProgramUniform3ivEXT;
const GLMessage_Function GLMessage::glProgramUniform4fEXT;
const GLMessage_Function GLMessage::glProgramUniform4fvEXT;
const GLMessage_Function GLMessage::glProgramUniform4iEXT;
const GLMessage_Function GLMessage::glProgramUniform4ivEXT;
const GLMessage_Function GLMessage::glProgramUniformMatrix2fvEXT;
const GLMessage_Function GLMessage::glProgramUniformMatrix3fvEXT;
const GLMessage_Function GLMessage::glProgramUniformMatrix4fvEXT;
const GLMessage_Function GLMessage::glPushGroupMarkerEXT;
const GLMessage_Function GLMessage::glReadBufferNV;
const GLMessage_Function GLMessage::glReadnPixelsEXT;
const GLMessage_Function GLMessage::glRenderbufferStorageMultisampleANGLE;
const GLMessage_Function GLMessage::glRenderbufferStorageMultisampleAPPLE;
const GLMessage_Function GLMessage::glRenderbufferStorageMultisampleEXT;
const GLMessage_Function GLMessage::glResolveMultisampleFramebufferAPPLE;
const GLMessage_Function GLMessage::glTexStorage1DEXT;
const GLMessage_Function GLMessage::glTexStorage2DEXT;
const GLMessage_Function GLMessage::glTexStorage3DEXT;
const GLMessage_Function GLMessage::glTextureStorage1DEXT;
const GLMessage_Function GLMessage::glTextureStorage2DEXT;
const GLMessage_Function GLMessage::glTextureStorage3DEXT;
const GLMessage_Function GLMessage::glUseProgramStagesEXT;
const GLMessage_Function GLMessage::glValidateProgramPipelineEXT;
const GLMessage_Function GLMessage::eglGetDisplay;
const GLMessage_Function GLMessage::eglInitialize;
const GLMessage_Function GLMessage::eglTerminate;
const GLMessage_Function GLMessage::eglGetConfigs;
const GLMessage_Function GLMessage::eglChooseConfig;
const GLMessage_Function GLMessage::eglGetConfigAttrib;
const GLMessage_Function GLMessage::eglCreateWindowSurface;
const GLMessage_Function GLMessage::eglCreatePixmapSurface;
const GLMessage_Function GLMessage::eglCreatePbufferSurface;
const GLMessage_Function GLMessage::eglDestroySurface;
const GLMessage_Function GLMessage::eglQuerySurface;
const GLMessage_Function GLMessage::eglCreateContext;
const GLMessage_Function GLMessage::eglDestroyContext;
const GLMessage_Function GLMessage::eglMakeCurrent;
const GLMessage_Function GLMessage::eglGetCurrentContext;
const GLMessage_Function GLMessage::eglGetCurrentSurface;
const GLMessage_Function GLMessage::eglGetCurrentDisplay;
const GLMessage_Function GLMessage::eglQueryContext;
const GLMessage_Function GLMessage::eglWaitGL;
const GLMessage_Function GLMessage::eglWaitNative;
const GLMessage_Function GLMessage::eglSwapBuffers;
const GLMessage_Function GLMessage::eglCopyBuffers;
const GLMessage_Function GLMessage::eglGetError;
const GLMessage_Function GLMessage::eglQueryString;
const GLMessage_Function GLMessage::eglGetProcAddress;
const GLMessage_Function GLMessage::eglSurfaceAttrib;
const GLMessage_Function GLMessage::eglBindTexImage;
const GLMessage_Function GLMessage::eglReleaseTexImage;
const GLMessage_Function GLMessage::eglSwapInterval;
const GLMessage_Function GLMessage::eglBindAPI;
const GLMessage_Function GLMessage::eglQueryAPI;
const GLMessage_Function GLMessage::eglWaitClient;
const GLMessage_Function GLMessage::eglReleaseThread;
const GLMessage_Function GLMessage::eglCreatePbufferFromClientBuffer;
const GLMessage_Function GLMessage::eglLockSurfaceKHR;
const GLMessage_Function GLMessage::eglUnlockSurfaceKHR;
const GLMessage_Function GLMessage::eglCreateImageKHR;
const GLMessage_Function GLMessage::eglDestroyImageKHR;
const GLMessage_Function GLMessage::eglCreateSyncKHR;
const GLMessage_Function GLMessage::eglDestroySyncKHR;
const GLMessage_Function GLMessage::eglClientWaitSyncKHR;
const GLMessage_Function GLMessage::eglGetSyncAttribKHR;
const GLMessage_Function GLMessage::eglSetSwapRectangleANDROID;
const GLMessage_Function GLMessage::eglGetRenderBufferANDROID;
const GLMessage_Function GLMessage::eglGetSystemTimeFrequencyNV;
const GLMessage_Function GLMessage::eglGetSystemTimeNV;
const GLMessage_Function GLMessage::invalid;
const GLMessage_Function GLMessage::glVertexAttribPointerData;
const GLMessage_Function GLMessage::Function_MIN;
const GLMessage_Function GLMessage::Function_MAX;
const int GLMessage::Function_ARRAYSIZE;
#endif  // _MSC_VER
bool GLMessage_DataType_Type_IsValid(int value) {
  switch(value) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

#ifndef _MSC_VER
const GLMessage_DataType_Type GLMessage_DataType::VOID;
const GLMessage_DataType_Type GLMessage_DataType::CHAR;
const GLMessage_DataType_Type GLMessage_DataType::BYTE;
const GLMessage_DataType_Type GLMessage_DataType::INT;
const GLMessage_DataType_Type GLMessage_DataType::FLOAT;
const GLMessage_DataType_Type GLMessage_DataType::BOOL;
const GLMessage_DataType_Type GLMessage_DataType::ENUM;
const GLMessage_DataType_Type GLMessage_DataType::Type_MIN;
const GLMessage_DataType_Type GLMessage_DataType::Type_MAX;
const int GLMessage_DataType::Type_ARRAYSIZE;
#endif  // _MSC_VER
#ifndef _MSC_VER
const int GLMessage_DataType::kTypeFieldNumber;
const int GLMessage_DataType::kIsArrayFieldNumber;
const int GLMessage_DataType::kIntValueFieldNumber;
const int GLMessage_DataType::kFloatValueFieldNumber;
const int GLMessage_DataType::kCharValueFieldNumber;
const int GLMessage_DataType::kRawBytesFieldNumber;
const int GLMessage_DataType::kBoolValueFieldNumber;
#endif  // !_MSC_VER

GLMessage_DataType::GLMessage_DataType()
  : ::google::protobuf::MessageLite() {
  SharedCtor();
}

void GLMessage_DataType::InitAsDefaultInstance() {
}

GLMessage_DataType::GLMessage_DataType(const GLMessage_DataType& from)
  : ::google::protobuf::MessageLite() {
  SharedCtor();
  MergeFrom(from);
}

void GLMessage_DataType::SharedCtor() {
  _cached_size_ = 0;
  type_ = 1;
  isarray_ = false;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

GLMessage_DataType::~GLMessage_DataType() {
  SharedDtor();
}

void GLMessage_DataType::SharedDtor() {
  if (this != default_instance_) {
  }
}

void GLMessage_DataType::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const GLMessage_DataType& GLMessage_DataType::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_gltrace_2eproto();  return *default_instance_;
}

GLMessage_DataType* GLMessage_DataType::default_instance_ = NULL;

GLMessage_DataType* GLMessage_DataType::New() const {
  return new GLMessage_DataType;
}

void GLMessage_DataType::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    type_ = 1;
    isarray_ = false;
  }
  intvalue_.Clear();
  floatvalue_.Clear();
  charvalue_.Clear();
  rawbytes_.Clear();
  boolvalue_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

bool GLMessage_DataType::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required .android.gltrace.GLMessage.DataType.Type type = 1 [default = VOID];
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::android::gltrace::GLMessage_DataType_Type_IsValid(value)) {
            set_type(static_cast< ::android::gltrace::GLMessage_DataType_Type >(value));
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_isArray;
        break;
      }
      
      // required bool isArray = 2 [default = false];
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_isArray:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, &isarray_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_intValue;
        break;
      }
      
      // repeated int32 intValue = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_intValue:
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 1, 24, input, this->mutable_intvalue())));
        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
                   == ::google::protobuf::internal::WireFormatLite::
                      WIRETYPE_LENGTH_DELIMITED) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, this->mutable_intvalue())));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_intValue;
        if (input->ExpectTag(37)) goto parse_floatValue;
        break;
      }
      
      // repeated float floatValue = 4;
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_FIXED32) {
         parse_floatValue:
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 1, 37, input, this->mutable_floatvalue())));
        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
                   == ::google::protobuf::internal::WireFormatLite::
                      WIRETYPE_LENGTH_DELIMITED) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
                 input, this->mutable_floatvalue())));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(37)) goto parse_floatValue;
        if (input->ExpectTag(42)) goto parse_charValue;
        break;
      }
      
      // repeated bytes charValue = 5;
      case 5: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_charValue:
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->add_charvalue()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(42)) goto parse_charValue;
        if (input->ExpectTag(50)) goto parse_rawBytes;
        break;
      }
      
      // repeated bytes rawBytes = 6;
      case 6: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_rawBytes:
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->add_rawbytes()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(50)) goto parse_rawBytes;
        if (input->ExpectTag(56)) goto parse_boolValue;
        break;
      }
      
      // repeated bool boolValue = 7;
      case 7: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_boolValue:
          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 1, 56, input, this->mutable_boolvalue())));
        } else if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag)
                   == ::google::protobuf::internal::WireFormatLite::
                      WIRETYPE_LENGTH_DELIMITED) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                 input, this->mutable_boolvalue())));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(56)) goto parse_boolValue;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void GLMessage_DataType::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required .android.gltrace.GLMessage.DataType.Type type = 1 [default = VOID];
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      1, this->type(), output);
  }
  
  // required bool isArray = 2 [default = false];
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->isarray(), output);
  }
  
  // repeated int32 intValue = 3;
  for (int i = 0; i < this->intvalue_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(
      3, this->intvalue(i), output);
  }
  
  // repeated float floatValue = 4;
  for (int i = 0; i < this->floatvalue_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteFloat(
      4, this->floatvalue(i), output);
  }
  
  // repeated bytes charValue = 5;
  for (int i = 0; i < this->charvalue_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBytes(
      5, this->charvalue(i), output);
  }
  
  // repeated bytes rawBytes = 6;
  for (int i = 0; i < this->rawbytes_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBytes(
      6, this->rawbytes(i), output);
  }
  
  // repeated bool boolValue = 7;
  for (int i = 0; i < this->boolvalue_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBool(
      7, this->boolvalue(i), output);
  }
  
}

int GLMessage_DataType::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required .android.gltrace.GLMessage.DataType.Type type = 1 [default = VOID];
    if (has_type()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
    }
    
    // required bool isArray = 2 [default = false];
    if (has_isarray()) {
      total_size += 1 + 1;
    }
    
  }
  // repeated int32 intValue = 3;
  {
    int data_size = 0;
    for (int i = 0; i < this->intvalue_size(); i++) {
      data_size += ::google::protobuf::internal::WireFormatLite::
        Int32Size(this->intvalue(i));
    }
    total_size += 1 * this->intvalue_size() + data_size;
  }
  
  // repeated float floatValue = 4;
  {
    int data_size = 0;
    data_size = 4 * this->floatvalue_size();
    total_size += 1 * this->floatvalue_size() + data_size;
  }
  
  // repeated bytes charValue = 5;
  total_size += 1 * this->charvalue_size();
  for (int i = 0; i < this->charvalue_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
      this->charvalue(i));
  }
  
  // repeated bytes rawBytes = 6;
  total_size += 1 * this->rawbytes_size();
  for (int i = 0; i < this->rawbytes_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
      this->rawbytes(i));
  }
  
  // repeated bool boolValue = 7;
  {
    int data_size = 0;
    data_size = 1 * this->boolvalue_size();
    total_size += 1 * this->boolvalue_size() + data_size;
  }
  
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void GLMessage_DataType::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const GLMessage_DataType*>(&from));
}

void GLMessage_DataType::MergeFrom(const GLMessage_DataType& from) {
  GOOGLE_CHECK_NE(&from, this);
  intvalue_.MergeFrom(from.intvalue_);
  floatvalue_.MergeFrom(from.floatvalue_);
  charvalue_.MergeFrom(from.charvalue_);
  rawbytes_.MergeFrom(from.rawbytes_);
  boolvalue_.MergeFrom(from.boolvalue_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_type(from.type());
    }
    if (from._has_bit(1)) {
      set_isarray(from.isarray());
    }
  }
}

void GLMessage_DataType::CopyFrom(const GLMessage_DataType& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GLMessage_DataType::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  
  return true;
}

void GLMessage_DataType::Swap(GLMessage_DataType* other) {
  if (other != this) {
    std::swap(type_, other->type_);
    std::swap(isarray_, other->isarray_);
    intvalue_.Swap(&other->intvalue_);
    floatvalue_.Swap(&other->floatvalue_);
    charvalue_.Swap(&other->charvalue_);
    rawbytes_.Swap(&other->rawbytes_);
    boolvalue_.Swap(&other->boolvalue_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::std::string GLMessage_DataType::GetTypeName() const {
  return "android.gltrace.GLMessage.DataType";
}


// -------------------------------------------------------------------

#ifndef _MSC_VER
const int GLMessage_FrameBuffer::kWidthFieldNumber;
const int GLMessage_FrameBuffer::kHeightFieldNumber;
const int GLMessage_FrameBuffer::kContentsFieldNumber;
#endif  // !_MSC_VER

GLMessage_FrameBuffer::GLMessage_FrameBuffer()
  : ::google::protobuf::MessageLite() {
  SharedCtor();
}

void GLMessage_FrameBuffer::InitAsDefaultInstance() {
}

GLMessage_FrameBuffer::GLMessage_FrameBuffer(const GLMessage_FrameBuffer& from)
  : ::google::protobuf::MessageLite() {
  SharedCtor();
  MergeFrom(from);
}

void GLMessage_FrameBuffer::SharedCtor() {
  _cached_size_ = 0;
  width_ = 0;
  height_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

GLMessage_FrameBuffer::~GLMessage_FrameBuffer() {
  SharedDtor();
}

void GLMessage_FrameBuffer::SharedDtor() {
  if (this != default_instance_) {
  }
}

void GLMessage_FrameBuffer::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const GLMessage_FrameBuffer& GLMessage_FrameBuffer::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_gltrace_2eproto();  return *default_instance_;
}

GLMessage_FrameBuffer* GLMessage_FrameBuffer::default_instance_ = NULL;

GLMessage_FrameBuffer* GLMessage_FrameBuffer::New() const {
  return new GLMessage_FrameBuffer;
}

void GLMessage_FrameBuffer::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    width_ = 0;
    height_ = 0;
  }
  contents_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

bool GLMessage_FrameBuffer::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 width = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &width_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_height;
        break;
      }
      
      // required int32 height = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_height:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &height_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_contents;
        break;
      }
      
      // repeated bytes contents = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_contents:
          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
                input, this->add_contents()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(26)) goto parse_contents;
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void GLMessage_FrameBuffer::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 width = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->width(), output);
  }
  
  // required int32 height = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->height(), output);
  }
  
  // repeated bytes contents = 3;
  for (int i = 0; i < this->contents_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteBytes(
      3, this->contents(i), output);
  }
  
}

int GLMessage_FrameBuffer::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 width = 1;
    if (has_width()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->width());
    }
    
    // required int32 height = 2;
    if (has_height()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->height());
    }
    
  }
  // repeated bytes contents = 3;
  total_size += 1 * this->contents_size();
  for (int i = 0; i < this->contents_size(); i++) {
    total_size += ::google::protobuf::internal::WireFormatLite::BytesSize(
      this->contents(i));
  }
  
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void GLMessage_FrameBuffer::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const GLMessage_FrameBuffer*>(&from));
}

void GLMessage_FrameBuffer::MergeFrom(const GLMessage_FrameBuffer& from) {
  GOOGLE_CHECK_NE(&from, this);
  contents_.MergeFrom(from.contents_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_width(from.width());
    }
    if (from._has_bit(1)) {
      set_height(from.height());
    }
  }
}

void GLMessage_FrameBuffer::CopyFrom(const GLMessage_FrameBuffer& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GLMessage_FrameBuffer::IsInitialized() const {
  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
  
  return true;
}

void GLMessage_FrameBuffer::Swap(GLMessage_FrameBuffer* other) {
  if (other != this) {
    std::swap(width_, other->width_);
    std::swap(height_, other->height_);
    contents_.Swap(&other->contents_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::std::string GLMessage_FrameBuffer::GetTypeName() const {
  return "android.gltrace.GLMessage.FrameBuffer";
}


// -------------------------------------------------------------------

#ifndef _MSC_VER
const int GLMessage::kContextIdFieldNumber;
const int GLMessage::kStartTimeFieldNumber;
const int GLMessage::kDurationFieldNumber;
const int GLMessage::kFunctionFieldNumber;
const int GLMessage::kArgsFieldNumber;
const int GLMessage::kReturnValueFieldNumber;
const int GLMessage::kFbFieldNumber;
const int GLMessage::kThreadtimeFieldNumber;
#endif  // !_MSC_VER

GLMessage::GLMessage()
  : ::google::protobuf::MessageLite() {
  SharedCtor();
}

void GLMessage::InitAsDefaultInstance() {
  returnvalue_ = const_cast< ::android::gltrace::GLMessage_DataType*>(&::android::gltrace::GLMessage_DataType::default_instance());
  fb_ = const_cast< ::android::gltrace::GLMessage_FrameBuffer*>(&::android::gltrace::GLMessage_FrameBuffer::default_instance());
}

GLMessage::GLMessage(const GLMessage& from)
  : ::google::protobuf::MessageLite() {
  SharedCtor();
  MergeFrom(from);
}

void GLMessage::SharedCtor() {
  _cached_size_ = 0;
  context_id_ = 0;
  start_time_ = GOOGLE_LONGLONG(0);
  duration_ = 0;
  function_ = 3000;
  returnvalue_ = NULL;
  fb_ = NULL;
  threadtime_ = 0;
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

GLMessage::~GLMessage() {
  SharedDtor();
}

void GLMessage::SharedDtor() {
  if (this != default_instance_) {
    delete returnvalue_;
    delete fb_;
  }
}

void GLMessage::SetCachedSize(int size) const {
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const GLMessage& GLMessage::default_instance() {
  if (default_instance_ == NULL) protobuf_AddDesc_gltrace_2eproto();  return *default_instance_;
}

GLMessage* GLMessage::default_instance_ = NULL;

GLMessage* GLMessage::New() const {
  return new GLMessage;
}

void GLMessage::Clear() {
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    context_id_ = 0;
    start_time_ = GOOGLE_LONGLONG(0);
    duration_ = 0;
    function_ = 3000;
    if (_has_bit(5)) {
      if (returnvalue_ != NULL) returnvalue_->::android::gltrace::GLMessage_DataType::Clear();
    }
    if (_has_bit(6)) {
      if (fb_ != NULL) fb_->::android::gltrace::GLMessage_FrameBuffer::Clear();
    }
    threadtime_ = 0;
  }
  args_.Clear();
  ::memset(_has_bits_, 0, sizeof(_has_bits_));
}

bool GLMessage::MergePartialFromCodedStream(
    ::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
  ::google::protobuf::uint32 tag;
  while ((tag = input->ReadTag()) != 0) {
    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
      // required int32 context_id = 1;
      case 1: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &context_id_)));
          _set_bit(0);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(16)) goto parse_start_time;
        break;
      }
      
      // required int64 start_time = 2;
      case 2: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_start_time:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
                 input, &start_time_)));
          _set_bit(1);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(24)) goto parse_duration;
        break;
      }
      
      // required int32 duration = 3;
      case 3: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_duration:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &duration_)));
          _set_bit(2);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(32)) goto parse_function;
        break;
      }
      
      // required .android.gltrace.GLMessage.Function function = 4 [default = invalid];
      case 4: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_function:
          int value;
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                 input, &value)));
          if (::android::gltrace::GLMessage_Function_IsValid(value)) {
            set_function(static_cast< ::android::gltrace::GLMessage_Function >(value));
          }
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(42)) goto parse_args;
        break;
      }
      
      // repeated .android.gltrace.GLMessage.DataType args = 5;
      case 5: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_args:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
                input, add_args()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(42)) goto parse_args;
        if (input->ExpectTag(50)) goto parse_returnValue;
        break;
      }
      
      // optional .android.gltrace.GLMessage.DataType returnValue = 6;
      case 6: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_returnValue:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_returnvalue()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(58)) goto parse_fb;
        break;
      }
      
      // optional .android.gltrace.GLMessage.FrameBuffer fb = 7;
      case 7: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
         parse_fb:
          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
               input, mutable_fb()));
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectTag(64)) goto parse_threadtime;
        break;
      }
      
      // optional int32 threadtime = 8;
      case 8: {
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
         parse_threadtime:
          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
                 input, &threadtime_)));
          _set_bit(7);
        } else {
          goto handle_uninterpreted;
        }
        if (input->ExpectAtEnd()) return true;
        break;
      }
      
      default: {
      handle_uninterpreted:
        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
          return true;
        }
        DO_(::google::protobuf::internal::WireFormatLite::SkipField(input, tag));
        break;
      }
    }
  }
  return true;
#undef DO_
}

void GLMessage::SerializeWithCachedSizes(
    ::google::protobuf::io::CodedOutputStream* output) const {
  // required int32 context_id = 1;
  if (_has_bit(0)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->context_id(), output);
  }
  
  // required int64 start_time = 2;
  if (_has_bit(1)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt64(2, this->start_time(), output);
  }
  
  // required int32 duration = 3;
  if (_has_bit(2)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->duration(), output);
  }
  
  // required .android.gltrace.GLMessage.Function function = 4 [default = invalid];
  if (_has_bit(3)) {
    ::google::protobuf::internal::WireFormatLite::WriteEnum(
      4, this->function(), output);
  }
  
  // repeated .android.gltrace.GLMessage.DataType args = 5;
  for (int i = 0; i < this->args_size(); i++) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      5, this->args(i), output);
  }
  
  // optional .android.gltrace.GLMessage.DataType returnValue = 6;
  if (_has_bit(5)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      6, this->returnvalue(), output);
  }
  
  // optional .android.gltrace.GLMessage.FrameBuffer fb = 7;
  if (_has_bit(6)) {
    ::google::protobuf::internal::WireFormatLite::WriteMessage(
      7, this->fb(), output);
  }
  
  // optional int32 threadtime = 8;
  if (_has_bit(7)) {
    ::google::protobuf::internal::WireFormatLite::WriteInt32(8, this->threadtime(), output);
  }
  
}

int GLMessage::ByteSize() const {
  int total_size = 0;
  
  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    // required int32 context_id = 1;
    if (has_context_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->context_id());
    }
    
    // required int64 start_time = 2;
    if (has_start_time()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int64Size(
          this->start_time());
    }
    
    // required int32 duration = 3;
    if (has_duration()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->duration());
    }
    
    // required .android.gltrace.GLMessage.Function function = 4 [default = invalid];
    if (has_function()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->function());
    }
    
    // optional .android.gltrace.GLMessage.DataType returnValue = 6;
    if (has_returnvalue()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->returnvalue());
    }
    
    // optional .android.gltrace.GLMessage.FrameBuffer fb = 7;
    if (has_fb()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
          this->fb());
    }
    
    // optional int32 threadtime = 8;
    if (has_threadtime()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::Int32Size(
          this->threadtime());
    }
    
  }
  // repeated .android.gltrace.GLMessage.DataType args = 5;
  total_size += 1 * this->args_size();
  for (int i = 0; i < this->args_size(); i++) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
        this->args(i));
  }
  
  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
  _cached_size_ = total_size;
  GOOGLE_SAFE_CONCURRENT_WRITES_END();
  return total_size;
}

void GLMessage::CheckTypeAndMergeFrom(
    const ::google::protobuf::MessageLite& from) {
  MergeFrom(*::google::protobuf::down_cast<const GLMessage*>(&from));
}

void GLMessage::MergeFrom(const GLMessage& from) {
  GOOGLE_CHECK_NE(&from, this);
  args_.MergeFrom(from.args_);
  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
    if (from._has_bit(0)) {
      set_context_id(from.context_id());
    }
    if (from._has_bit(1)) {
      set_start_time(from.start_time());
    }
    if (from._has_bit(2)) {
      set_duration(from.duration());
    }
    if (from._has_bit(3)) {
      set_function(from.function());
    }
    if (from._has_bit(5)) {
      mutable_returnvalue()->::android::gltrace::GLMessage_DataType::MergeFrom(from.returnvalue());
    }
    if (from._has_bit(6)) {
      mutable_fb()->::android::gltrace::GLMessage_FrameBuffer::MergeFrom(from.fb());
    }
    if (from._has_bit(7)) {
      set_threadtime(from.threadtime());
    }
  }
}

void GLMessage::CopyFrom(const GLMessage& from) {
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GLMessage::IsInitialized() const {
  if ((_has_bits_[0] & 0x0000000f) != 0x0000000f) return false;
  
  for (int i = 0; i < args_size(); i++) {
    if (!this->args(i).IsInitialized()) return false;
  }
  if (has_returnvalue()) {
    if (!this->returnvalue().IsInitialized()) return false;
  }
  if (has_fb()) {
    if (!this->fb().IsInitialized()) return false;
  }
  return true;
}

void GLMessage::Swap(GLMessage* other) {
  if (other != this) {
    std::swap(context_id_, other->context_id_);
    std::swap(start_time_, other->start_time_);
    std::swap(duration_, other->duration_);
    std::swap(function_, other->function_);
    args_.Swap(&other->args_);
    std::swap(returnvalue_, other->returnvalue_);
    std::swap(fb_, other->fb_);
    std::swap(threadtime_, other->threadtime_);
    std::swap(_has_bits_[0], other->_has_bits_[0]);
    std::swap(_cached_size_, other->_cached_size_);
  }
}

::std::string GLMessage::GetTypeName() const {
  return "android.gltrace.GLMessage";
}


// @@protoc_insertion_point(namespace_scope)

}  // namespace gltrace
}  // namespace android

// @@protoc_insertion_point(global_scope)
