summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
...
* | | surfaceflinger: Set max acquired buffer countNaseer Ahmed2015-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If triple framebuffers are enabled, the number of acquired buffers isn't increased by default. Set the count to one less than the max buffers to make sure all three buffers come into play. Change-Id: I8fae1b5564fbea598e415a86b0a21c3449c92d87
* | | Merge tag 'android-6.0.0_r26' into HEADRicardo Cerqueira2015-11-054-18/+64
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | Android 6.0.0 release 26 Conflicts: include/android/input.h Change-Id: Ifa374c6d3055be3b8a5d60967f8b4c0043da739b
| * | SF: Add colorTransform to DisplayInfoDan Stoza2015-08-313-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the colorTransform field, which defines a vendor-specific color transform (e.g., wide gamut, sRGB, etc.) to the DisplayInfo class, and populates it from the HWC interface. Bug: 20853317 Change-Id: I153edc36a361407656f3eb5082b96c2da2ecbec7
| * | Merge "SF: Track missed frames and optionally drop them" into mnc-dr-devDan Stoza2015-08-052-6/+29
| |\ \
| | * | SF: Track missed frames and optionally drop themDan Stoza2015-07-232-6/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds code to track whether SurfaceFlinger has sent two frames to HWC in the same vsync window. This can occur if one frame is delayed so far it slips into the next window or just if one frame takes an abnormal amount of time. If this occurs, it shows up as FrameMissed in systrace. Also adds a property debug.sf.drop_missed_frames which, if set, tells SurfaceFlinger to skip sending a frame to HWC (i.e., calling prepare/set) when we detect this condition, which can help prevent backpressure from the HWC implementation. Bug: 22513558 Change-Id: I2df0d44cec5fd6edba419388d8c90b5710d1a5b6
| * | | am d87defaf: SF: Allow present if sideband stream changedDan Stoza2015-07-311-0/+4
| |\ \ \ | | |/ / | |/| | | | | | | | | | * commit 'd87defaf486ff4e9c0066754564851cfb7be49ed': SF: Allow present if sideband stream changed
| * | | Merge "Cancel touches as well as pointer gestures." into mnc-devMichael Wright2015-07-091-9/+9
| |\ \ \
| | * \ \ am 806334aa: am 1998615f: Merge "sf: Initialize EventThread before creating HWC"Dan Stoza2015-06-301-9/+9
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * commit '806334aacd089d1c419ed77021a2b1bb4f7644ef': sf: Initialize EventThread before creating HWC
| | | * | | sf: Initialize EventThread before creating HWCSaurabh Shah2015-06-171-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once HWC is created, it could use any of the provided hooks, which could lead to a crash if the EventThread (handler) isn't initialized prior to creating HWC. Change-Id: I5ea35fe9bcb150fb74aae1295b798bd787ad6cee
| | | * | | sf: Fix incorrect state reporting in dumpsysManoj Kumar AVM2015-06-112-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Dumpsys utility accesses layer compositionType variable with out proper protection. These variables are modified during hwc_prepare call. Existing HAL lock protection is not sufficient to address this issue. Failure to do this will result in incorrect state reporting in dumpsys. A new displayLock mutex in HWComposer will be used in both dumpsys and draw calls to ensure correct state is accessed. Change-Id: I8a57de59525adc0e089b3bed95c067c01e42b666
| | | * | | sf: Add a NULL check in getDisplayConfigsTatenda Chipeperekwa2015-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Validate the display binder by adding a NULL check in getDisplayConfigs. This will prevent a false match if the caller queries the display configs for an inactive display (whose binder is NULL by default). Without this change we might end up attempting to index the display config array, which is unpopulated for inactive displays, and this will result in a crash. (See getDisplayInfo in SurfaceComposerClient.cpp for an example of this scenario) Change-Id: Ib32a7dc8378d3438df0dba1ecd608bbcfc837717
| | | * | | SF: Swap w/h when capturing rotated screenshotsDan Stoza2015-06-101-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Swaps width and height when capturing a screenshot that is rotated by 90 or 270 degrees. Bug: 8433742 Change-Id: Ibf0b604f541e3cc271e56fe0ad04dc366beb5d79 (cherry picked from commit 3502416204d9dbd905012ee586d8bd145323809f)
| | | * | | SF: Don't crop surface damage against viewportDan Stoza2015-06-091-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apply the display transform to surface damage, but don't intersect it with the viewport. Bug: 21486007 Change-Id: I94e697cea52096a960385d5f3b89609fdcf30a02 (cherry picked from commit 17833a1b0d70cd5cea342cadea9fdbbf16748bc6)
| | | * | | libgui/SurfaceFlinger: Add getConsumerNameDan Stoza2015-06-094-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a getConsumerName method to IGraphicBufferProducer and Surface. Currently, the name is cached inside of IGBP and is update on connect and dequeueBuffer, which should be good enough for most uses. Bug: 6667401 Change-Id: I22c7881d778e495cf8276de7bbcd769e52429915 (cherry picked from commit c6f30bdee1f634eb90d68cb76efe935b6535a1e8)
| | | * | | libgui: Add generation numbers to BufferQueueDan Stoza2015-06-084-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change allows producers to set a generation number on a BufferQueue. This number will be embedded in any new GraphicBuffers created in that BufferQueue, and attempts to attach buffers which have a different generation number will fail. It also plumbs the setGenerationNumber method through Surface, with the additional effect that any buffers attached to the Surface after setting a new generation number will automatically be updated with the new number (as opposed to failing, as would happen on through IGBP). Bug: 20923096 Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2 (cherry picked from commit 812ed0644f8f8f71ca403f4e5793f0dbc1fcf9b2)
| | | * | | SF: Reduce resync samples without presentDan Stoza2015-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reduces the number of resync samples that DispSync will attempt to collect without an intervening present from 12 to 4. The former value was causing excessive power draw for some vendors' implementations, and reducing it doesn't seem to harm anything. Bug: 20724456 Change-Id: Ifd6e0490be67756ed001d509a38e8a36953b4618 (cherry picked from commit 9c64757f6530a0510f15f8bd75b1925a3001f83a)
| | | * | | SurfaceFlinger: Tweak whitespace in DdmConnectionDan Stoza2015-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I99e7b09e4bc3611ffb790eddfbb9b3c8b9bc5d4c
| | | * | | Bypass surface flinger permission check for calls from system.Jeff Brown2015-05-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Early during the boot, before activity manager is ready to handle permission checks, the system needs to be able to change the display state. Added a hardcoded exemption for AID_SYSTEM (which already has permission to talk to surface flinger anyhow). Bug: 19029490 Change-Id: I6222edcab8e394e5fb6adf7a982be446e4505a1e (cherry picked from commit 3bfe51d7901e99e7f122f76ed2708e2b67b71cf9)
| | | * | | surfaceflinger: Fix range check for getFormatAjay Dudani2015-05-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix potential buffer overflow error in getFormat with indices greater than MAX_HWC_DISPLAYS. Change-Id: I5e5b69d8d043e900f5e33ca9a62e94ae5f857b68 (cherry picked from commit 4e3e30c2d5a2a6f7dc4ee8696b1ac2a52dffd5dc)
| | | * | | SF: Skip render-to-texture for color transformsDan Stoza2015-05-288-94/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In cases where SurfaceFlinger is applying a color matrix (usually for accessibility features), we previously would perform a render-to- texture for the initial composition, and then apply the matrix during a copy to the framebuffer. This changes that behavior to just apply the matrix during composition without a render-to-texture pass. This may result in a perceived change of the image in cases with alpha blending, since the blending is performed at a different stage of the pipeline and the system effectively performs non-linear blends. However, neither this nor the prior render-to-texture pass is strictly correct in that regard, and this approach is less error-prone and likely faster. Change-Id: I2110ff0374f61d76df7b087dde8a1ed98990440c (cherry picked from commit f008799d3753e52c10849824ff8146985ea66284)
| | | * | | Add hotplug support for primary display.Michael Lentine2015-05-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the primary is connected/disconnected on tv devices HWComposer updates it's display parameters but doesn't destroy or recreate the display. Bug: 18698244 Change-Id: I759c8f75d3e3a7462b85eb51973fb5072b71a702 (cherry picked from commit 10613dc3b565e95d3d5f459ec70fd2f6a77f807a)
| | | * | | Fix surfaceflinger tests.Michael Lentine2015-05-282-23/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the screenshot code and add correct return values to surface flinger's capturescreenshot function. Buf: 18138368 Change-Id: Ieb42d289088589f941502fbd69da7aa939265e07 (cherry picked from commit 5a16a62950de06d48769e29f0c68a154ed7a7a89)
| | | * | | SurfaceFlinger: Handle EGL errors more cleanlyDan Stoza2015-05-142-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds some more safety checking for cases where we get an error while trying to create the EGLImage. The checking puts the Layer into a failed state after detecting an error, since the shadow queue may no longer be synchronized. Bug: 20957332 Change-Id: I68b4c40eab3e58731b875ed5752f2c7d17f14bcb (cherry picked from commit 65476f3332641066a99e22338bf5cf49ce4af642)
| | | * | | Fix PTS handling for buffer replacementDan Stoza2015-05-134-28/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes the way that SurfaceFlinger's shadow buffer management works such that instead of tracking the size of the shadow queue in the BufferQueue, SF tracks the last frame number it has seen, and passes that into the acquireBuffer call. BufferQueueConsumer then ensures that it never returns a buffer newer than that frame number, even if that means that it must return PRESENT_LATER for an otherwise valid buffer. Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e (cherry picked from commit a4650a50a0b35e9e4342d6600b6eb24fd94bb8e5)
| | | * | | libgui: Hook up onFrameReplacedDan Stoza2015-05-121-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This completes the plumbing from ConsumerListener::onFrameReplaced into SurfaceFlinger (and other consumers that may care). Change-Id: I376e78ace95d6748e8662e6b4d47c0dfa697a300 (cherry picked from commit dc13c5b85b099050c73297a19f1ef89308f7620b)
| | | * | | SF: Apply pending transactions to new sidebandsDan Stoza2015-05-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a Layer's sideband stream is set, apply any pending transactions. Otherwise they would never be applied since sideband streams don't trigger updates by pushing new buffers. Bug: 20125898 Change-Id: I0c7a91cdf84e6205801f4ab64eee0b09e4c0b3e0 (cherry picked from commit 3b04e1383eca6cb1d43ebe23a421c427007690c7)
| | | * | | Merge "SurfaceFlinger: Fix PTS on stale buffers"Dan Stoza2015-05-013-3/+42
| | | |\ \ \
| | | | * | | SurfaceFlinger: Fix PTS on stale buffersDan Stoza2015-04-303-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SurfaceFlinger's (Layer's) shadow copy of the BufferQueue queue was getting out of sync for a few reasons. This change fixes these by doing the following: - Adds a check to re-synchronize the shadow copy every time we successfully acquire a buffer by first dropping stale buffers before removing the current buffer. - Avoids trying to perform updates for buffers which have been rejected (for incorrect dimensions) by SurfaceFlinger. - Adds IGraphicBufferConsumer::setShadowQueueSize, which allows the consumer to notify the BufferQueue that it is maintaining a shadow copy of the queue and prevents it from dropping so many buffers during acquireBuffer that it ends up returning a buffer for which the consumer has not yet received an onFrameAvailable call. Bug: 20096136 Change-Id: I78d0738428005fc19b3be85cc8f1db498043612f
| | | * | | | Merge "SurfaceFlinger: Limit to 4k Layers"Dan Stoza2015-04-302-9/+24
| | | |\ \ \ \
| | | | * | | | SurfaceFlinger: Limit to 4k LayersDan Stoza2015-04-302-9/+24
| | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sets a limit of 4k Layers which SurfaceFlinger will allow to be in existence at any given time. An attempt to create Layers in excess of this limit will fail with NO_MEMORY. Bug: 20674586 Change-Id: I2dfaf59643d826f982b2fa44e8a9ed643176d972
| | | * | | | Merge "SurfaceFlinger: Fix integer overflow in Mesh ctor"Dan Stoza2015-04-301-2/+28
| | | |\ \ \ \
| | | | * | | | SurfaceFlinger: Fix integer overflow in Mesh ctorDan Stoza2015-04-301-2/+28
| | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Performs range checking on the inputs to Mesh::Mesh() before allocating the storage array. Bug: 20674682 Change-Id: I4fc918a8c312d967dd6d9f91a098b2e0a7081027
| | | * | | | Remove gamma correction from color correction shaderAlan Viverette2015-04-291-2/+0
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Gamma correction was incorrectly skewing both color inversion and Daltonization, which resulted in washed-out colors. Bug: 20346301 Change-Id: I34d879f902c3be115b2d23f09c3ed3902799759e (cherry picked from commit 3acd9f1d8fdffc0ed0837ebbabcac0c4014015b3)
* | | | | | Merge branch 'm' of git://codeaurora.org/platform/frameworks/native into cm-13.0Steve Kondik2015-10-217-5/+29
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | Change-Id: I7830f596b2e7da809a759491d8115ff158c43734
| * | | | | SurfaceFlinger: Add support for MDP3Baldev Sahu2015-10-077-4/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is porting of following commits related to MDP3 1) SurfaceFlinger: Change to support framebuffer flip for 2D blitters - Surfaceflinger does not flip framebuffers when there are no layers marked for HWC_FRAMEBUFFER - This change checks for the HWC_BLIT flag and will request a flip to a new FB_TARGET buffer even if there are no FRAMEBUFFER layers "Change-Id: I1cb44389a05c9ec049d7f0d39c288feccb11a91c" 2) SF: Avoid wormhole clear for BLIT calls - Do not call GPU clear from SF when composition type is BLIT as it'll be taken care in HAL. "Change-Id: Ia613eb9b824c6484ecc8c8fa4ee883545d8541b8" 3) surfaceflinger: Allow gpu to render widevine level3 - Allow gpu to render widevine level3 but keep blocking screen shots. "Change-Id: I914232a062acbb7b17901dbf2b414973230e59d9" Change-Id: I35eef9eb1597af21c195e07d5fe4c0c73ab3a269
* | | | | | Fix for landscape thumbnail images on GLES11RenderEnginechaochen2015-10-171-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: If825345be2c30645c7b87258b7e24d6009f3090a Signed-off-by: Raj Mamadgi <rmamadgi@sta.samsung.com>
* | | | | | surfaceflinger: Track the last surfaceview frame for latency dumpsRicardo Cerqueira2015-10-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When measuring GL latency with dumpsys, it's possible to hit a race condition if the hardware is fast enough to complete rendering the test cycle before the latency dump is requested, since it only matches the latency for live layers (unless it's an animation. See change I8bded1ea08a4cddefef0aa955401052bb9107c90) So always save a reference to the last rendered SurfaceView frame, and dump its values if there isn't an active one. Change-Id: I740e9830161396ea955b5a53322bd8576b5136bc
* | | | | | input: Adjust prioritySteve Kondik2015-10-173-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Bring into the desired group to get the best result. Change-Id: I3bd031074cd7006994736b4c22d0294b6012f662
* | | | | | RenderEngine: remove warning "using EGL_IMG_context_priority"Michael Gernoth2015-10-161-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This warning breaks the build as it is treated as an error, so just remove it. Change-Id: I1a6353e5960866a9302a8c00eb97d1779b35b6be
* | | | | | Bring back support for glReadPixels screenshot pathPawit Pornkitprasan2015-10-168-43/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Squashed commit of the following: commit 012d3fe41d1d6cd38a0858b59145e9a4447641fa Author: Hashcode <hashcode0f@gmail.com> Date: Sun Dec 8 19:36:50 2013 +0000 sf: Always use opengles for screen capture Go back to the usage of GRALLOC_USAGE_HW_TEXTURE and GRALLOC_USAGE_HW_RENDERER in captureScreenImplLocked regardless of useReadPixels value This fixes the EGL_NO_IMAGE_KHR error returned from eglCreateImageKHR (blank images returned from screenshot path) Change-Id: I62fe90a081607b9e89c67f3dcfd34c84efc89d35 commit 4866ddf98ac98d8e22a1cd6a21894bb17f274588 Author: Ricardo Cerqueira <cyanogenmod@cerqueira.org> Date: Thu Oct 31 03:53:39 2013 +0000 Revert "remove support for glReadPixels screenshot path" This reverts commit 3ca76f416bc8665a97636ca8a2d0128b9da9d92c. Conflicts: include/gui/ISurfaceComposer.h libs/gui/ISurfaceComposer.cpp libs/gui/SurfaceComposerClient.cpp services/surfaceflinger/SurfaceFlinger.cpp services/surfaceflinger/SurfaceFlinger.h Change-Id: I8c239e533757af770e418dbb198f5a86c736961f Change-Id: I8c239e533757af770e418dbb198f5a86c736961f
* | | | | | surfaceflinger: Clean up use of QC extended APISteve Kondik2015-10-125-9/+26
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I1256605e63e90f3baaa213453246fb0e44e0c770
* | | | | | native: Use project pathmapSteve Kondik2015-10-121-2/+2
|/ / / / / | | | | | | | | | | | | | | | Change-Id: I81752c2c433752c02ab2a922f974f363e10d8def
* | | | | sf: Avoid disabling DispSync resyncRaj Kamal2015-10-061-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid disabling DispSync resync if app and SF events aren't using phase offsets. This prevents hardware VSYNC from turning on always whenever something needs to be drawn, thereby bringing down the power numbers. Change-Id: I83c8f79eb46b9fdaa730ec32767ebed3286347b8
* | | | | SurfaceFlinger: Add dim layer information into HWC layer.Dileep Marchya2015-10-066-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Set dim layer flag = 0x80000000 to send dim layer hint to HWC. - Clear HWC_SKIP_LAYER flag when dim layer flag is set. Change-Id: I56904c65fb487e6e89d4c057015443730d727299
* | | | | sf: This is a combination of following changes.Ramkumar Radhakrishnan2015-10-063-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Author: Prabhanjan Kandula<pkandula@codeaurora.org> SF: Add support for inverse mounted panels. Add 180 rotation in SF to account for inverse mounted panels. The framework will be unaffected and use policies for a 0 mounted panel. SF changes the global transform and silently induces the H,V flips. Similar flips are added to screenshots as well. CRs-Fixed: 894147 Change-Id: I6e9576ee734ee85097491eaa1e8e94cfb3731e0f Author: Ramkumar Radhakrishnan<ramkumar@codeaurora.org> SF: Clear visible region of layer appropriately. Clear visible region of layer having layer stack id different than the display layer stack id to ensure that the layer won't be present on the wrong display layer list. Change-Id: I59289fea63ec7a2451d4715cfe7926ba34fdb8e3 Change-Id: I5ad08a6013aa173d621ee80c766a6e19e1086a35
* | | | | SurfaceFlinger: Add support for V4L2 based wfd solution.Baldev Sahu2015-10-063-16/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change add support for V4L2 based Wi-Fi display. Change-Id: Ib3f3868eb0b7fa2bf7e58246fb2c5cd0ddceb7e1
* | | | | SurfaceFlinger: Add support for DisplayUtilsRaj Kamal2015-10-0611-20/+303
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add DisplayUtils class which uses the custom implementations of ExLayer, ExSurfaceFlinger, ExHWComposer, and ExVirtualDisplaySurface classes if needed Change-Id: Ibdd8da5d3d0d602f42b76a15d0994c6aa98bee3f
* | | | | SurfaceFlinger: Support get/set ActiveConfigsTatenda Chipeperekwa2015-10-063-5/+48
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes the following two changes squashed into one and retaining the change I182f41edbaf9226fc62d6d17ee964998cd9f21f7 sf: Fixes for resolution change in SurfaceFlinger 1. Use active config from HWC when querying display attributes When we query the display attributes we should use the active config as reported by HWC in cases where HWC version is 1.4. In all other cases we should revert to the default config, config 0, as the active config. 2. Set/update the display config if HWC config change was successful The new config should only be applied if HWC succeeded in changing the active config. This would otherwise cause failure or undefined behavior if the client sets an invalid/unsupported display config. 3. Set the active config at display creation time When a new display device is added update the active config by querying HWC. Change-Id: I182f41edbaf9226fc62d6d17ee964998cd9f21f7 sf: Initialize active config for non-virtual displays at boot time When a non-virtual display device is added at boot time, update the active config by querying HWC otherwise the default config (config 0) will be used. Change-Id: I90f42fa1d20ed6176c4be464a10ae69a2f6a6d55 Change-Id: I182f41edbaf9226fc62d6d17ee964998cd9f21f7
* | | | SF: Allow present if sideband stream changedDan Stoza2015-07-291-0/+4
|/ / / | | | | | | | | | | | | | | | | | | | | | Allows the sideband layer to be passed all the way to HWC instead of getting blocked by the updated PTS tracking code. Bug: 22291067 Change-Id: Ic2f20a7528e276fff054e86ca35789c26873b348
* | | SF: Ignore PTS more than one second in the futureDan Stoza2015-07-061-2/+13
|/ / | | | | | | | | | | | | | | | | | | | | Some of this logic already existed, but when we optimized SurfaceFlinger to avoid unnecessary wake-ups, we didn't carry the logic over into the new readiness test. shouldPresentNow now returns true if the timestamp is more than a second in the future (since it's likely a bogus timestamp and should be ignored). Bug: 21932760 Change-Id: Ib50970a4eb621588c0b60766c8d8d1a8bddf853b