| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
|
|/
|
|
| |
Change-Id: If900fcc50f9ffc424e270cb6063b16a2d7bc04d3
|
|
|
|
| |
Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
|
|
|
|
| |
Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
|
|/
|
|
|
|
|
|
| |
See b/5680952 "Compilation warnings in etc1.cpp" for discussion.
Fixes b/5680952
Change-Id: I0af6ba5ed5e60f3ed7a6a28eba3b09504fee1a3f
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| |/
|/|
| |
| |
| |
| | |
the h/w implementation of EGL" into ics-mr1
* commit 'e2970700e921da4226061988a6e8953b1fbfb5a9':
add a way to access the version string of the h/w implementation of EGL
|
| |
| |
| |
| |
| |
| |
| | |
we use a hidden egl extension. the version string is printed
in SF's dumpsys log.
Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
|
|\ \
| |/
| |
| |
| |
| |
| | |
this is the correct API." into ics-mr1
* commit 'ea54d0dc0dfeef5560fea04667804413d522025f':
Hide ManagedEGLContext until we are sure this is the correct API.
|
| |
| |
| |
| | |
Change-Id: If54942d342ca8ea348e10231b2aed3e5d3bd701b
|
|\ \
| |/
| |
| |
| |
| |
| | |
to be destroyed Bug #5639899" into ics-mr1
* commit 'c26e4d18a20ab0b3e769fb3e547994f1c27d6713':
Notify views when EGL resources are about to be destroyed Bug #5639899
|
| |\
| | |
| | |
| | | |
#5639899" into ics-mr1
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #5639899
Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
BoardConfig" into ics-mr1
* commit '8b8c321c70687ace750e42b745b6e96258d739cd':
EGL: Use cache sizes defined in the BoardConfig
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change introduces two new BoardConfig variables to control the size
limits of the EGL blob cache. MAX_EGL_CACHE_ENTRY_SIZE is the size
limit for values inserted into the cache, and MAX_EGL_CACHE_SIZE is the
size limit for all entries in the entire cache (including both keys and
values). If either of these BoardConfig variables are not defined then
a default size limit is used instead.
Change-Id: I6703d93f966b6389c6499f23d841e42339f9c9d7
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ics-mr1
* commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a':
SurfaceTexture: fix a couple tests
EGL: default to swap interval 1
SurfaceTexture: clean up some tests
|
| |/
| |
| |
| |
| |
| |
| | |
This change explicitly sets swap interval 1 on the window when an
EGLSurface is created to render to it.
Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
|
|\ \
| |/
| |
| |
| |
| |
| | |
into ics-mr1
* commit 'e2fca63a18c7bd3fb0c14e1c5dc391cd699cea9f':
EGL: fix blob cache extension detection
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Bug: 5474671
Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* commit '0272e60060162d2c32aec02d9cd1414dbbe14782':
GLES: add image external enums
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This change adds Java definitions for the enums of the
GL_OES_EGL_image_external OpenGL ES extension.
Bug: 3482193
Change-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | | |
extension strings" into ics-mr1
* commit '2030d78dc9c20d2f561f4b11f1a1adddb63661c6':
be a bit more defensive when parsing extension strings
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
hopefully this will fix a crash in the emulator.
Bug: 5624674
Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Until now a leak was possible under the following scenario:
Create a GLSurfaceView
Register a renderer (this automatically starts a GLThread).
Discard the GLSurfaceView without installing it in the view system.
This scenario can occur when a device is rotated rapidly from
orientation A to orientation B to orientation C. In that scenario,
orientation B's GLSurfaceView might be discarded without ever being
attached to a window.
If this issue had been identified before GLSurfaceView had clients, one
possible fix would have been to delay the construction of the GLThread
until the GLSurfaceView was attached to a window. Unfortunately, it's
too late, and so making that change would lead to observable changes in
behavior, possibly breaking some clients.
Instead, fixed by making GLThread and EGLHelper static classes that hold
onto a weak reference to the GLSurfaceView. This allows the GLSurfaceView
to be garbage collected when it is no longer used, even if the GLThread
is active. GLSurfaceView's finalize method will manually stop the GLThread
if it is still running when the GLSurfaceView exits.
Part of this change was to remove the Renderer reference from GLThread,
because Renderer is a user-supplied class that could contain a reference
chain that points back to the GLSurfaceView.
Fixes b/5606613 "GLSurfaceView that's never added to a window will
leak threads and views, can leak activities"
Change-Id: Iafdc329eb6e9e40062358e7c119f5547ffe23d5e
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
participate in memory trimming.
* commit '9aa6bd1c34fe3583fe31f283a6415e84fec12567':
Add new ManagedEGLContext class to help apps participate in memory trimming.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This class provides an API for an application to know when it is time to
destroy its EGL context when memory is being trimmed. By having this in
the framework, we can still detect whether it will be useful to destroy
any EGL contexts (because we know if doing so will destroy all of them).
Change-Id: I1eac8d640052778052926b875c7928008f752182
|
|\ \ \ \ \
| |/ / / /
| | / / /
| |/ / /
|/| | |
| | | |
| | | | |
into ics-mr1
* commit 'bc1b7f0481f9bfa0e9feff0b43e48f9f171e0c38':
rework a bit how we manage EGL extensions
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- don't advertise extensions that are not supported
by any implementation
- remove EGL_ANDROID_swap_rectangle which is not
implemented by anybody and confuses people
- add some comments about mandatory extensions
Bug: 5428001
Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
objects" into ics-mr1
* commit 'a0d32c4d094704fd6f4ccd3cba297a7c7d2f38fe':
fix crash when validating an invalid EGL objects
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the code that validated EGL objects dereferenced the object
to access its EGLDisplay -- needed for validation (!).
This was wrong for two reasons, first we dereferenced the object
before validating it (potentially leading to a crash), secondly
we didn't validate that the object existed in the right EGLDisplay.
We now use the EGLDisplay passed by the user API.
Change-Id: I66f9e851d4f8507892a6b1fee3065f124c4e7138
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
cache ext" into ics-mr1
* commit 'c38d40ded9810aa809489e080ee811bec86d546d':
EGL: add the ANDROID suffix to the blob cache ext
|