summaryrefslogtreecommitdiffstats
path: root/libs/gui
Commit message (Collapse)AuthorAgeFilesLines
* Merge "CpuConsumer_test: Extend test with new formats RGBA8888 and optional ↵Igor Murashkin2013-03-051-9/+255
|\ | | | | | | Y8/Y16" into jb-mr2-dev
| * CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16Igor Murashkin2013-03-051-9/+255
| | | | | | | | Change-Id: I0a0f6ce73516883bf50c749a1759abbdb3748e08
* | Merge "rework screenshot API and implementation" into jb-mr2-devMathias Agopian2013-03-052-2/+43
|\ \
| * | rework screenshot API and implementationMathias Agopian2013-03-012-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - SurfaceFlinger now supports to take a screenshot directly into an IGraphicBufferProducer - reimplement the IMemoryHeap screenshot on top of the above - reimplement LayerScreenshot such that its BufferQueue is directly used as the destination of the screenshot. LayerScreenshot is now a thin wrapper around Layer Bug: 6940974 Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
* | | Fix reading NULL Surfaces from ParcelsJesse Hall2013-03-021-1/+1
| |/ |/| | | | | | | | | | | | | | | Writing a NULL Surface was being read as a non-NULL Surface with NULL mGraphicBufferProducer. Before the SurfaceTextureClient -> Surface refactoring, you'd get a NULL Surface, and some code relies on that. Bug: 8291161 Change-Id: I477bfe8882693e53a5f604a3d2c9e3cfe24473b4
* | Revert "Change SurfaceControl setPosition to take floats"Dave Burke2013-03-011-1/+1
|/ | | | | | | | | | Temporary, to fix weekend build, until we get Nvidia code drop. This reverts commit 9a867a8798fa6ea21f6341db31e38ea64fde6c83 DO NOT MERGE Change-Id: I7b5dbc4db46ef3d97dc8598057d5487d6971178b
* CpuConsumer: Add optional asynchronous modeEino-Ville Talvala2013-02-281-2/+2
| | | | | | | Bug: 8290146 Bug: 8291751 Change-Id: I9c8ac4bff38b0411e987a204e540d018dba6d0b4
* CpuConsumer: Don't unlock buffers on producer disconnectEino-Ville Talvala2013-02-281-20/+26
| | | | | | Bug: 8291751 Change-Id: I062a3d34b41183d07fb6b9109cdb6bf0c0c75672
* Added a test that checks the error behavior of ConsumerBase::abandonMathias Agopian2013-02-251-1/+31
| | | | | | | | We check that calling eglSwapBuffers() on an abandonned BufferQueue return EGL_BAD_SURFACE -- this is to ensure consistancy between drivers. Change-Id: Ibb548e0cf767ceee69f2fc4a85811d15a6522277
* Change SurfaceControl setPosition to take floatsMichael Wright2013-02-211-1/+1
| | | | | Bug: 8153162 Change-Id: If3c4b7a3e124ace25999eb9a569dc9a806a1fbc2
* get rid of Surface::getISurfaceTexture()Mathias Agopian2013-02-191-1/+1
| | | | | | this was there just for legacy reasons. Change-Id: I0a48d6e04d7efa65033f9f10c91bba557f16ae8b
* Refactoring: Rename SurfaceTextureClient to SurfaceMathias Agopian2013-02-148-1128/+968
| | | | Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
* get rid of Surface identity and tokenMathias Agopian2013-02-134-122/+99
| | | | | | we use the IBinder instead. Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
* libgui: disallow NULL Fence pointersJamie Gennis2013-02-128-54/+38
| | | | | | | | | This change eliminates the uses of a NULL sp<Fence> indicating that no waiting is required. Instead we use a non-NULL but invalid Fence object for which the wait methods will return immediately. Bug: 7892871 Change-Id: I5360aebe3090422ef6920d56c99fc4eedc642e48
* Minor tweaks.Andy McFadden2013-01-081-1/+1
| | | | Change-Id: I9f82f574112141b6aa074c42303056cd52d5c478
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-1814-177/+178
| | | | | | | | | | The C++ class names don't match what the classes do, so rename ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to GLConsumer. Bug 7736700 Change-Id: Ia03e468888025b5cae3c0ee1995434515dbea387
* stop using a deprecated SurfaceTextureClient ctorJamie Gennis2012-12-122-3/+3
| | | | Change-Id: I8c8282a0debd551db290dd6849faf272a88c704c
* Merge "SurfaceTextureClient: remove a deprecated ctor"Jamie Gennis2012-12-121-8/+0
|\
| * SurfaceTextureClient: remove a deprecated ctorJamie Gennis2012-12-121-8/+0
| | | | | | | | Change-Id: Ibf2746fdca26851677cd90199c60eab80f6d0c73
* | Merge "SurfaceFlinger: Move GraphicBufferAlloc to libgui"Jamie Gennis2012-12-122-11/+65
|\ \
| * | SurfaceFlinger: Move GraphicBufferAlloc to libguiJamie Gennis2012-12-112-11/+65
| |/ | | | | | | | | | | This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui. Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
* | Avoid unnecessary texture bindAndy McFadden2012-12-111-16/+16
|/ | | | | | | In SurfaceFlingerConsumer, check to see if native fence sync is enabled. If so, defer the texture binding step to Layer::onDraw. Change-Id: I7d4034a31c0143207eea2509dfa13ef3820f9b8c
* Refactor SurfaceTexture a bit.Andy McFadden2012-12-112-139/+192
| | | | | | | | | | | | Rearranges updateTexImage() so that the SurfaceFlinger-specific behavior is in a new SurfaceFlingerConsumer subclass. SurfaceTexture behavior should not be altered. Instead of acquire-bind-release we now do acquire-release-bind, but since it's all done with the lock held there shouldn't be any externally-visible change. Change-Id: Ia566e4727945e2cfb9359fc6d2a8f8af64d7b7b7
* am 50f8d285: am d4e70620: am 72c3f7d8: Revert "ConsumerBase: free buffers ↵Jamie Gennis2012-12-071-24/+10
|\ | | | | | | | | | | | | outside the lock" * commit '50f8d2856b6644059b31684687842bf9c1f2e814': Revert "ConsumerBase: free buffers outside the lock"
| * Revert "ConsumerBase: free buffers outside the lock"Jamie Gennis2012-12-071-24/+10
| | | | | | | | This reverts commit b21a4e3b5f7f07ed160ca6e1809313e2a8e2a6a4.
* | am 05989772: am 3ed2736c: am b21a4e3b: ConsumerBase: free buffers outside ↵Jamie Gennis2012-12-061-10/+24
|\ \ | |/ | | | | | | | | | | the lock * commit '05989772d5b46cd5328e88d546f04deef39cc3c8': ConsumerBase: free buffers outside the lock
| * ConsumerBase: free buffers outside the lockJamie Gennis2012-12-061-10/+24
| | | | | | | | | | | | | | | | | | This change makes ConsumerBase::onBuffersReleased hold a reference to all its gralloc buffers until after the mutex is unlocked. This prevents slow gralloc::free calls from causing lock contention with rendering threads. Bug: 7675940 Change-Id: I0ec805d1b612afeeecfffec03f982371d27d93be
| * fix typo that broke all the buildsMathias Agopian2012-11-191-6/+3
| | | | | | | | | | Bug: 7584338 Change-Id: Ieb8c27a544ac583af9aa1e0376e33a673d2d9673
* | fix typo that broke all the buildsMathias Agopian2012-11-191-6/+3
| | | | | | | | | | | | | | cherry pick into master since auto-merger is blocked Bug: 7584338 Change-Id: Ie7d7c238de1fd224b3b0bae9669a8dcb2f700a79
* | am c208cdd4: am 1d3612f1: am 2a8c49eb: fix an out-of-bounds memory accessMathias Agopian2012-11-191-4/+6
|\ \ | |/ | | | | | | * commit 'c208cdd402d767228a34074d589c6368cc656b7d': fix an out-of-bounds memory access
| * fix an out-of-bounds memory accessMathias Agopian2012-11-151-4/+6
| | | | | | | | | | | | | | | | in this particular case, this OOB is always harmless (and that's why it didn't get fixed from MR1), however, it interfers with valgrind debugging. Change-Id: Ic977e03287e59c4b124a89146c9023bd0cb540a8
* | Merge "Change ConsumerBase's FrameAvailableListener to be a weak pointer"Igor Murashkin2012-11-051-2/+2
|\ \
| * | Change ConsumerBase's FrameAvailableListener to be a weak pointerIgor Murashkin2012-11-051-2/+2
| |/ | | | | | | | | | | | | | | This prevents strong reference cycles when the listener implementation also holds a strong pointer to the ConsumerBase Bug: 7425644 Change-Id: I1514b13a32b18d421c902dddebec0765a989c55c
* | Allow global transactions to nest.Jeff Brown2012-11-021-3/+24
|/ | | | | | | | | | | | | This change fixes a number of small glitches that can occur when multiple components in the same process are updating surfaces. One would expect that updates to disjoint sets of surfaces would not collide but this is not the case. The first component to close the global transaction causes all pending updates to be applied, including those that another component might not have finished setting up if it also had an open transaction at the same time. Change-Id: I99345958581abbe0e1e325a5bcba37e8941a313a
* SurfaceFlinger: add support for secure displaysJamie Gennis2012-10-222-21/+11
| | | | | | | | | This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
* Merge "BufferQueue: alloc without holding the lock" into jb-mr1-devJamie Gennis2012-10-171-11/+25
|\
| * BufferQueue: alloc without holding the lockJamie Gennis2012-10-111-11/+25
| | | | | | | | | | | | | | | | | | | | This change makes BufferQueue::dequeueBuffer release its mutex before allocating new buffers. This should alleviate lock contention in SurfaceFlinger where SF's main thread can get blocked waiting for an allocation operation to complete. Bug: 7335075 Change-Id: I1b000539cc616a695afab2e9c68507db69e57b13
* | SurfaceFlinger: add animation transactionsJamie Gennis2012-10-151-1/+22
|/ | | | | | | | | | This change adds a transaction flag for WindowManager to indicate that a transaction is being used to animate windows around the screen. SurfaceFlinger will not allow more than one of these transactions to be outstanding at a time to prevent the animation "frames" from being dropped. Bug: 7353840 Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
* Add blankDisplay/unblankDisplay to SurfaceComposerClient.Jeff Brown2012-10-081-0/+8
| | | | | Bug: 7309812 Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
* Fix race condition in ConsumerBase::addReleaseFence()Jesse Hall2012-10-053-3/+8
| | | | | | | | | | | This needs the ConsumerBase mutex locked, but wasn't locking it. Two of the four places that called it already held the lock so were fine. Now addReleaseFence() takes the lock itself, and I added addReleaseFenceLocked() for the two already-locked callers, since in one of them dropping the lock would be inconvenient. Bug: 7289269 Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
* Fix missing parens in CleanSpec.mk.Stephen Hines2012-10-041-0/+1
| | | | Change-Id: I0440a942d3e685d619ec9cc402d3293cb3f52df1
* Fix broken CleanSpec.mk in libs/guiRaph Levien2012-10-041-1/+1
| | | | | | | | | | | The CleanSpec is missing parens, which causes $P to be interpreted as a single variable, and the following printed to the log: Clean step: rm -rf RODUCT_OUT/obj/SHARED_LIBRARIES/libgui_intermediates This patch adds parens as needed. Change-Id: I587998fa67a4884418c286360a577cdbb6ea9a21
* libgui: enable fence support for exynos5Jamie Gennis2012-10-032-1/+3
| | | | | Change-Id: Iffc48412b8c951116a956a3ac7dab8d75eed13da Bug: 7238122
* libgui: fix up compile optionsJamie Gennis2012-10-034-51/+12
| | | | | | | | | This change adds debug info to SurfaceFlinger's dumpsys to indicate that the USE_WAIT_SYNC compile option was enabled, and it removes the ALLOW_DEQUEUE_CURRENT_BUFFER option. Bug: 7238122 Change-Id: I70e08e34c2ef58aa6d2f88229e781a119f84b5a9
* Add Fence::waitForever which logs a warning timeout, and use itJesse Hall2012-10-024-8/+12
| | | | | Bug: 7217641 Change-Id: If0c1a613ead307c4045a47824174bf40c72bc7d7
* Pass display arg to blank/unblankAndy McFadden2012-09-281-4/+8
| | | | | | | | This allows us to blank and unblank displays other than the built-in display (e.g. HDMI). Bug: 7240511 Change-Id: I89ea13f9e497be74c3e1231d0c62fb558e93e0f8
* Revert "Compatibility work around for bad graphics driver dependency."Iliyan Malchev2012-09-271-9/+0
| | | | | | This reverts commit a50b51c03aca449920fc8581a738032a7bce7150 Change-Id: Ibdcd776a7f241dbb2475403ea04f939249774c41
* Show build config in dumpsys SurfaceFlingerAndy McFadden2012-09-252-1/+40
| | | | | | | | | | | | | This adds a line to the "dumpsys SurfaceFlinger" output that shows build-time configuration values. Example: Build configuration: [sf HAS_CONTEXT_PRIORITY] [libui] \ [libgui USE_FENCE_SYNC] Bug 7206633 Change-Id: Ibe1856b459d34a4be6ee83a4ebfd2807e6cc68a0
* fix a crasher in SurfaceTexture's setFilteringEnabledMathias Agopian2012-09-241-5/+19
| | | | | bug: 7211067 Change-Id: Id8658a8df429d76c20ab9112858b38e52343dc9c
* ConsumerBase: make fence names meaningfulJamie Gennis2012-09-241-1/+1
| | | | Change-Id: I3580120cb63c027c327e80ec70e68650b75395de