summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
...
| * Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-045-15/+15
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* | gltrace: add user settings to control data captured.Siva Velusamy2012-01-045-8/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | gltrace: add start time & duration to each traced call.Siva Velusamy2012-01-049-511/+1344
| | | | | | | | Change-Id: Idfec8f715f6000594b6381cbfdee9fdf6d89f484
* | gltrace: transport buffering and context managementSiva Velusamy2012-01-0414-1218/+1077
| | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "gltrace: attach contents of the appropriate framebuffer"Siva Velusamy2012-01-045-13/+33
|\ \ | |/ |/|
| * gltrace: attach contents of the appropriate framebufferSiva Velusamy2011-12-075-13/+33
| | | | | | | | | | | | | | | | | | 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
* | Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-0314-63/+63
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* | Fix convert8To4, convert8To5Jack Palevich2011-12-091-2/+2
|/ | | | | | | | See b/5680952 "Compilation warnings in etc1.cpp" for discussion. Fixes b/5680952 Change-Id: I0af6ba5ed5e60f3ed7a6a28eba3b09504fee1a3f
* gltrace: Make framebuffer contents an optional message.Siva Velusamy2011-12-054-13/+495
| | | | | | | | | | | | 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
* Merge "glestrace: Framework for GLES tracing library"Siva Velusamy2011-12-0233-484/+17425
|\
| * glestrace: Framework for GLES tracing librarySiva Velusamy2011-12-0233-484/+17425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | am e2970700: am e8ba2aba: Merge "add a way to access the version string of ↵Mathias Agopian2011-11-302-1/+10
|\ \ | |/ |/| | | | | | | | | 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
| * add a way to access the version string of the h/w implementation of EGLMathias Agopian2011-11-292-1/+10
| | | | | | | | | | | | | | we use a hidden egl extension. the version string is printed in SF's dumpsys log. Change-Id: I123eb4bde6de462bb2404c67b74d6d6219a48d6a
* | am ea54d0dc: am 723218b4: Merge "Hide ManagedEGLContext until we are sure ↵Romain Guy2011-11-211-0/+2
|\ \ | |/ | | | | | | | | | | this is the correct API." into ics-mr1 * commit 'ea54d0dc0dfeef5560fea04667804413d522025f': Hide ManagedEGLContext until we are sure this is the correct API.
| * Hide ManagedEGLContext until we are sure this is the correct API.Romain Guy2011-11-211-0/+2
| | | | | | | | Change-Id: If54942d342ca8ea348e10231b2aed3e5d3bd701b
* | am c26e4d18: am 8cd39e3a: Merge "Notify views when EGL resources are about ↵Romain Guy2011-11-211-3/+2
|\ \ | |/ | | | | | | | | | | to be destroyed Bug #5639899" into ics-mr1 * commit 'c26e4d18a20ab0b3e769fb3e547994f1c27d6713': Notify views when EGL resources are about to be destroyed Bug #5639899
| * Merge "Notify views when EGL resources are about to be destroyed Bug ↵Romain Guy2011-11-211-3/+2
| |\ | | | | | | | | | #5639899" into ics-mr1
| | * Notify views when EGL resources are about to be destroyedRomain Guy2011-11-211-3/+2
| | | | | | | | | | | | | | | | | | Bug #5639899 Change-Id: I7c5d8bebf02294426f5b3ab1358a31c38a4fd064
* | | am 8b8c321c: am b8d20d02: Merge "EGL: Use cache sizes defined in the ↵Jamie Gennis2011-11-212-3/+18
|\ \ \ | |/ / | | | | | | | | | | | | | | | BoardConfig" into ics-mr1 * commit '8b8c321c70687ace750e42b745b6e96258d739cd': EGL: Use cache sizes defined in the BoardConfig
| * | Merge "EGL: Use cache sizes defined in the BoardConfig" into ics-mr1Jamie Gennis2011-11-212-3/+18
| |\ \
| | * | EGL: Use cache sizes defined in the BoardConfigJamie Gennis2011-11-212-3/+18
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ↵Jamie Gennis2011-11-211-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | ics-mr1 * commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a': SurfaceTexture: fix a couple tests EGL: default to swap interval 1 SurfaceTexture: clean up some tests
| * | EGL: default to swap interval 1Jamie Gennis2011-11-211-0/+5
| |/ | | | | | | | | | | | | This change explicitly sets swap interval 1 on the window when an EGLSurface is created to render to it. Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
* | am e2fca63a: am c8fd6e30: Merge "EGL: fix blob cache extension detection" ↵Jamie Gennis2011-11-181-1/+1
|\ \ | |/ | | | | | | | | | | into ics-mr1 * commit 'e2fca63a18c7bd3fb0c14e1c5dc391cd699cea9f': EGL: fix blob cache extension detection
| * Merge "EGL: fix blob cache extension detection" into ics-mr1Jamie Gennis2011-11-171-1/+1
| |\
| | * EGL: fix blob cache extension detectionJamie Gennis2011-11-171-1/+1
| | | | | | | | | | | | | | | Bug: 5474671 Change-Id: I6359063ccf23f076fc84c80b8a2f6731a65eef18
* | | am 0272e600: am a37a78e2: Merge "GLES: add image external enums" into ics-mr1Jamie Gennis2011-11-182-1/+9
|\ \ \ | |/ / | | | | | | | | | * commit '0272e60060162d2c32aec02d9cd1414dbbe14782': GLES: add image external enums
| * | Merge "GLES: add image external enums" into ics-mr1Jamie Gennis2011-11-172-1/+9
| |\ \
| | * | GLES: add image external enumsJamie Gennis2011-11-152-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds Java definitions for the enums of the GL_OES_EGL_image_external OpenGL ES extension. Bug: 3482193 Change-Id: Ib50326f8be9b9cc9021753855c3846ddcdc5eaa2
* | | | am 2030d78d: am 8fc3540f: Merge "be a bit more defensive when parsing ↵Mathias Agopian2011-11-171-9/+13
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | extension strings" into ics-mr1 * commit '2030d78dc9c20d2f561f4b11f1a1adddb63661c6': be a bit more defensive when parsing extension strings
| * | | be a bit more defensive when parsing extension stringsMathias Agopian2011-11-161-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | hopefully this will fix a crash in the emulator. Bug: 5624674 Change-Id: I96586e29ea20efd73c4ad50870df5b7368bf3c3b
* | | | Merge "Fix potential GLThread / GLSurfaceView memory leak."Jack Palevich2011-11-171-51/+105
|\ \ \ \
| * | | | Fix potential GLThread / GLSurfaceView memory leak.Jack Palevich2011-11-151-51/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | am 9aa6bd1c: am 717a25dc: Add new ManagedEGLContext class to help apps ↵Dianne Hackborn2011-11-171-0/+136
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | participate in memory trimming. * commit '9aa6bd1c34fe3583fe31f283a6415e84fec12567': Add new ManagedEGLContext class to help apps participate in memory trimming.
| * | | | Add new ManagedEGLContext class to help apps participate in memory trimming.Dianne Hackborn2011-11-161-0/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | am bc1b7f04: am c0fa2a3b: Merge "rework a bit how we manage EGL extensions" ↵Mathias Agopian2011-11-1516-4149/+82
|\ \ \ \ \ | |/ / / / | | / / / | |/ / / |/| | | | | | | | | | | into ics-mr1 * commit 'bc1b7f0481f9bfa0e9feff0b43e48f9f171e0c38': rework a bit how we manage EGL extensions
| * | | rework a bit how we manage EGL extensionsMathias Agopian2011-11-1416-4149/+82
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | | am a0d32c4d: am 6b3ce09d: Merge "fix crash when validating an invalid EGL ↵Mathias Agopian2011-11-156-41/+48
|\ \ \ | |/ / | | | | | | | | | | | | | | | objects" into ics-mr1 * commit 'a0d32c4d094704fd6f4ccd3cba297a7c7d2f38fe': fix crash when validating an invalid EGL objects
| * | fix crash when validating an invalid EGL objectsMathias Agopian2011-11-146-41/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | am c38d40de: am 6b228af6: Merge "EGL: add the ANDROID suffix to the blob ↵Jamie Gennis2011-11-155-57/+59
|\ \ \ | |/ / | | | | | | | | | | | | | | | cache ext" into ics-mr1 * commit 'c38d40ded9810aa809489e080ee811bec86d546d': EGL: add the ANDROID suffix to the blob cache ext
| * | Merge "EGL: add the ANDROID suffix to the blob cache ext" into ics-mr1Jamie Gennis2011-11-145-57/+59
| |\ \ | | |/ | |/|
| | * EGL: add the ANDROID suffix to the blob cache extJamie Gennis2011-11-115-57/+59
| | | | | | | | | | | | | | | | | | | | | This change adds the ANDROID suffix to the all the types and functions defined by the EGL_ANDROID_blob_cache extension. Change-Id: I087875b96d9a7053efb9c8d5614f9f765eed799d
* | | am cb0db030: Merge branch \'ics-mr1-plus-aosp\' of ↵Akwasi Boateng2011-11-114-1/+20
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ssh://android-git:29418/platform/frameworks/base into ics-mr1-plus-aosp * commit 'cb0db0306b5849a35d3d99eea1b34ce019c6f0d8': Make the overridden ImageView#setVisibility remotable Clamp non-monotonic stats instead of dropping. DO NOT MERGE. Fix leak in LayoutTransition Fix lastVisible/global rects Fix Wimax-less build. Fix leak in LayoutTransition Deferring wallpaper update to improve workspace scrolling (issue 5506959) Terminate EGL when an app goes in the background boot animation is dithered and scaled Fix NdefRecord byte-stream constructor. PopupWindow dismiss() can get into a recursive loop. Fold WiMAX state into the mobile RSSI. Remove dedicated wimax icon to fix RSSI layout.
| * | Merge "Terminate EGL when an app goes in the background" into ics-mr1Romain Guy2011-11-104-1/+20
| |\ \ | | |/ | |/|
| | * Terminate EGL when an app goes in the backgroundRomain Guy2011-11-104-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | This does not happen on high end gfx devices. This happens only if only one EGL context is initialized in the current process. Change-Id: Ibd1737efdf84eef8a84108b05795440d1ae9964e
* | | am 1bf15e79: am 97ece7a9: Merge "EGL: add deferred saving of the cache" into ↵Jamie Gennis2011-11-102-0/+34
|\ \ \ | |/ / | | | | | | | | | | | | | | | ics-mr1 * commit '1bf15e79dcc89229c599987ed795e3fd99bcbc88': EGL: add deferred saving of the cache
| * | EGL: add deferred saving of the cacheJamie Gennis2011-11-082-0/+34
| |/ | | | | | | | | | | | | | | This change causes any insertions into the EGL cache to trigger an attempt to save the cache contents to disk. The save operation is deferred to allow multiple cache insertions to be batched up. Change-Id: I6cfec9c0dbbef94d3f8880860e2a365dccc296c7
* | am 3cb007e4: am 911263dc: Merge changes I18e5e789,I5cbaae2d into ics-mr1Jamie Gennis2011-11-097-21/+460
|\ \ | |/ | | | | | | | | * commit '3cb007e44db1e169747528f62a118575f3b04d56': EGL: implement loading and saving the cache EGL: use an in-memory the blob cache
| * EGL: implement loading and saving the cacheJamie Gennis2011-11-085-5/+293
| | | | | | | | | | | | | | This change adds support for saving and loading the contents of the EGL cache. It also adds some simple tests for the EGL cache. Change-Id: I18e5e789e0897a0783d29d1c1e64d26de2dd44c4
| * EGL: use an in-memory the blob cacheJamie Gennis2011-11-074-16/+167
| | | | | | | | | | | | | | | | This change makes the makes the stub EGL_ANDROID_blob_cache callbacks actually use a BlobCache object. Bug: 5474671 Change-Id: I5cbaae2dea3aad2fe306c9f57029c3f215a0863a