summaryrefslogtreecommitdiffstats
path: root/include/private
Commit message (Collapse)AuthorAgeFilesLines
* SurfaceFlinger: Native changes to add blur effectByunghun Jeon2015-11-081-2/+10
| | | | | | | | | | | | | | Native changes to add blur-behind and blur mask effect Change-Id: I54faf82d750e8299de6d261f6a893ab26d08df84 SurfaceFlinger: Adding template for LayerBlur files Change-Id: I444009113b7bdd6c5284863fd1f56358e67d9fe6 SurfaceFlinger: Featurize libuiblur module for OSS build Change-Id: Ifdc176e699434125d17b111c044b8ba954cf717c
* libgui/SF: Propagate SECURE Layer flag changesDan Stoza2015-06-181-2/+2
| | | | | | | | | This allows changes to the SECURE flag to propagate down to Layers in SurfaceFlinger so that WindowManager can change it on the fly in response to device policy updates. Bug: 20934462 Change-Id: I558f6d22c6273be373f1f480365e42536af18a33
* Fix issue #18356768: some app process may hang at Runtime#exit...Dianne Hackborn2014-11-131-5/+0
| | | | | | | | | ...in Parcel destructor Don't use a Mutux object, just use simple posix mutex primitives, to avoid static init/destroy order problems. Change-Id: Ic012d94297564c0a55d58869f8276d7d10545fbc
* Add tracking of parcel memory allocations.Dianne Hackborn2014-11-111-1/+6
| | | | Change-Id: I76ffed0e69ccfe70e87d98646f11d4de7c3fd980
* Have VirtualDisplays send SF resize messages when resizingMichael Wright2014-07-301-1/+3
| | | | Change-Id: I76d15b22099a659450ec875836c9bf2b6584838f
* Allow "opaque" flag to be updatedAndy McFadden2014-01-291-1/+6
| | | | | | | | | Moves the "opaque layer" from Layer to Layer::State. This allows it to be updated as part of a transaction. Bug 12387406 Change-Id: I0a114ce6adf77cd12fb08f96e0691b76c475768d
* libutils clean-upMathias Agopian2013-05-072-35/+3
| | | | Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
* don't use compile-time configuration of libgui as much as possibleMathias Agopian2013-03-291-0/+45
| | | | | | | | | | | | | | | | | | | We now detect at runtime which sync features to use, which allows us to remove a lot of the compile-time configuration options. There is still one option though, to disable KHR_fence_sync on some devices (which are more efficient without it). - added a backdoor to get the vendor's EGL strings the new logic is: - use always ANDROID_native_fence_sync if available - fallback to KHR_fence_sync if available and not disabled by the compile-time option - use KHR_wait_sync if available and either of the above is enabled Change-Id: I9c4b49d9ff1151faf902cc93bd53ea5f205aaabf
* get rid of ISurfaceMathias Agopian2013-03-121-1/+0
| | | | | | | | | | | | ISurface was only used to get the IGraphicBufferProducer from a Layer. It's now replaced by a BBinder subclass / IBinder and is only used as a handle to the surface, to both refer to it and manage its life-time. Also cleaned-up a bit the ISurfaceComposer interface and "create layer" code path. Change-Id: I68d0e02d57b862cffb31d5168c3bc10cea0906eb
* get rid of Surface identity and tokenMathias Agopian2013-02-131-2/+2
| | | | | | we use the IBinder instead. Change-Id: I4aa0b58869ba43f19980013620051e5a261b062d
* Rename ISurfaceTexture and SurfaceTextureAndy McFadden2012-12-181-1/+1
| | | | | | | | | | 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
* strengthen region validationMathias Agopian2012-09-121-1/+1
| | | | Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
* Watch for SurfaceFlinger deathAndy McFadden2012-09-061-1/+14
| | | | | | | | | | | | | | | The ComposerService object wasn't watching for SurfaceFlinger restarts, which doesn't usually matter because the app framework restarts when SurfaceFlinger dies. However, mediaserver continues to run, which means its ComposerService object was trying to use a dead handle, and playback of DRM movies was failing. This adds a DeathRecipient listener and some logic to re-establish the SurfaceFlinger connection. Bug 6645813 Change-Id: I07581b881d3835601aa57d5358c8259d93bc4515
* display projection API now has a single function instead of 3Mathias Agopian2012-09-041-5/+3
| | | | Change-Id: I9bf46d372b77d547486d4bbe6f1953ec8c65e98f
* display states can't share the dirty flagsMathias Agopian2012-08-161-3/+5
| | | | Change-Id: Ifade9f2f1a0df9a36aede77a6cf5eee4be534f98
* make multi-display more realMathias Agopian2012-08-101-7/+14
| | | | | | | - displays are represented by a binder on the client side - c++ clients can now create and modify displays Change-Id: I203ea5b4beae0819d742ec5171c27568f4e8354b
* libgui includes refactoringMathias Agopian2012-08-101-0/+27
| | | | Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
* get rid of the shared-memory control blockMathias Agopian2012-07-252-63/+0
| | | | Change-Id: If814060aca1d2ff2619d4adcd57296983d207f7f
* add a layerStack attribute to Layers.Mathias Agopian2012-07-241-1/+2
| | | | | | | this attribute can be set through a regular transaction using SurfaceComposerClient (just like any other attribute, eg: position or size) Change-Id: I701a47c677ea6442ca713728a93335328cd2b172
* update SF binder protocol to support setting display attributesMathias Agopian2012-07-241-0/+11
| | | | | | | | | no change of functionality -- the old behavior is implemented on top of this new protocol. this new protocol will allow, eventually, to pass informations about displays and layer stacks. Change-Id: Ic6c2295e61ec8ecbc8ce01ab7664e35d928202fc
* Remove freeze(), unfreeze() and setFreezeTint().Jeff Brown2012-07-161-2/+1
| | | | | | This is all dead code. Change-Id: I646673aac793a6ec45021c370a2450f0ea4fbcce
* SurfaceFlinger: add a crop to the layer stateJamie Gennis2012-05-111-0/+3
| | | | | | | | | This change adds a crop rectangle specified in window coordinates to the layer state. The all window pixels outside this crop rectangle are treated as though they were fully transparent. This change also adds the plumbing necessary for WindowManager to set that crop. Change-Id: I582bc445dc8c97d4c943d4db8d582a6ef5a66081
* fix Region const_iterator.Mathias Agopian2012-04-161-13/+30
| | | | | | | | | | - it returned an empty rect when the region was empty, instead of returning an empty list of rect. - also fixed an infinite loop when boolean_operation was given an empty list of rects Change-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb
* fix libgui header locationMathias Agopian2012-02-272-2/+1
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* libagl shouldn't export anythingMathias Agopian2012-02-271-640/+0
| | | | Change-Id: Ia823dbc56aab2a0b8a6063df4348fe6baac124c6
* remove dependency on android_native{s_priv|buffer}.hMathias Agopian2012-02-241-17/+0
| | | | Change-Id: Ie4b95f7061c240f37c504414259f92d72c4ffc89
* split ComposerService out of SurfaceComposerClient.hMathias Agopian2011-11-281-0/+53
| | | | Change-Id: I1eb691f7ca263d5895d871ab675bb5826e0323c6
* fix Surface positions are not floatsMathias Agopian2011-08-301-2/+2
| | | | | | | | Added Surface.setPosition(float, float) which allows to set a surface's position in float. Bug: 5239859 Change-Id: I903aef4ad5b5999142202fb8ea30fe216d805711
* Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator buildMike Lockwood2011-07-131-115/+0
| | | | | Change-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba Signed-off-by: Mike Lockwood <lockwood@android.com>
* SF transactions are now O(1) wrt IPC instead of O(N).Mathias Agopian2011-06-291-0/+8
| | | | Change-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43
* unify SurfaceTexture and SurfaceMathias Agopian2011-06-131-346/+2
| | | | | | | Add the concept of synchronous dequeueBuffer in SurfaceTexture Implement {Surface|SurfaceTextureClient}::setSwapInterval() Add SurfaceTexture logging fix onFrameAvailable
* remove last traces of copybitMathias Agopian2011-05-021-16/+0
| | | | Change-Id: Ia0f13a0ee6f702256482b5eb29d7fa2aa840bfc7
* get rid of dependency on copybit HAL moduleMathias Agopian2011-04-281-2/+0
| | | | Change-Id: Ia608099a2426c11a91d33063ba53c93e1eccb428
* Add support for up to 32 buffers per SurfaceMathias Agopian2011-03-011-3/+3
| | | | | | Bug: 3488016 Change-Id: Ie5536ad77d42a4d0e8270e0fd87ecb73471bcbbc
* clean-up unneeded codeMathias Agopian2011-01-201-8/+1
| | | | | | | | | | now that we removed the notion of a "inUse" buffer in surfaceflinger a lot of code can be simplified / removed. noteworthy, the whole concept of "unlockClient" wrt. "compositionComplete" is also gone. Change-Id: I210413d4c8c0998dae05c8620ebfc895d3e6233d
* fix [3259708] Graphic Buffer Mapper does not support YV12Mathias Agopian2010-12-081-83/+0
| | | | | | remove a bunch of a code that was there only to support broken gralloc implementations Change-Id: I3c1a9172224cbcc283601abfbbd695a20815451f
* Implement reducing the buffer count of a Surface.Jamie Gennis2010-11-111-0/+10
| | | | | Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f Bug: 3095167
* fix [2835280] Add support for cancelling buffers to ANativeWindowMathias Agopian2010-10-041-4/+6
| | | | | | | | | | There is a new ANativeWindow::cancelBuffer() API that can be used to cancel any dequeued buffer, BEFORE it's been enqueued. The buffer is returned to the list of availlable buffers. dequeue and cancel are not mutually thread safe, they must be called from the same thread or external synchronization must be used. Change-Id: I86cc7985bace8b6a93ad2c75d2bef5c3c2cb4d61
* fix a race in SF buffer managementMathias Agopian2010-08-261-1/+5
| | | | | | also remove some unused code. Change-Id: Iae2c3309b7a08055f3e13a5b866c5c084993e352
* fix [2931513] Add support for setting the orientation of an ANativeWindowMathias Agopian2010-08-241-8/+10
| | | | | | Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
* fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot ↵Mathias Agopian2010-07-271-8/+0
| | | | | | | | | | | | | | | | | | | | | dequeue all allocated buffers at once. this situation happened when the last buffer needed to be resized (or allocated, the first time). the assumption was that the buffer was in use by SF itself as the current buffer (obviously, this assumption made no sense when the buffer had never been allocated, btw). the system would wait until some other buffer became the "front" buffer. we fix this problem by entirely removing the requirement that the buffer being resized cannot be the front buffer. instead, we just allocate a new buffer and replace the front buffer by the new one. the downside is that this uses more memory (an extra buffer) for a brief amount of time while the old buffer is being reallocated and before it has actually been replaced. Change-Id: I022e4621209474ceb1c671b23deb4188eaaa7285
* allow re-targetting of surfacesMathias Agopian2010-06-081-10/+6
| | | | | | | | | Surfaces can now be parcelized and sent to remote processes. When a surface crosses a process boundary, it looses its connection with the current process and gets attached to the new one. Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
* split surface management from surface's buffers managementMathias Agopian2010-06-041-1/+2
| | | | Change-Id: If3c5655d1231f8f0c49ba68f972b1b20c93b3f87
* more clean-up in preparation of bigger changesMathias Agopian2010-05-281-2/+1
| | | | | | | the most important change here is the renaming of ISurfaceFlingerClient to ISurfaceComposerClient Change-Id: I94e18b0417f50e06f21377446639c61f65f959b3
* fix [2712278] The preview buffer left some black borders in left and bottom ↵Mathias Agopian2010-05-251-1/+0
| | | | | | | | edges we were incorrectly flagging push_buffer surfaces as invalid Change-Id: I4dfd4ffbbe8a71f7e23e835db8d71966416c29bb
* added the notion of fixed-size buffersMathias Agopian2010-05-241-1/+2
| | | | | | | | | the new native_window_set_buffers_geometry allows to specify a size and format for all buffers to be dequeued. the buffer will be scalled to the window's size. Change-Id: I2c378b85c88d29cdd827a5f319d5c704d79ba381
* fix a bug when reallocating a window's buffers is neededMathias Agopian2010-05-241-0/+1
| | | | | | | we need to mark the buffers that need to be reallocated, NOT the buffer's indices. Change-Id: I809e2e1b03b56c4d2ab983c25523dae99aa1da74
* added native_window_set_buffer_count()Mathias Agopian2010-05-211-0/+1
| | | | | | | this method can be used to change the number of buffers associated to a native window. the default is two. Change-Id: I608b959e6b29d77f95edb23c31dc9b099a758f2f
* fix the threading issue for setBuffercount()Mathias Agopian2010-05-201-14/+29
| | | | | | | | this change introduces R/W locks in the right places. on the server-side, it guarantees that setBufferCount() is synchronized with "retire" and "resize". on the client-side, it guarantees that setBufferCount() is synchronized with "dequeue", "lockbuffer" and "queue"
* fix some bugs in SharedBufferStack::resizeMathias Agopian2010-05-171-4/+5
| | | | | | added buffers should now be labeled properly. Change-Id: I28aa753fbe89ab89134e7753575319478934c7fa