summaryrefslogtreecommitdiffstats
path: root/opengl
Commit message (Collapse)AuthorAgeFilesLines
* Add tracing to various graphics components.Jamie Gennis2012-02-271-0/+5
| | | | | | | This change adds ATRACE call tracing to BufferQueue, SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL. Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
* libagl shouldn't export anythingMathias Agopian2012-02-271-18/+640
| | | | Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
* Merge "gltrace: Make code 64-bit safe."Siva Velusamy2012-02-274-555/+2118
|\
| * gltrace: Make code 64-bit safe.Siva Velusamy2012-02-274-555/+2118
| | | | | | | | | | | | | | | | | | 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
* | Merge "gltrace: attach buffer data sent with glBufferData"Siva Velusamy2012-02-271-0/+28
|\ \ | |/
| * gltrace: attach buffer data sent with glBufferDataSiva Velusamy2012-02-241-0/+28
| | | | | | | | | | | | | | Attach the buffer that is passed with glBufferData and glBufferSubData to the proto buf. Change-Id: I1b4c1172d405736b06cb0a356a6e241e1d60c4d5
* | remove dependency on android_native{s_priv|buffer}.hMathias Agopian2012-02-243-6/+3
| | | | | | | | Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
* | remove libui dependency on libEGLMathias Agopian2012-02-2438-70/+189
|/ | | | Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
* Merge "gltrace: Trace thread time and wall clock time."Siva Velusamy2012-02-178-1334/+3138
|\
| * gltrace: Trace thread time and wall clock time.Siva Velusamy2012-02-178-1334/+3138
| | | | | | | | | | | | | | For each gl function, trace both the thread and wall clock times. Change-Id: I32b6caa67fa50bf915dab89b3c5021ee82e28d55
* | Merge "Remove unused private APIs"Romain Guy2012-02-174-655/+0
|\ \ | |/ |/|
| * Remove unused private APIsRomain Guy2012-02-174-655/+0
| | | | | | | | Change-Id: Ib22005c7ed9923120089a1f1c806bca55bb90967
* | Merge "Don't wrap EGLImageKHR and EGLSyncKHR anymore"Mathias Agopian2012-02-149-289/+39
|\ \ | |/ |/|
| * Don't wrap EGLImageKHR and EGLSyncKHR anymoreMathias Agopian2012-02-149-289/+39
| | | | | | | | | | | | | | | | this simplify our EGL wrapper implementation a lot. This wrapping is no longer needed now that we can only support a single underlaying EGL implementation. Change-Id: I8213df7ac69daac447f1fe6e37044b78aac4e9a9
* | Merge "gltrace: Patch up all glUniform*() calls."Siva Velusamy2012-02-141-0/+154
|\ \ | |/ |/|
| * gltrace: Patch up all glUniform*() calls.Siva Velusamy2012-02-141-0/+154
| | | | | | | | | | | | | | | | | | | | 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
* | EGLConfig is now not remaped to an internal EGLConfigMathias Agopian2012-02-136-261/+54
| | | | | | | | | | | | | | this is possible now that we support only a single EGL implementation. this allows a large code simplification. Change-Id: I7a6b9db4c5d60f4407c6061e7a68729af63d5242
* | remove multiplexing of multiple EGL implementationMathias Agopian2012-02-1310-427/+258
|/ | | | | | | | | | from now on, the system can only have one EGL implementation. this means the software and h/w renderer cannot be used at the same time on a device. Of course, the h/w renderer is always prefered; in its absence we default to the software renderer. Change-Id: Ib579f58055dd0ce4c4a99144131efa11c16ca3d3
* fix a dead-lock in eglMakeCurrentMathias Agopian2012-02-032-22/+54
| | | | | | | | | | this was introduced in a recent change. eglMakeCurrent can end up calling eglDestroyImageKHR via ANativewWindow::disconnect when the consumer is in the same process. we make sure we don't hold the lock while this is happening. Change-Id: Id17fe4fd76eecf5f962cefb9aa32be41fc1b042d
* gltrace: fixup Push & Insert Marker callsSiva Velusamy2012-02-011-0/+8
| | | | Change-Id: I58ced7225fac79ec636a65da4883614a5dce6dff
* fix a race condition in eglMakeCurrent()Mathias Agopian2012-01-303-35/+52
| | | | | | | | | | | | | | it would happen when a context was made non-current, in this case we would call the implementation's eglMakeCurrent() which would succeed, if we're rescheduled at that point, another eglMakeCurrent() could make that context current to another thread, however, when we came back to the original call we would overwrite egl_context_t internal state. this is fixed by moving the critical section under egl_display_t's lock. Change-Id: I743c85696e13263d3a9570824940263df0caacdc
* Merge "add all needed GL extension wrappers"Mathias Agopian2012-01-301-16/+34
|\
| * add all needed GL extension wrappersMathias Agopian2012-01-301-16/+34
| | | | | | | | | | | | | | when increasing MAX_NUMBER_OF_GL_EXTENSIONS to 256 we also needed to create all the corresponding wrappers. Change-Id: I90edaaf0885ccdfab48e7a1396bcf88e039cfb25
* | Merge "add support for GL_EXT_debug_marker"Mathias Agopian2012-01-3012-12/+118
|\ \ | |/ |/|
| * add support for GL_EXT_debug_markerMathias Agopian2012-01-2912-12/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This extension is always added to the GL_EXTENSIONS extension string for the current GL context, regardless of if it's supported by the h/w driver. The extension itself will be handled by GLES_trace (eventually), when GLES_trace is not enabled, it'll result to a no-op. If the h/w implementation has this extension, we'll call that version instead of our dummy version. Change-Id: Ie5dd3387c4d45cd5ed5f03b73bda6045620a96bc
* | Merge "gltrace: Use Unix Domain Socket rather than INET Socket"Siva Velusamy2012-01-303-19/+21
|\ \ | |/ |/|
| * gltrace: Use Unix Domain Socket rather than INET SocketSiva Velusamy2012-01-273-19/+21
| | | | | | | | | | | | | | | | 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
* | Merge "update GLES headers and add support for corresponding new extensions."Mathias Agopian2012-01-2915-83/+3951
|\ \
| * | update GLES headers and add support for corresponding new extensions.Mathias Agopian2012-01-2815-83/+3951
| |/ | | | | | | Change-Id: I554d9659113b4721b748ee5c1a3b1ca82b11d75e
* | remove unused codeMathias Agopian2012-01-2820-10596/+0
|/ | | | Change-Id: If900fcc50f9ffc424e270cb6063b16a2d7bc04d3
* hack up frame latency measurementJamie Gennis2012-01-241-0/+20
| | | | Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
* gltrace: fixup data for glTexSubImage2D & glDeleteBuffersSiva Velusamy2012-01-171-23/+64
| | | | Change-Id: I1c1deb8c6026ecf1fa0ed5287ccf601416eba6dc
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-0818-51/+51
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-064-7/+7
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE"Steve Block2012-01-055-15/+15
|\
| * 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