History log of /frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a9650f0cccf82271d47f5177d21b3132f1887b3a 12-Jan-2015 Jeff Davidson <jpd@google.com> Revert "Revert "Update protobuf library from 2.3 to 2.6.""

This reverts commit bca4262dac55cc59b28d6fde658d5f8a254fcc2d.

Change-Id: I8ecd859340779dfacffba4c6d1a44c5cdbdfceed
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
bca4262dac55cc59b28d6fde658d5f8a254fcc2d 12-Jan-2015 Jeff Davidson <jpd@google.com> Revert "Update protobuf library from 2.3 to 2.6."

This reverts commit a42cdf169060e1bb65c77bc8a394d266403d8583.

Change-Id: I8f75e6fcc921041ebdfd35c4724134fcb2c739c6
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
a42cdf169060e1bb65c77bc8a394d266403d8583 16-Sep-2014 Jeff Davidson <jpd@google.com> Update protobuf library from 2.3 to 2.6.

Remove generated cpp/h files for gltrace.proto as we can use the build
system to generate these dynamically.

Change-Id: I949d32fb5126f1c05e2a6ed48f6636a4a9b15a48
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
16d7b6a8bb6f22ddd9252c6c0aefa84a53b65d53 18-Aug-2014 Ben Clayton <bclayton@google.com> Don't try to capture the pointer when using PBOs for texture APIs

If a PBO is bound, then the pointer argument is a relative offset from
the start of the PBO, not an absolute address.

Fixes b/17063439

Change-Id: I39629ce6c9bb3cb6bac5c9b0311287628306ddd4
(cherry picked from commit 0ad707f2f3d714af7d983d68330ed51dace815f5)
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
7b3f48d2efc83094de70c24520bafacda3749a20 17-Jul-2014 Ben Clayton <bclayton@google.com> Use the count parameter to store all the uniform vectors, not just the first one. DO NOT MERGE.

Change-Id: Ib56d859051f0b895de5c12ffa371cd4b2b65ac0b
(cherry picked from commit 31b0aec64ba44b1ee0581e00a588d84f4b081512)
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
3d3c125423ab922e705c3f563c689bd7c4a04bac 07-Jul-2014 Ben Clayton <bclayton@google.com> Add data capturing of glCompressedTexImage2D and glCompressedTexSubImage2D calls.

Change-Id: I38643f5d279a84f1b7069801d7c106fc8f1ae394
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
16ac25b73a089e840e8d53cb3af3b6ff08ff54a3 07-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> am 168dfe71: am 5e530e02: am a151a19d: Merge "Fix return type of glGetAttribLocation and glGetUniformLocation"

* commit '168dfe71bfafebaa26b6f75df553f5fad7607669':
Fix return type of glGetAttribLocation and glGetUniformLocation
5e530e02bc3073a2e2469df3c333ae14f1b37433 07-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> am a151a19d: Merge "Fix return type of glGetAttribLocation and glGetUniformLocation"

* commit 'a151a19db2fa07295837027fb5d84c02401cc78d':
Fix return type of glGetAttribLocation and glGetUniformLocation
300ad09822db1013d9f28c4bca3680f865533ab6 06-Nov-2012 Andrew Hsieh <andrewhsieh@google.com> Fix return type of glGetAttribLocation and glGetUniformLocation

from int to GLint.

See:
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetAttribLocation.xml
http://www.khronos.org/opengles/sdk/docs/man/xhtml/glGetUniformLocation.xml

Change-Id: I4a9f8e9e34b8c3cca239ae84bfe8f3cdfd94802a
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
090503a01c457feb6e64facfc7eb50c1f5612c6b 01-Oct-2012 Siva Velusamy <vsiva@google.com> gltrace: Fix NPE

Change-Id: Id7af9cd388f3508201f96a0624966c2ce01b4da5
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
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_fixup.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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
a7167f364737c12e621d836f470cf328c6e111cd 01-Feb-2012 Siva Velusamy <vsiva@google.com> gltrace: fixup Push & Insert Marker calls

Change-Id: I58ced7225fac79ec636a65da4883614a5dce6dff
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
34c726efb54a941a97a6d7252e7c1442d2eded56 17-Jan-2012 Siva Velusamy <vsiva@google.com> gltrace: fixup data for glTexSubImage2D & glDeleteBuffers

Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
56ac6ff9bdc3c117e820c5a361ab45049c8b03f8 16-Dec-2011 Siva Velusamy <vsiva@google.com> gltrace: add start time & duration to each traced call.

Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
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_fixup.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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp
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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_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
/frameworks/native/opengl/libs/GLES_trace/src/gltrace_fixup.cpp