replicant-frameworks_native/opengl/libs/GLES_trace/gltrace.proto
Siva Velusamy 05df4504e5 gltrace: Trace thread time and wall clock time.
For each gl function, trace both the thread and wall clock
times.

Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
2012-02-17 11:09:47 -08:00

556 lines
18 KiB
Protocol Buffer

/*
* 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;
frameBufferContents = 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)
};