3ef9e9671c224af82d2efec1a1e9a275fb9acf44 |
|
11-Jun-2012 |
Siva Velusamy <vsiva@google.com> |
gltrace: Fixup vertex attrib pointers only for GLES2 Change-Id: Ibf280c2a4372ce6e598e164eef0d72b7c0a6d1c2
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.h
|
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.h
|
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.h
|
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.h
|
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_context.h
|