summaryrefslogtreecommitdiffstats
path: root/libs/gui
Commit message (Collapse)AuthorAgeFilesLines
* Refactored query function from SurfaceTexture into BufferQueueDaniel Lam2012-02-092-29/+31
| | | | Change-Id: Id1cb6cc38d01edb4fcfcad867c5a7693bdcc3ab1
* Refactored ISurfaceTexture calls from SurfaceTexture into BufferQueue.Daniel Lam2012-02-073-671/+726
| | | | Change-Id: I514f6b802f6b49c9ae27bed37bf0b9d23da03c9a
* make sure to ignore SIGPIPE in the write side of BitTubeMathias Agopian2012-02-061-1/+4
| | | | Change-Id: If4f037f4403d3ecbcd5f91248354765fc0fa13cb
* separate transactions from updatesMathias Agopian2012-02-011-1/+7
| | | | | | | | | | with this changes, SF transactions are handled as soon as possible but do not trigger updates. the update is delayed until the next vsync. this allows us to work much better without requiring triple-buffering. Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
* SurfaceTexture: use fence sync on omap4 & s5pc110Daniel Lam2012-01-221-0/+7
| | | | | | | This change enables the use of the EGL_KHR_fence_sync extension in SurfaceTexture on omap4 and s5pc110 platforms. Change-Id: Icad5245bab445413ffb8a7c823c296b678bf3250
* Get AID_GRAPHICS from right placeGlenn Kasten2012-01-131-9/+0
| | | | Change-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-088-34/+34
| | | | | | | 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-063-6/+6
| | | | | | | 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-051-1/+1
|\
| * Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-1/+1
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* | Merge "Use the standard CC_LIKELY and CC_UNLIKELY macros"Glenn Kasten2012-01-052-8/+0
|\ \ | |/ |/|
| * Use the standard CC_LIKELY and CC_UNLIKELY macrosGlenn Kasten2012-01-052-8/+0
| | | | | | | | | | | | | | | | | | | | | | Several source files privately defined macros LIKELY and UNLIKELY in terms of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and CC_UNLIKELY which are intended for this purpose. So rename the private uses to use the standard names. In addition, AudioFlinger was relying on the macro expanding to extra ( ). Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
* | Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-032-4/+4
|/ | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* am 74e0fcae: am a1dee3f5: Merge "SurfaceTexture: fix a verbose-log compile ↵Jamie Gennis2011-12-121-2/+2
|\ | | | | | | | | | | | | error" into ics-mr1 * commit '74e0fcaed1cd20ae8632224ff5a5404ff1a6e497': SurfaceTexture: fix a verbose-log compile error
| * SurfaceTexture: fix a verbose-log compile errorJamie Gennis2011-12-091-2/+2
| | | | | | | | Change-Id: I045231207e068d950bb0cb5085717af5d9454ed1
* | Improve the VSYNC api a bit.Mathias Agopian2011-12-062-0/+45
| | | | | | | | | | | | | | | | | | | | | | - add the ability to set the vsync delivery rate, when the rate is set to N>1 (ie: receive every N vsync), SF process' is woken up for all of vsync, but clients only see the every N events. - add the concept of one-shot vsync events, with a call-back to request the next one. currently the call-back is a binder IPC. Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
* | am 55d3880e: am bb1e7d43: Merge changes I7e973a35,Ib3386fcc into ics-mr1Mathias Agopian2011-11-302-166/+344
|\ \ | |/ | | | | | | | | * commit '55d3880eed3450748eb7b97281e030902ee29c2a': SurfaceTexture: add EGL_KHR_fence_sync option SurfaceTexture: add a blit-to-FBO test
| * SurfaceTexture: add EGL_KHR_fence_sync optionJamie Gennis2011-11-291-166/+233
| | | | | | | | | | | | | | | | This change adds a compile-time option for SurfaceTexture to use the EGL_KHR_fence_sync extension to synchronize access to Gralloc buffers. Bug: 5122031 Change-Id: I7e973a358631fff5308acf377581b811911fe790
| * SurfaceTexture: add a blit-to-FBO testJamie Gennis2011-11-291-0/+111
| | | | | | | | | | | | | | This change adds a test for blitting (via GL rendering) from a SurfaceTexture to an FBO. Change-Id: Ib3386fcc3f37153277f3e37a26347441bb80ab58
* | Add support for sending VSYNC events to the frameworkMathias Agopian2011-11-294-0/+190
| | | | | | | | | | | | | | | | | | use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
* | Fix build.Mathias Agopian2011-11-292-34/+0
| | | | | | | | | | | | | | | | Revert "Add support for sending VSYNC events to the framework" This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382. Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
* | Add support for sending VSYNC events to the frameworkMathias Agopian2011-11-292-0/+34
| | | | | | | | | | | | | | | | | | use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
* | BitTube::read now handles EAGAINMathias Agopian2011-11-291-0/+5
| | | | | | | | Change-Id: Iacda2386342ba0727bbf278f6c597488d5467bb8
* | split ComposerService out of SurfaceComposerClient.hMathias Agopian2011-11-284-0/+7
| | | | | | | | Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
* | am cc4d02e0: am 07a2d831: Merge "don\'t report an error when disconnecting ↵Mathias Agopian2011-11-211-2/+3
|\ \ | |/ | | | | | | | | | | from an abandoned surfacetexture" into ics-mr1 * commit 'cc4d02e0cbb99341a0508838c88eeef53180fdfd': don't report an error when disconnecting from an abandoned surfacetexture
| * Merge "don't report an error when disconnecting from an abandoned ↵Mathias Agopian2011-11-211-2/+3
| |\ | | | | | | | | | surfacetexture" into ics-mr1
| | * don't report an error when disconnecting from an abandoned surfacetextureMathias Agopian2011-11-181-2/+3
| | | | | | | | | | | | | | | | | | | | | this happens often with CPU Surfaces, which disconnect long after their surfacetexture has been abandoned. Change-Id: If49da03b72f99130e01b2b9bcbd444bb38f7ed4e
* | | am 8390cf39: am 8646cd42: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for ↵Mathias Agopian2011-11-212-3/+11
|\ \ \ | |/ / | | | | | | | | | | | | | | | tegra devices" into ics-mr1 * commit '8390cf39f8a4f74f7baa91d23cba06894a3fb9b5': enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
| * | Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices" into ics-mr1Mathias Agopian2011-11-212-3/+11
| |\ \
| | * | enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devicesMathias Agopian2011-11-182-3/+11
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this flag should be enabled for all targets, but currently some have issues with it, so we're turning it on only for tested targets. this will hopefully resolve some performance issues. Bug: 5553562, 5631630 Change-Id: I54c7a9e2068586898ab13e405d95534669260537
* | | am c2597295: am 53cf2020: Merge changes I37fd43b5,I91eb29db,I0491ce35 into ↵Jamie Gennis2011-11-212-241/+310
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | ics-mr1 * commit 'c25972950c2ea62fb085524dbe737c2bf0f08f4a': SurfaceTexture: fix a couple tests EGL: default to swap interval 1 SurfaceTexture: clean up some tests
| * | SurfaceTexture: fix a couple testsJamie Gennis2011-11-211-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes some robustness issues with the EglDestroySurfaceUnrefsBuffers and EglDestroySurfaceAfterAbandonUnrefsBuffers tests. The tests previously depended upon GL implementation details that should not have been relied upon. Change-Id: I37fd43b56568efe1dbe69d85e892be8a1cf44d20
| * | EGL: default to swap interval 1Jamie Gennis2011-11-212-0/+30
| | | | | | | | | | | | | | | | | | | | | This change explicitly sets swap interval 1 on the window when an EGLSurface is created to render to it. Change-Id: I91eb29dbee3ae4a55076b921f084d503fbe94e03
| * | SurfaceTexture: clean up some testsJamie Gennis2011-11-211-242/+255
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This change cleans a few things up in the SurfaceTexture tests: - Wraps a few long lines. - Refactors the multithreading portions of SurfaceTextureGLToGLTest into a new test fixture called SurfaceTextureGLThreadToGLTest. - Changes some of the tests that were creating their own EGLSurface to use the SurfaceTextureGLToGLTest fixture. - Reorders the test functions so that they are immediately below to the test fixture that they use. Change-Id: I0491ce3528a7ff2b4f1e83602ba290269c087297
* | am d0df44b5: am 4d71053b: Merge "attempt to fix bug 5313580" into ics-mr1Mathias Agopian2011-11-181-0/+6
|\ \ | |/ | | | | | | * commit 'd0df44b5c979e00a19187cea35768ba26557e447': attempt to fix bug 5313580
| * Merge "attempt to fix bug 5313580" into ics-mr1Mathias Agopian2011-11-181-0/+6
| |\
| | * attempt to fix bug 5313580Mathias Agopian2011-11-171-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the working theory here is that a Surface object has become non-promotable because it lost its last reference; later Surface::readFromParcel is called the previous surface is found in the cache, but can't be promoted. this causes a new Surface object to be created which will promptly try to connect to the CPU_API -- this in turn will fail because the previous (now dead) surface is still connected. To fix this, we make sure to disconnect from the SurfaceTexture when Surface[TextureClient] is destroyed. Change-Id: I422234868a05d7b7d283e9d5a85f7ab79e65d8a9
* | | am 9da22d2c: am 2ba13186: Merge "SurfaceTexture: fix a bug with buffer ↵Jamie Gennis2011-11-181-0/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | reallocation" into ics-mr1 * commit '9da22d2cc31069d86a92021d8540bb5a77c9591b': SurfaceTexture: fix a bug with buffer reallocation
| * | Merge "SurfaceTexture: fix a bug with buffer reallocation" into ics-mr1Jamie Gennis2011-11-171-0/+5
| |\ \ | | |/ | |/|
| | * SurfaceTexture: fix a bug with buffer reallocationJamie Gennis2011-11-171-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes an issue involving buffer reallocation and the ALLOW_DEQUEUE_CURRENT_BUFFER mode in SurfaceTexture. The bug happened when the buffer slot currently attached to the GL texture was selected for dequeuing, but the dequeue operation caused the buffer to be reallocated. Because the buffer is new, the image producer could fill the buffer and queue it before an updateTexImage call, which would result in the "slot %d is current" error in queueBuffer. Bug: 5631630 Change-Id: Icdd8bc5cad3c7db43953446d9be2603aaea11a8d
* | | am abdade71: am 69c17a11: Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER ↵Mathias Agopian2011-11-172-11/+3
|\ \ \ | |/ / | | | | | | | | | | | | | | | for tegra devices"" into ics-mr1 * commit 'abdade71bc17153696fe2abe281c5a3b0c2e5abe': Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"
| * | Merge "Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"" into ↵Mathias Agopian2011-11-162-11/+3
| |\ \ | | | | | | | | | | | | ics-mr1
| | * | Revert "enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices"Mathias Agopian2011-11-162-11/+3
| | |/ | | | | | | | | | | | | | | | | | | | | | This reverts commit e7758be6da85728df6b4215f413660c67c5a9740. Seemed to cause failures un SurfaceTexture. Bug: 5627450
* | | am 7765fc65: am fd6b64f6: Merge "SurfaceTexture: Fix to return the oldest of ↵Jamie Gennis2011-11-171-5/+17
|\ \ \ | |/ / | | | | | | | | | | | | | | | free buffers to Client on Dequeue call" into ics-mr1 * commit '7765fc651a9519dd2f0ac9d3374a50e9865c5c99': SurfaceTexture: Fix to return the oldest of free buffers to Client on Dequeue call
| * | Merge "SurfaceTexture: Fix to return the oldest of free buffers to Client on ↵Jamie Gennis2011-11-161-5/+17
| |\ \ | | |/ | |/| | | | Dequeue call" into ics-mr1
| | * SurfaceTexture: Fix to return the oldest of free buffers to Client on ↵Sunita Nadampalli2011-11-151-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dequeue call Surface Texture dequeue logic is modified to return the oldest of the free buffers to Client on dequeue call. Currently dequeue method is returning the first buffer index which is free. The parsing is done in ascending order of the buffer slot indices. This leads to returning the buffer which has been just queued to composer, and hence display, and this defeats the purpose of having minimum dequeue count as 2 in asynchrnouse mode. This is fixed by checking all the free slots and returning the oldest buffer. Change-Id: Ibbac10593c3994c278c601af0480b171635ecdd4 Signed-off-by: Sunita Nadampalli <sunitan@ti.com>
* | | am 556a406c: am 3aa684ec: Merge "enable ALLOW_DEQUEUE_CURRENT_BUFFER for ↵Mathias Agopian2011-11-152-3/+11
|\ \ \ | |/ / | | | | | | | | | | | | | | | tegra devices" into ics-mr1 * commit '556a406cf4dd8a7faa318e0d522d899f8b9da7dc': enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devices
| * | enable ALLOW_DEQUEUE_CURRENT_BUFFER for tegra devicesMathias Agopian2011-11-142-3/+11
| |/ | | | | | | | | | | | | | | | | | | | | this flag should be enabled for all targets, but currently some have issues with it, so we're turning it on only for tested targets. this will hopefully resolve some performance issues. Bug: 5553562 Change-Id: I939992b4cd0debea980dec0127c72be2dff33af8
* | am 738d8cae: am c93a151f: Merge "Define, document, and test the behavior of ↵Mathias Agopian2011-11-141-0/+32
|\ \ | |/ | | | | | | | | | | very large SurfaceTextures" into ics-mr1 * commit '738d8cae2239d194429676f2889cfae3c8f7ba08': Define, document, and test the behavior of very large SurfaceTextures
| * Define, document, and test the behavior of very large SurfaceTexturesMathias Agopian2011-11-111-0/+32
| | | | | | | | | | | | | | | | | | updateTexImage() now throws a runtime exception when its native counterpart fails Bug: 5506633 Change-Id: I151a6f685d465966e7df4df624412ab2da62e95f