ad9693f4f0586d18a82fdbb70c6a89e43d662ff1 |
16-Aug-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: flush trace buffer on createContext & makeCurrent Certain apps (e.g. chrome) seem to create contexts which are unused for long periods of time. If tracing is stopped before those contexts are used, then the debugger never gets to know that these contexts were created. Flushing the trace after these calls ensures that the debugger knows about all created/used contexts. Change-Id: I01baa11aa56ac89eddce3c2851e4bf01076984d1
ltrace_context.cpp
|
3ef9e9671c224af82d2efec1a1e9a275fb9acf44 |
11-Jun-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Fixup vertex attrib pointers only for GLES2 Change-Id: Ibf280c2a4372ce6e598e164eef0d72b7c0a6d1c2
ltrace_context.cpp
ltrace_context.h
ltrace_fixup.cpp
|
2fdcc81ddfdbdfbbde63bd64e9ac9272b5417553 |
16-May-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Allow receiving commands of length > 4 Currently, gltrace offers very few trace collection options. As a result, these options are encoded in a single integer. The trace control task simply receives integers and interprets them as commands. This patch changes the control protocol to first receive the command length followed by the actual command itself. This allows for future flexibility to provide enable other commands. Change-Id: Id5f56c80a025bbbe7613ab4457e092732e7d9dc9
ltrace_eglapi.cpp
ltrace_transport.cpp
ltrace_transport.h
|
c7d767ad57a25eeefbbfe2610396d800f04178ed |
26-Apr-2012 |
Siva Velusamy <vsiva@google.com> |
gldebugger: Allow connections from root user Change-Id: I26ce670ae93c43bd36843576e824a9d7acea644d
ltrace_transport.cpp
|
8e2f3858d5a06dae5a543d9428278f59120f7f8c |
16-Mar-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Only accept connections from the shell. Only accept incoming connections from the shell user. Change-Id: Ibef1a796d794d45f73db59949b39cb1ce68542b4
ltrace_transport.cpp
|
50129e4ae2777dfbe0738f0f69b17f4d8f9400e2 |
29-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Send vertex attribute data after glDraw() call. This patch enables tracing of vertex attribute data that is specified using glVertexAttribPointer(). At the time the glVertexAttribPointer() call is made, we only receive a pointer in client space, without any indication of the size (# of attributes). This size is known only at the time of the glDraw() call. This patch generates a new message glVertexAttribPointerData() when a draw call is issued that contains the vertex attribute data. A glDrawArrays() call directly gives the size of data to copy. A glDrawElements() call gives the indices to copy. In such a case, all data between the min & max indices drawn are copied and sent to the host. To support glDrawElements() with an element array buffer, this patch also adds state that maintains a copy of all element array buffers. Change-Id: I434da794a0aa9ada8e7474e219ffb1d79b183ecf
ltrace.pb.cpp
ltrace.pb.h
ltrace_context.cpp
ltrace_context.h
ltrace_fixup.cpp
|
9801142afbe3d906259b634ef3bc8bebdafe0083 |
27-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Make code 64-bit safe. Currently, the trace API passes the pointers that need to be patched up via 32 bit integers. Such code will not be 64 bit safe. This patch sends all pointers in a separate array of pointers for the fixup calls to read from. Change-Id: If975333f11a6f6f9a74fba57de328affaed452a5
ltrace_api.cpp
ltrace_fixup.cpp
ltrace_fixup.h
|
9291da97cbb5f8d3ae5eb9e8d5415ef85916d982 |
23-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: attach buffer data sent with glBufferData Attach the buffer that is passed with glBufferData and glBufferSubData to the proto buf. Change-Id: I1b4c1172d405736b06cb0a356a6e241e1d60c4d5
ltrace_fixup.cpp
|
05df4504e57657994a89e424b6881ee26d0f313c |
17-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Trace thread time and wall clock time. For each gl function, trace both the thread and wall clock times. Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
ltrace.pb.cpp
ltrace.pb.h
ltrace_api.cpp
ltrace_fixup.cpp
ltrace_fixup.h
|
88e8e5a3f16f0003bd2b43142241b8e1a9a46abe |
15-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Patch up all glUniform*() calls. This patch updates the trace information for all glUniform*() calls to have the right data (the actual uniforms that are passed). In addition, as soon as a program is linked, information regarding all the active attributes and uniforms is passed on to the debugger. Change-Id: Icfbc6722789b42c413a845cf546577fa6de7da2b
ltrace_fixup.cpp
|
a7167f364737c12e621d836f470cf328c6e111cd |
01-Feb-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: fixup Push & Insert Marker calls Change-Id: I58ced7225fac79ec636a65da4883614a5dce6dff
ltrace_fixup.cpp
|
b8c39145475391a134c052533292332516083dec |
30-Jan-2012 |
Siva Velusamy <vsiva@google.com> |
Merge "gltrace: Use Unix Domain Socket rather than INET Socket"
|
31272606149d83437a097800074b21e9e6a205ad |
28-Jan-2012 |
Mathias Agopian <mathias@google.com> |
update GLES headers and add support for corresponding new extensions. Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
ltrace.pb.cpp
ltrace.pb.h
ltrace_api.cpp
ltrace_api.h
|
0832fb6407d1c85cba20a8cc0aff828db3c134de |
27-Jan-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Use Unix Domain Socket rather than INET Socket Export trace information via abstract Unix Domain Socket (UDS). This allows tracing of applications without INTERNET permission, and should be faster as well. Change-Id: Iabb67fcc2bc2484afd8128af07dca723b81c52c6
ltrace_eglapi.cpp
ltrace_transport.cpp
ltrace_transport.h
|
34c726efb54a941a97a6d7252e7c1442d2eded56 |
17-Jan-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: fixup data for glTexSubImage2D & glDeleteBuffers Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
ltrace_fixup.cpp
|
e6f43ddce78d6846af12550ff9193c5c6fe5844b |
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ltrace_eglapi.cpp
ltrace_fixup.cpp
ltrace_transport.cpp
|
3f194e6e3a62cbb846e8948eac8e4ce9aa7444a6 |
03-Jan-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: add user settings to control data captured. Currently users do not have control over the amount of data captured during tracing. This patch adds 3 settings that users can enable/disable at runtime: - capture framebuffer on eglSwap() calls - capture framebuffer on glDraw*() calls - capture texture data passed to glTexImage*() calls Disabling these options when not needed signficantly decreases the size of the trace file, and reduces performance overhead for the running application. These settings are stored in the per process GLTraceState. A separate thread listens for commands from the host, and updates the state based on the user commands. Change-Id: Ic4518b94e8bcbc5330ac7138153721caa98b365d
ltrace_context.cpp
ltrace_context.h
ltrace_egl.cpp
ltrace_eglapi.cpp
ltrace_fixup.cpp
|
56ac6ff9bdc3c117e820c5a361ab45049c8b03f8 |
16-Dec-2011 |
Siva Velusamy <vsiva@google.com> |
gltrace: add start time & duration to each traced call. Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
ltrace.pb.cpp
ltrace.pb.h
ltrace_api.cpp
ltrace_api.h
ltrace_egl.cpp
ltrace_fixup.cpp
ltrace_fixup.h
|
93a826f78f6313db791e6fc880439189897651b3 |
14-Dec-2011 |
Siva Velusamy <vsiva@google.com> |
gltrace: transport buffering and context management This patch adds two improvements: 1. Protobuf messages are buffered and sent in chunks. 2. Multiple EGL contexts are handled properly: Corresponding to each EGLContext, a GLTraceContext with a unique ID is created. On eglMakeCurrent, the appropriate GLTraceContext is set and is used while tracing subsequent GL Calls in that thread. Change-Id: I34076376d3e5af205c87c7396ea47659844abd6e
ltrace_api.cpp
ltrace_context.cpp
ltrace_context.h
ltrace_egl.cpp
ltrace_egl.h
ltrace_eglapi.cpp
ltrace_fixup.cpp
ltrace_fixup.h
ltrace_transport.cpp
ltrace_transport.h
|
59511ad1cbdb13509f5c249a5193e0180e0dbf0c |
04-Jan-2012 |
Siva Velusamy <vsiva@google.com> |
Merge "gltrace: attach contents of the appropriate framebuffer"
|
9d4536835248525f32f1504a3d28d5bbfa0a2910 |
20-Dec-2011 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
ltrace_transport.cpp
|
f132ac35d82a2960542619fb3fb91d22ab256dc7 |
08-Dec-2011 |
Siva Velusamy <vsiva@google.com> |
gltrace: attach contents of the appropriate framebuffer Currently, gltrace always attaches the contents of the currently bound framebuffer. This patch changes it to attach the contents of FB0 on eglSwap, and the currently bound framebuffer for the glDraw* calls. Change-Id: Ice0520d45d75638fe61cd91149df773074216510
ltrace_context.cpp
ltrace_context.h
ltrace_egl.cpp
ltrace_fixup.cpp
ltrace_fixup.h
|
a8cfde8897c840ce6a491a054ade806b41df2a70 |
05-Dec-2011 |
Siva Velusamy <vsiva@google.com> |
gltrace: Make framebuffer contents an optional message. Currently, the contents of the FrameBuffer are sent by encoding them as the last argument to the function call. As a result, it is not possible to know if a message has the framebuffer encoded in it without looking at the function type. This patch modifies the protobuf definition to include a separate optional framebuffer message. Change-Id: Ief3a6950052d927ca0743e729457435b48c25a92
ltrace.pb.cpp
ltrace.pb.h
ltrace_fixup.cpp
|
0469dd6d55fa331bfd7de9431da98b6340d82271 |
01-Dec-2011 |
Siva Velusamy <vsiva@google.com> |
glestrace: Framework for GLES tracing library This patch provides a framework for tracing GLES 1.0 and 2.0 functions. It is missing a lot of features, but here are the things it accomplishes: - Stop building the glesv2dbg library, and build the glestrace library instead. - Replace the hooks for glesv2dbg with the ones for glestrace. - Add the basics for the trace library. Currently, this traces all GL functions, but not all required data is sent for all the functions. As a result, it will not be possible to reconstruct the entire GL state on the host side. The files gltrace.pb.* and gltrace_api.* are both generated using the tools/genapi.py script. Change-Id: Id60a468f7278657f008bc6ea1df01f9bdfecfdd3
ltrace.pb.cpp
ltrace.pb.h
ltrace_api.cpp
ltrace_api.h
ltrace_context.cpp
ltrace_context.h
ltrace_egl.cpp
ltrace_egl.h
ltrace_eglapi.cpp
ltrace_fixup.cpp
ltrace_fixup.h
ltrace_hooks.cpp
ltrace_hooks.h
ltrace_transport.cpp
ltrace_transport.h
|