6b698e4fe4ff50dcef818452283637f9870ae770 |
|
03-Apr-2017 |
Dan Stoza <stoza@google.com> |
libgui: Remove RefBase from BitTube Removes RefBase from BitTube, since because it is not a Binder object, it doesn't need to be reference-counted in this way. In the process, we rename IDisplayEventConnection::getDataChannel to IDEC::stealReceiveChannel to make it clearer that this is a non-const operation on the remote end that removes its access to the receive channel. This also adds a couple of methods for moving the receive file descriptor out of one BitTube and into another, since this is the essence of the IDisplayEventConnection::stealReceiveChannel method, and now with C++11 move semantics, we can do this without needing to return an sp<> from EventThread's implementation of stealReceiveChannel. Test: m -j + manual testing Change-Id: Ibaaca2a14fb6155052fe5434c14bc3e671b43743
/frameworks/native/services/surfaceflinger/EventThread.h
|
27c8115510cebda13cbe24fd4caa946ea9c5003c |
|
01-Apr-2017 |
Dan Stoza <stoza@google.com> |
libgui: Format BitTube and move into gui namespace Reformats BitTube using the framework default .clang-format and moves it into the android::gui namespace. Test: m -j + manual testing Change-Id: I5ea748b809f37c2ec4dcfb41e7b84daf7a084368
/frameworks/native/services/surfaceflinger/EventThread.h
|
e1c599b52fcce94bd27ebbc4d74cd59c9e71b452 |
|
31-Mar-2017 |
Dan Stoza <stoza@google.com> |
libgui: Normalize IDisplayEventConnection methods This change modifies the IDisplayEventConnection API such that every synchronous method returns a status_t (to be able to return transport errors). This required changing getDataChannel to return its channel by output parameter rather than return type. Currently no more error messages are checked than before, but this will both enable calling code to check error messages if it desires and, more importantly, allow the Bp/Bn code to be semi-automatically generated using SafeInterface. Test: libgui_tests + manual testing Change-Id: I8d5bc5ef0475cee07b638a97079b234f0384c022
/frameworks/native/services/surfaceflinger/EventThread.h
|
071b0a64c6dad8eaa1449827e44faae57dba851b |
|
12-Sep-2016 |
Chih-Hung Hsieh <chh@google.com> |
Merge "Fix google-explicit-constructor warnings in surfaceflinger." am: 5e703a6ad0 am: 101b4cc9d7 am: 32db2f3c9f am: 9a9816ad3f Change-Id: I5766b8b9adb236795cc7c8449d97b6c300512623
|
342b760763300593cd20b01dac8cef61e7b25b86 |
|
01-Sep-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings in surfaceflinger. * Add explicit keyword to conversion constructors, or use NOLINT for implicit converters. Bug: 28341362 Test: build with WITH_TIDY=1 Change-Id: I94f511c3be31dc22022db6466ee9ed0c6be2bc8e
/frameworks/native/services/surfaceflinger/EventThread.h
|
ab04685578b254c2eaf43bf5da85e5e922787825 |
|
28-Jul-2016 |
Irvel <irvel@google.com> |
Fix duplicated VSync tracing in SurfaceInterceptor Change-Id: Id02bb2916d0c53dc11d7106c4aec6954a1acc035
/frameworks/native/services/surfaceflinger/EventThread.h
|
4a4e4a239f034cb8af2df9a438b26c3bc088889c |
|
19-Apr-2016 |
Tim Murray <timmurray@google.com> |
Revert "Revert "DispSync: Always resync after inactivity"" This reverts commit 67264e930992e43ef3351b04692d4ca59cbb01ad. We've fixed the kernel issues this exposed. bug 28198793 Change-Id: Ie895cc0a815094cce4bee3b2bf45800ee1e2fdc3
/frameworks/native/services/surfaceflinger/EventThread.h
|
67264e930992e43ef3351b04692d4ca59cbb01ad |
|
14-Apr-2016 |
Dan Stoza <stoza@google.com> |
Revert "DispSync: Always resync after inactivity" This reverts commit f34b9be610ce286af224364cb6e69ef6f7697ee9. Bug: 28160740 Change-Id: I48a5bd66712651b42fdc0aaf1492899d7b032977
/frameworks/native/services/surfaceflinger/EventThread.h
|
f34b9be610ce286af224364cb6e69ef6f7697ee9 |
|
06-Apr-2016 |
Dan Stoza <stoza@google.com> |
DispSync: Always resync after inactivity Changes DispSync to enable hardware vsync immediately when new frames arrive after a period of inactivity. No matter how hard we try, we can't avoid drifting over time without being able to detect error based on display retire fences. By enabling hardware vsync immediately, we avoid having a weird period or phase offset relative to hardware while we retrain the model. Once the model has locked, we turn hardware vsync back off to save power (until we detect drift again). Bug: 26255070 Change-Id: If4dd17c2d541015c730f47d824359d7cb4b52c3c
/frameworks/native/services/surfaceflinger/EventThread.h
|
db4ac3ce63074f5602b46074ffeabfea4a14d032 |
|
14-Apr-2015 |
Dan Stoza <stoza@google.com> |
SF: Permit changing DispSync offsets at runtime This modifies EventThread such that its phase offsets for both Choreographer and SurfaceFlinger may be modified at runtime. It also plumbs this functionality up to the SurfaceFlinger debug interface so that it is possible to rapidly test different offsets without restarting the framework. Change-Id: I426873f8553f931250dfebc9a8a4a78e9f1f4309
/frameworks/native/services/surfaceflinger/EventThread.h
|
ef472ec40a0fbb0ef96b79bef846f20b73da4971 |
|
02-Apr-2014 |
Ruchi Kandoi <kandoiruchi@google.com> |
SurfaceFlinger: send VSYNC power hints to IPowerManager 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
4098f03d5c9fb8522279ca04da70bec6793b2caa |
|
05-Apr-2014 |
Ruchi Kandoi <kandoiruchi@google.com> |
Revert "SurfaceFlinger: send VSYNC power hints to IPowerManager" This reverts commit d469a1c3285b974cf2637517cc25727da8f82668.
/frameworks/native/services/surfaceflinger/EventThread.h
|
d469a1c3285b974cf2637517cc25727da8f82668 |
|
02-Apr-2014 |
Ruchi Kandoi <kandoiruchi@google.com> |
SurfaceFlinger: send VSYNC power hints to IPowerManager 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
faf77cce9d9ec0238d6999b3bd0d40c71ff403c5 |
|
31-Jul-2013 |
Jamie Gennis <jgennis@google.com> |
SurfaceFlinger: SW-based vsync events 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
9e663de4fe1dcc872373ee530c60a375624671c3 |
|
16-Aug-2013 |
Jesse Hall <jessehall@google.com> |
Use new HWC display type/count constants. Change-Id: I774d0c68906ac6dc69268f708c30a6b0868b8816
/frameworks/native/services/surfaceflinger/EventThread.h
|
5c876fa6b2a75ccfa7efe97b5f660b9c19d280e0 |
|
12-Jul-2013 |
Saurabh Shah <saurshah@codeaurora.org> |
SurfaceFlinger: EventThread: Fix Vsync array size. 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>
/frameworks/native/services/surfaceflinger/EventThread.h
|
74d211ae26a0257c6075a823812e40b55aa1e653 |
|
22-Apr-2013 |
Mathias Agopian <mathias@google.com> |
clean-up/simplify all dump() APIs remove the scratch buffer parameter and use String8::appendFormat() instead. Change-Id: Ib96c91617c8e7292de87433d15cf6232b7d591b0
/frameworks/native/services/surfaceflinger/EventThread.h
|
ff28e201ec0c6d620eaaa29814ab52958487dc31 |
|
21-Sep-2012 |
Mathias Agopian <mathias@google.com> |
Display events now always carry the display id they happened on Change-Id: I12de1d883c23927722bc3a71b782f0079de4e831
/frameworks/native/services/surfaceflinger/EventThread.h
|
148994e5f33ce240ff24ceb5bc0500b7f2001959 |
|
20-Sep-2012 |
Mathias Agopian <mathias@google.com> |
We now report hotplug events to the framework Change-Id: I2d6b7787d39e5929485a551e4982498c5053c211
/frameworks/native/services/surfaceflinger/EventThread.h
|
ae2cfb5746e87f1bf17c446e20274c41ce0a57ce |
|
13-Sep-2012 |
Andy McFadden <fadden@android.com> |
Minor tweaks A couple of minor cleanups I stumbled over while looking at other things. Change-Id: I385ecfe1afefd577afbc59d7ef1d98d868073651
/frameworks/native/services/surfaceflinger/EventThread.h
|
3ee454a7bef8bd3d1c9cdd9d17108eb80ebadf2a |
|
28-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Eradicate DisplayID. 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
f6bbd44a23c2791277db7814a894633de04cd460 |
|
22-Aug-2012 |
Mathias Agopian <mathias@google.com> |
simplify further vsync handling - 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
a4cb35a2864d58e9a764a17623e15ab25a9964a0 |
|
21-Aug-2012 |
Mathias Agopian <mathias@google.com> |
fix various issues in SF's EventThread - 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
10125f00a50d3edd05deef9fcd2d368cf2766683 |
|
18-Aug-2012 |
Mathias Agopian <mathias@google.com> |
Fix deadlock in SF. 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
0f2f5ff75b7b48ceb64270655ee6b62d09bf4d00 |
|
01-Aug-2012 |
Mathias Agopian <mathias@google.com> |
rename DisplayHardware to DisplayDevice Change-Id: I3f7250cd914e0da4f9ec2c9403587bbe12f3cc62
/frameworks/native/services/surfaceflinger/EventThread.h
|
8630320433bd15aca239522e54e711ef6372ab07 |
|
25-Jul-2012 |
Mathias Agopian <mathias@google.com> |
split HWComposer out of DisplayHardware 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
921e6ac4b7610a178285898d191eb0e3afe906c0 |
|
24-Jul-2012 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger cleanup mostly refactored SurfaceFlinger.h, but also removed dead code. cleaned-up a few includes as well. Change-Id: Ib15f4ffe567912b61ee98aa076c6a283b72811b5
/frameworks/native/services/surfaceflinger/EventThread.h
|
1b03149f3533db04e72e088d3fdd09d0087ca594 |
|
21-Jun-2012 |
Mathias Agopian <mathias@google.com> |
get rid of GraphicPlane its functionality is now folded into DisplayHardware there will be more changes in that area.
/frameworks/native/services/surfaceflinger/EventThread.h
|
22ffb117b0c2a906bd04aef9738a52223cdd1dce |
|
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
make sure to disable VSYNC while screen is off Change-Id: If1894c43b0a39a2851e1280a35ae77bccd6d9abd
/frameworks/native/services/surfaceflinger/EventThread.h
|
e2c4f4ec23b735dd2a03f4ea8b08b288a1bb04e8 |
|
11-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Added vsync debugging information in dumpsys log Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9
/frameworks/native/services/surfaceflinger/EventThread.h
|
3eb38cb33e41ce40dd1094bdec850f0fca9f8a53 |
|
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger now uses the new VSYNC HAL API. If h/w composer doesn't support vsync (version < 0.3) we "fake" it with a timer. Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
/frameworks/native/services/surfaceflinger/EventThread.h
|
cb9732a951d20cacb7ebe2dab132b5738226b1b6 |
|
04-Apr-2012 |
Mathias Agopian <mathias@google.com> |
refactor / simplify EventThread Change-Id: I3981c6fba93b7b985174b2a7045e24db2c0b4428
/frameworks/native/services/surfaceflinger/EventThread.h
|
8aedd4737d6ce8548d2fd5def65b1e1737283821 |
|
25-Jan-2012 |
Mathias Agopian <mathias@google.com> |
SF now synchronizes to VSYNC Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
/frameworks/native/services/surfaceflinger/EventThread.h
|
478ae5eb5a0047e1b2988c896cff6363b455ee50 |
|
07-Dec-2011 |
Mathias Agopian <mathias@google.com> |
Improve the VSYNC api a bit. - 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
23748668d33ac850e64d87e25ac4cc78679c9384 |
|
05-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix a deadlock when removing a DisplayEventConnection 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
/frameworks/native/services/surfaceflinger/EventThread.h
|
d0566bc26fcf6ca396118701fa11900b627f2c09 |
|
18-Nov-2011 |
Mathias Agopian <mathias@google.com> |
Add support for sending VSYNC events to the framework 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
/frameworks/native/services/surfaceflinger/EventThread.h
|