summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/EventThread.h
Commit message (Collapse)AuthorAgeFilesLines
* SurfaceFlinger: send VSYNC power hints to IPowerManagerRuchi Kandoi2014-06-181-0/+5
| | | | | | | | VSYNC power hints are now sent via binder to IPowerManager. SurfaceFlinger no longer loads a second copy of the PowerHAL. VSYNC power hints are sent in batches and not on per frame basis. Change-Id: Ia5a839ab3c857cffae7089f810b4315d4ed23fcf
* Revert "SurfaceFlinger: send VSYNC power hints to IPowerManager"Ruchi Kandoi2014-04-041-5/+0
| | | | This reverts commit d469a1c3285b974cf2637517cc25727da8f82668.
* SurfaceFlinger: send VSYNC power hints to IPowerManagerRuchi Kandoi2014-04-041-0/+5
| | | | | | | | VSYNC power hints are now sent via binder to IPowerManager. SurfaceFlinger no longer loads a second copy of the PowerHAL. VSYNC power hints are sent in batches and not on per frame basis. Change-Id: Icc2eee5df56135bd24dc244a84e7c12dd5511fec
* SurfaceFlinger: SW-based vsync eventsJamie Gennis2013-10-071-5/+21
| | | | | | | | | | This change adds the DispSync class, which models the hardware vsync event times to allow vsync event callbacks to be done at an arbitrary phase offset from the hardware vsync. This can be used to reduce the minimum latency from Choreographer wake-up to on-screen image presentation. Bug: 10624956 Change-Id: I8c7a54ceacaa4d709726ed97b0dcae4093a7bdcf
* Use new HWC display type/count constants.Jesse Hall2013-08-161-3/+2
| | | | Change-Id: I774d0c68906ac6dc69268f708c30a6b0868b8816
* SurfaceFlinger: EventThread: Fix Vsync array size.Saurabh Shah2013-07-121-1/+1
| | | | | | | | | | | | | Vsync array size is specified as HWC_DISPLAY_TYPES_SUPPORTED whose value luckily happens to be 2. That enum is actually used for querying hwc for the number of displays supported. The implementation file EventThread.cpp correctly accesses the array upto HWC_NUM_DISPLAY_TYPES Change-Id: I36e3f0913e7d6fda7bbf4449c1fb32c7f18bb934 Signed-off-by: Amara Venkata Mastan Manoj Kumar<manojavm@codeaurora.org> Signed-off-by: Saurabh Shah <saurshah@codeaurora.org>
* clean-up/simplify all dump() APIsMathias Agopian2013-04-221-1/+1
| | | | | | | remove the scratch buffer parameter and use String8::appendFormat() instead. Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
* Display events now always carry the display id they happened onMathias Agopian2012-09-211-2/+3
| | | | Change-Id: I12de1d883c23927722bc3a71b782f0079de4e831
* We now report hotplug events to the frameworkMathias Agopian2012-09-201-1/+3
| | | | Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
* Minor tweaksAndy McFadden2012-09-131-1/+0
| | | | | | | A couple of minor cleanups I stumbled over while looking at other things. Change-Id: I385ecfe1afefd577afbc59d7ef1d98d868073651
* Eradicate DisplayID.Mathias Agopian2012-08-271-1/+1
| | | | | | | | DisplayDevices are now keyed of the wp<IBinder> the client uses. DisplayID has now become DisplayType which is just used to identify physical displays (as opposed to virtual displays such as wifi displays). Change-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea
* simplify further vsync handlingMathias Agopian2012-08-231-1/+3
| | | | | | | | | | | | - we now clean-up "dead" connection in the main loop, this entirely avoid the problem with the side effects of releasing strong references. We now only hold on to strong reference for the connection we will signal. - also simplify how we build the list of "ready" connections, by only adding them to the list when we did receive a vsync event Change-Id: I2a84da431320a2af8e8a93e07622a1d258236f43
* fix various issues in SF's EventThreadMathias Agopian2012-08-201-1/+0
| | | | | | | | | | | | | | | | - one issues caused most timestamps to be reported as 0 - on rare occasions an uninitialized variable could be used - vsync counts per connection were accessed unthreadsafely we now have 2 lists of connections in the main loop, one just keeps a list of strong refs to the connections because once we have a strong ref we're not allowed to release it while holding the lock. the 2nd list holds the connections that have a vsync event to be reported. all the calculations are made with the lock held. Change-Id: Iacfad3745b05df79d9ece3719bd4c34ddbfd5b83
* Fix deadlock in SF.Mathias Agopian2012-08-171-4/+1
| | | | | | | | | | | | | | | problem was that we were acquiring a strong reference on Connection object with a lock held, when those got out of scope (lock still held) their dtor could be called if all other refs had dropped, the dtor would acquire the lock again to remove the Connection from the main list. boom. we rearange the code so this doesn't happen. Bug: 6942208 Change-Id: I0a0ebabce2842d29d60d645b64aac2f26640e59b
* rename DisplayHardware to DisplayDeviceMathias Agopian2012-08-021-1/+0
| | | | Change-Id: I3f7250cd914e0da4f9ec2c9403587bbe12f3cc62
* split HWComposer out of DisplayHardwareMathias Agopian2012-07-241-3/+7
| | | | | | | | | | we will only ever have a single instance of HWComposer, so it's now an attribute of SurfaceFlinger, instead of being part of DisplayHardware. DisplayHardware now just represents a "display" (it should be renamed). Change-Id: Iec191e57686868e1df6daa8b880a286c9fefde56
* SurfaceFlinger cleanupMathias Agopian2012-07-241-3/+1
| | | | | | | mostly refactored SurfaceFlinger.h, but also removed dead code. cleaned-up a few includes as well. Change-Id: Ib15f4ffe567912b61ee98aa076c6a283b72811b5
* get rid of GraphicPlaneMathias Agopian2012-06-281-1/+1
| | | | | its functionality is now folded into DisplayHardware there will be more changes in that area.
* make sure to disable VSYNC while screen is offMathias Agopian2012-04-111-4/+8
| | | | Change-Id: If1894c43b0a39a2851e1280a35ae77bccd6d9abd
* Added vsync debugging information in dumpsys logMathias Agopian2012-04-101-1/+6
| | | | Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9
* SurfaceFlinger now uses the new VSYNC HAL API.Mathias Agopian2012-04-041-3/+6
| | | | | | | If h/w composer doesn't support vsync (version < 0.3) we "fake" it with a timer. Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
* refactor / simplify EventThreadMathias Agopian2012-04-031-32/+29
| | | | Change-Id: I3981c6fba93b7b985174b2a7045e24db2c0b4428
* SF now synchronizes to VSYNCMathias Agopian2012-01-301-0/+8
| | | | Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
* Improve the VSYNC api a bit.Mathias Agopian2011-12-061-3/+23
| | | | | | | | | | | - 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
* fix a deadlock when removing a DisplayEventConnectionMathias Agopian2011-12-051-0/+3
| | | | | | | | | the deadlock would happen when the pipe became invalid and SF trying to remove the connection from its list. we know make sure to process events without holding a lock. Change-Id: I39927ed8824fc7811e16db3c7608a2ebc72d9642
* Add support for sending VSYNC events to the frameworkMathias Agopian2011-11-291-0/+79
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