afffa8fa9f82a7343e1158bf921931fd3e3df615 |
|
13-Jun-2011 |
Mathias Agopian <mathias@google.com> |
fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE) Bug: 4595257 Change-Id: I4773cf4fe59b2509db0ed733739eb6961d473b25
/frameworks/base/services/surfaceflinger/Layer.cpp
|
6f96080f333c70104424f42ac263c4c9c7a9dd2a |
|
20-May-2011 |
Mathias Agopian <mathias@google.com> |
Fix a race that could cause GL commands to be executed from the wrong thread. Bug: 4483050 Change-Id: I37f0f3156059c208c6168ee6131d0e267d823188
/frameworks/base/services/surfaceflinger/Layer.cpp
|
cf8b94562c7cbd5c7ced01dca9bbca25011a04e8 |
|
10-Mar-2011 |
Mathias Agopian <mathias@google.com> |
revert the surface purgatory list and dependent changes. 6d0f6cb Revert "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only" 6154412 Revert "partially fix [3306150] HTML5 video with H/W acceleration blackout (DO NOT MERGE)" 37c2a37 fix [3408713] Dialog window invisible sometimes It looks like there is a surface leak, it's unclear where it is. Without those reverts, this would cause a leak of the associated buffers which is far more problematic. this change might hide the surface leak. Bug: 4078032 Change-Id: Iedcda3ffcdd2f69d41047b5c3134c1e867ff90d7
/frameworks/base/services/surfaceflinger/Layer.cpp
|
951d3fec41c8c77f5ce86a5394573e8180d93927 |
|
10-Feb-2011 |
Mathias Agopian <mathias@google.com> |
Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only 37c2a37 fix [3408713] Dialog window invisible sometimes d35c666 fix [3385504] Surface flinger hang when adding dim surface 1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown 1b0114f fix a surface leak in SurfaceFlinger Bug: 3513017 Change-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3
/frameworks/base/services/surfaceflinger/Layer.cpp
|
21956040a77808909ebda426fbd3cce6c8ed059f |
|
19-Jan-2011 |
Mathias Agopian <mathias@google.com> |
fix [3361121] hang in glClear() - device unresponsive, OTA fails (DO NOT MERGE) Generally we never want to lock a buffer for write access if it is at the "head" on the surfaceflinger side. The only exception (1) is when the buffer is not currently in use AND there is at least one queued buffer -- in which case, SurfaceFlinger will never use said buffer anymore, because on the next composition around, it will be able to retire the first queued buffer. The logic above relies on SurfaceFlinger always retiring and locking a buffer before composition -- unfortunately this didn't happen during a screenshot. This could leave us in a situation where a buffer is locked by the application for write, and used by SurfaceFlinger for texturing, causing a hang. Here, we fix this issue by never assuming the exception (1), it was intended as an optimization allowing ANativeWindow::lockBuffer() to return sooner and was justified when most of SF composition was done in software. The actual buffer locking is now ensured by gralloc. We could have handled screenshots in a similar way to a regular composition, but it could have caused glitches on screen, essentially, taking a screenshot could cause to skip a frame. 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.
/frameworks/base/services/surfaceflinger/Layer.cpp
|
ee5a3aca5752f201b69fe0307414ca16ca492f0e |
|
08-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[317580] fix issue where the screen wouldn't be rotated properly in bypass mode In some situations, the screen transformation would not be applied while in bypass mode. Change-Id: I3d6dd52e4c12b11aae97b54bf8e2322536eee37f
/frameworks/base/services/surfaceflinger/Layer.cpp
|
025005f562f695c3b1785745c2e5c184fc3a2330 |
|
02-Nov-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE) This is a poor's man precursor to the h/w composer HAL. Basically we detect when a window is full screen and in that case we bypass surfaceflinger's composition step, which yields to much improved performance. Change-Id: Ie03796ae81a1c951949b771c9323044b980cb347
/frameworks/base/services/surfaceflinger/Layer.cpp
|
1989af22b5aa94430c7a43e13f3307d25be8c837 |
|
03-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] Fix two typos related to fixed-size buffers mFixedSize was never set, this bug was introduced during some "cleanup", in practice this could cause some issues when a fixed-size buffer was used and the window was resized. Layer::drawForSreenShot() had a typo that had no effect. mFixedSize was used to determine if filtering was needed, which was a bit too conservative and created a dependency between filtering and "fixed size" states which should exist. Now we enable filtering based on the size of the buffer vs. the size of the layer. Change-Id: I32044e91b0c944c1b137efdceb3f01dfaa78119d
/frameworks/base/services/surfaceflinger/Layer.cpp
|
e869aee382cfe01d42dffba4912458a16bb791fb |
|
04-Dec-2010 |
Mathias Agopian <mathias@google.com> |
[3171580] don't automatically log GraphicBuffer allocation failures some of these failures are not fatal and even expected in some cases so they should not emit a dump in the log in those cases. Change-Id: Idcfa252e3bfa9d74e27fe4ad8f8623aa01aa9c5e
/frameworks/base/services/surfaceflinger/Layer.cpp
|
597c7f67b5f2491c6098a1de241a3f0fd274688a |
|
29-Sep-2010 |
Mathias Agopian <mathias@google.com> |
refactored screenshot code the core screenshot function now can capture the screen at any lower resolution performing bilinear filtering. we also now have some client code to interface with the screenshot service. it's now possible to request a screenshot at a lower resolution. Change-Id: I33689bba98507ab928d0898b21596d0d2fe4b953
/frameworks/base/services/surfaceflinger/Layer.cpp
|
c51114fe044769d078dd9776f790b881c2a20cae |
|
25-Aug-2010 |
Mathias Agopian <mathias@google.com> |
fix [2946787] Screen flicker on low resolution setting in camcorder. Change-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893
/frameworks/base/services/surfaceflinger/Layer.cpp
|
c817b22055f094e5fd640952e05821f288107eb3 |
|
21-Aug-2010 |
Mathias Agopian <mathias@google.com> |
don't try to lock a buffer that wasn't allocated with SW usage bits Change-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b
/frameworks/base/services/surfaceflinger/Layer.cpp
|
e96aa3e859cb747e241dfa2999fcd142a688ed57 |
|
20-Aug-2010 |
Mathias Agopian <mathias@google.com> |
fix [2931513] Add support for setting the orientation of an ANativeWindow Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
/frameworks/base/services/surfaceflinger/Layer.cpp
|
cfa275908a220c5e1cf496f7fdde1c04e24e95da |
|
18-Aug-2010 |
Mathias Agopian <mathias@google.com> |
revert hwcomposer HAL changes. DO NOT MERGE. This reverts commit: 94364b91a2894bf037b8beb027132fbb812e1434 f8e705dea48f77f1c2532fdbadd4997dd1851af0 b59beb5ca68d0228f60dda60d85e2d0226b33215 e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
/frameworks/base/services/surfaceflinger/Layer.cpp
|
e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20 |
|
11-Aug-2010 |
Mathias Agopian <mathias@google.com> |
call into hwcomposer HAL when present Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
/frameworks/base/services/surfaceflinger/Layer.cpp
|
51c70e3e41ee8bedc1d951a06a74202dafa13009 |
|
28-Jul-2010 |
Mathias Agopian <mathias@google.com> |
fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot 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
/frameworks/base/services/surfaceflinger/Layer.cpp
|
08e83bb3b7cc41f603867acbeb1168019cf535fe |
|
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/base/services/surfaceflinger/Layer.cpp
|