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/MessageQueue.cpp
|
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/MessageQueue.cpp
|
801ea093b0e923a61b832f2adba698a273479880 |
|
07-Mar-2017 |
Mathias Agopian <mathias@google.com> |
split libsensor our of libgui Test: compile & run Bug: treble cleanup Change-Id: I5b2c2a14f7d3b364d25695cf0901c5b08cfb0fc9
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
05dacfb68af895fce3cc8ebb0b4aa06c6c336e26 |
|
01-Jul-2016 |
Dan Stoza <stoza@google.com> |
HWC2: Backpressure missed vsyncs into apps Adds a mechanism to detect whether the prior frame SurfaceFlinger presented to hardware composer was actually picked up or not. We then use this mechanism to avoid pushing two frames in the same vsync. This backpressure is passed back to applications by not latching any buffers, which will manifest as dequeueBuffer stalling until SurfaceFlinger releases a buffer on the following vsync. Also makes the former INVALIDATE_ON_VSYNC behavior the only behavior so that this functionality works correctly. Bug: 29413700 Change-Id: Ibde358e45423ee6fea7b5e09ff65e49c4ad67baa
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
14e54ba747942312f5cd143a27e603eacd7573f7 |
|
16-May-2016 |
Dan Stoza <stoza@google.com> |
SF: Remove forced transaction on screenshot Removes the forced transaction that screenshots used to perform before capturing the screen. This was initially added to prevent screenshot capture from sneaking in between when a transaction is closed and when it is actually applied (at the next vsync), but in the presence of deferred transactions today, forcing a transaction to occur doesn't guarantee that the last transaction that WindowManager pushed has actually been committed yet, since it may be waiting for a buffer with which to synchronize. If WindowManager wants to guarantee some arrangement of windows is present for a screenshot, it needs to set the synchronous flag to true when calling closeGlobalTransaction and wait for the call to return. Bug: 27098060 Change-Id: Iaa36d76df521076cc8ed16576f651543bae419a8
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
53390e1e8c33ebee5bb8100e846f5263ba05ff73 |
|
04-Aug-2015 |
Pablo Ceballos <pceballos@google.com> |
libgui/SF: Fix some code warnings A couple of fixes to satisfy the Eclipse static code analysis tool. - Initialize all members in constructors - Remove unused forward declarations - Add parentheses when combining logical and bitwise operators - Fix a case statement with no break (it was intentional) Change-Id: Icecb8cc98c6f58b97ab33fffb621f0edc33a7d3c
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
92dc3fc52cf097bd105460cf377779bdcf146d62 |
|
12-Mar-2014 |
Mark Salyzyn <salyzyn@google.com> |
native frameworks: 64-bit compile issues - Fix format (print/scanf) - Suppress unused argument warning messages (bonus) Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
fe761ab6c72bdcdb8a2cf0df1524f526d8609fee |
|
13-Dec-2013 |
Brian Carlstrom <bdc@google.com> |
Track Looper decoupling from ALooper Change-Id: I612f0de7002e24948a4cbbea7b416b4fbb3929aa
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
9eb1f0558b5fc78920602afe7bcfa3115bb1f6be |
|
11-Apr-2013 |
Mathias Agopian <mathias@google.com> |
fix another bug where screenshots could end-up all black SF transactions were always handled on VSYNC which allowed the screenshot to sneak-in between closing the transaction and vsync (before it's latched), resulting in a screenshot with the previous state. we now always force transactions to happen immediately before screenhots. Bug: 7552304 Change-Id: I0afc86b7e8366173daff5b9988bbb4d2a0f43860
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
4fec873a98f7b4380720cd1ad006f74c8cdc73da |
|
29-Jun-2012 |
Mathias Agopian <mathias@google.com> |
one more step towards multiple display support - remove dependency on cached state in validateVisibility - get rid of mVertices and mTransformedBounds - get rid of validateVisibility - get rid of unlockPageFlip - handleTransaction now returns a dirty region - computevisibileregion now uses window-manager space
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
69a655caef30663403802281210363f643ceb946 |
|
12-Apr-2012 |
Mathias Agopian <mathias@google.com> |
Revert "handle surfaces posts independently from composition" This reverts commit 562f4b2c1e555b853997113bb54b21303d642bc6. Change-Id: I96efe11c2f0494ed2d57fc580e49c598d913830e
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
562f4b2c1e555b853997113bb54b21303d642bc6 |
|
25-Mar-2012 |
Mathias Agopian <mathias@google.com> |
handle surfaces posts independently from composition surfaceflinger will now handle each surface post as soon as possible and handle the composition itself at VSYNC time as usual. Change-Id: I6b1ae33fd56062d86e5419ebab8def0ca5803fbf
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
303d538bb012e82c6b9a98c4930a03455000f761 |
|
05-Feb-2012 |
Mathias Agopian <mathias@google.com> |
ui freeze workaround: reenable triple buffering mode we're seeing UI freezes when window updates and composition are separated. for now we workaround this by always doing a composition after window updates on vsync. triple buffering is reenabled for performance. Change-Id: I693d705000b7452489bb0b4918fbeadb9879315c
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
99ce5cdeb383216dee95af4d90e47406b0948ea1 |
|
01-Feb-2012 |
Mathias Agopian <mathias@google.com> |
separate transactions from updates with this changes, SF transactions are handled as soon as possible but do not trigger updates. the update is delayed until the next vsync. this allows us to work much better without requiring triple-buffering. Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
8aedd4737d6ce8548d2fd5def65b1e1737283821 |
|
25-Jan-2012 |
Mathias Agopian <mathias@google.com> |
SF now synchronizes to VSYNC Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
e6f43ddce78d6846af12550ff9193c5c6fe5844b |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
be42aef82f7de3ef04c8c257f882bd6e9653d304 |
|
03-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix an issue where invalidate/transactions could be missed Change-Id: I84a1fcba1317b2631f5441de7b7ecd12af5ad022
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
222893641184014306a26a9d58690c8415181d12 |
|
03-Dec-2011 |
Mathias Agopian <mathias@google.com> |
fix an issue where updates could starve transactions Bug: 5700586 Change-Id: Iaa4adc1a6aea1db6e2943efe4caca1f6cbebfa72
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
f61c57fe2e955e1c195bb0ca2dd7bcdaa922d5a9 |
|
24-Nov-2011 |
Mathias Agopian <mathias@google.com> |
rewrite SF's message loop on top of Looper Change-Id: Ib56139f87a5c0b124e34da5c8151207219b2577b
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
7b0ba1668872eb6336bd305f9893991c84a08462 |
|
11-Oct-2010 |
Mathias Agopian <mathias@google.com> |
deliver invalidate messages AFTER other messages because invalidate messages were always handled first, they could prevent other messages to get through entirely. there is no real reason to handle invalidate messages first because the other messages are very uncommon and won't interfer with updates. Change-Id: Ib95cdf35a91407bd2f4d69dd082c5f546e1e0071
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
23a0920339a04c0fcfc3a2840f4e020040c2afbf |
|
08-Oct-2010 |
Mathias Agopian <mathias@google.com> |
fix a bug where timeouts would only be handled when a message was delivered Change-Id: I98c69b129e75e065e61f47e54f0f855d9401b0dc
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|
81bac09fa6b01dd1495644d9c825c3666762fced |
|
15-Jul-2010 |
Mathias Agopian <mathias@google.com> |
move native services under services/ moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
/frameworks/native/services/surfaceflinger/MessageQueue.cpp
|