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