summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* disable the bypass mode. DO NOT MERGE.Mathias Agopian2010-12-181-1/+0
| | | | | | | SF bypass mode triggers a bug in the display controller that case cause the device to freeze. Change-Id: If29b4d5132f463d13831b082b904c235f15a19fb
* [317580] fix issue where the screen wouldn't be rotated properly in bypass modeMathias Agopian2010-12-073-1/+19
| | | | | | | In some situations, the screen transformation would not be applied while in bypass mode. Change-Id: I3d6dd52e4c12b11aae97b54bf8e2322536eee37f
* [3171580] SurfaceFlinger Bypass mode. (DO NOT MERGE)Mathias Agopian2010-12-038-11/+172
| | | | | | | | | 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
* [3171580] Fix two typos related to fixed-size buffersMathias Agopian2010-12-034-21/+19
| | | | | | | | | | | | | | | | 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
* [3171580] don't automatically log GraphicBuffer allocation failuresMathias Agopian2010-12-031-0/+1
| | | | | | | 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
* really fix [3118445] Transform * Transform does not work as expectedMathias Agopian2010-10-273-13/+47
| | | | | | | | Two bugs were counter acting each other. - rotation matrices are on the left-hand side of multiplies - the transform of the overlay is applied before that of the layer Change-Id: Ia79bd368e9b719235c89ecf244ea263f01ce906a
* Merge "fix [3123221] Video sticks playing back upside down following ↵Mathias Agopian2010-10-252-0/+16
|\ | | | | | | orientation switch" into gingerbread
| * fix [3123221] Video sticks playing back upside down following orientation switchMathias Agopian2010-10-242-0/+16
| | | | | | | | | | | | | | the overlay wasn't reconfigured when the screen-orientation changed. It was only done when a parameter of the surface itself changed. Change-Id: I0ca0925bf58ded4c91ab89d12cb1fe4d1477c96c
* | fix [3118445] Transform * Transform does not work as expectedMathias Agopian2010-10-244-46/+87
|/ | | | | | | | | | | | The problem wasn't in the multiply operator, but rather in the code that built the transform from the HAL bitmask. We now use the multiply operator to build the Transform from the bitmask, which guarantees, it'll always be correct. Also added a simple test for Transform. Change-Id: I09bf3b0e51d92f59d83ea91c4cc94fc2aa0bf227
* Merge "Use the context_priority extension when present." into gingerbreadMathias Agopian2010-10-202-2/+16
|\
| * Use the context_priority extension when present.Mathias Agopian2010-10-112-2/+16
| | | | | | | | Change-Id: I12eadf1e32d576de5d811fba44afa73263e13eef
* | [3095807] screen takes a long time to turn onMathias Agopian2010-10-141-2/+3
| | | | | | | | | | | | turn on animation is now ~200 ms (12 frames). Change-Id: I49ca9e8d0afa566349d360b3b6c88f0d55aa6e75
* | addresses parts of 3096779 and 3097475Mathias Agopian2010-10-142-19/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 3097475: Animation setting should control the screen on animation 3096779: CRT power-on animation can briefly show the top app instead of lockscreen There is now a parameter that controls wether the ON and/or OFF animation are performed. we also always clear the screen to black on power off, to make sure it won't briefly appear on power on. HOWEVER, 3096779 is not 100% fixed in the case where we're doing the animation because there is a race, where SF doesn't wait (b/c it doesn't know) for the framework to have redrawn the lockscreen. Change-Id: Ie0f02c9225fcdf24b1e8907e268eb7da2c5b0a03
* | fix [3095607] Gingerbread screen turn-on animation does not show the last frameMathias Agopian2010-10-141-6/+5
| | | | | | | | | | | | | | | | | | always redraw the screen entirely after the power-on animation, because: - the animation may not run (ie: on the emu) - the animation may not contain the video planes - the interpolation may not be perfect and not land exactly on the last frame Change-Id: I9ba40f537b1e94464f8a3ed6f81e7c2f552df51d
* | may fix 3097381 and 3097482. don't abort on/off if the animation failsMathias Agopian2010-10-141-10/+7
| | | | | | | | | | | | | | | | now that sf handles more of the screen on/off state, we don't want to abort because/if the animation fails for some reason (which will be the case on the emulator). Change-Id: I239e0a39cf8aff3074647e82db92de4a0bf0e494
* | implement part of [3094280] New animation for screen on and screen offMathias Agopian2010-10-133-142/+369
| | | | | | | | | | | | add support for screen on animation Change-Id: If50cf52ae04b95b42da7d74cf7fa96d5cb54d238
* | turn off the electron beamMathias Agopian2010-10-124-7/+254
|/ | | | Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
* Merge "fix a bug where FLIP_H would do a 180 rotation" into gingerbreadMathias Agopian2010-10-111-3/+3
|\
| * fix a bug where FLIP_H would do a 180 rotationMathias Agopian2010-10-111-3/+3
| | | | | | | | Change-Id: Ie2cc4a8543a5625750c8596f87edcb66fcbca31f
* | deliver invalidate messages AFTER other messagesMathias Agopian2010-10-111-8/+8
|/ | | | | | | | | | 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
* fix a bug where timeouts would only be handled when a message was deliveredMathias Agopian2010-10-111-7/+11
| | | | Change-Id: I98c69b129e75e065e61f47e54f0f855d9401b0dc
* refactored screenshot codeMathias Agopian2010-10-049-87/+152
| | | | | | | | | | | 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
* simple test app for screen capture APIMathias Agopian2010-09-242-0/+89
| | | | Change-Id: I1f7c453508ccfd4faaa8b1279968a358ce3f1e5a
* add support for [1974164] Be able to take a screen shot on the deviceMathias Agopian2010-09-244-0/+164
| | | | | | | | | | | screenshots are taken using ISurfaceComposer::captureScreen() which returns the size of the screenshot and an IMemoryHeap containing the data. screenshots have limitations: - they will always fail if a secure window is up on screen - require GL_OES_framebuffer_object extension - in some situation, video planes won't been captured Change-Id: I741c68a2d2984fb139039301c3349e6780e2cd58
* surfaceflinger / GL extensions cleanupMichael I. Gold2010-09-155-8/+8
| | | | | | | Add correct enumerants for OES_EGL_image_external to glext.h. SurfaceFlinger now checks for the correct extension name. Change-Id: I2ba2728a01fa2260bd086d2df4316c68f694a9b1
* Add logging of various important graphics eventsMathias Agopian2010-09-133-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
* fix [2946787] Screen flicker on low resolution setting in camcorder.Mathias Agopian2010-08-251-11/+21
| | | | Change-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893
* don't try to lock a buffer that wasn't allocated with SW usage bitsMathias Agopian2010-08-251-6/+10
| | | | Change-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b
* fix [2931513] Add support for setting the orientation of an ANativeWindowMathias Agopian2010-08-246-29/+102
| | | | | | Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
* remove unused pixel formatMathias Agopian2010-08-191-1/+0
| | | | Change-Id: I55bc3cc41385743c07f7e4de06335c922f746f73
* revert hwcomposer HAL changes. DO NOT MERGE.Mathias Agopian2010-08-1711-360/+9
| | | | | | | | This reverts commit: 94364b91a2894bf037b8beb027132fbb812e1434 f8e705dea48f77f1c2532fdbadd4997dd1851af0 b59beb5ca68d0228f60dda60d85e2d0226b33215 e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
* Merge "fix a typo that prevented glTexImage2D codepath to work" into gingerbreadMathias Agopian2010-08-131-1/+1
|\
| * fix a typo that prevented glTexImage2D codepath to workMathias Agopian2010-08-131-1/+1
| | | | | | | | Change-Id: I36a3bf9d1d2eacd9b14e00b0a6c53bf88bba381c
* | surfaceflinger: don't check HWComposer numLayers unless one existsErik Gilling2010-08-131-1/+3
|/ | | | Change-Id: I4b83f7bf7ba1318c70054117f14e759fe0ad105c
* Fix a couple issues with the new hwcomposer HALMathias Agopian2010-08-123-49/+62
| | | | | | | | - we now clear the framebuffer upon request from the HAL - the HAL list size could get out of sync with reality - there was also an issue where sometime we could run past the list Change-Id: Ic3a34314aed24181f2d8cc787096af83c046ef27
* should fix sim build, hopefullyMathias Agopian2010-08-111-0/+3
| | | | Change-Id: I5390bd34dcca36fef43b5169386fff1b04cc842b
* call into hwcomposer HAL when presentMathias Agopian2010-08-1111-7/+340
| | | | Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
* don't handle the transparent region of a layer in draw()Mathias Agopian2010-08-111-15/+1
| | | | | | | this is already taken into consideration in computeVisibleRegion and therefore not needed at draw time. Change-Id: I3fc7336d22f1147dfcd3a20fd71bf79b946d971f
* get rid of our LayerVector implementationMathias Agopian2010-08-114-113/+22
| | | | | | we now use SortedVector<> with a special compare implementation. Change-Id: I910459cf3b3c8993b55ad0786a8c348369262de5
* keep a list of visible sorted surfacesMathias Agopian2010-08-112-15/+30
| | | | Change-Id: Ib815eeff894f8a3b1e79fbbf8186d5d91bb60285
* fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot ↵Mathias Agopian2010-07-273-22/+78
| | | | | | | | | | | | | | | | | | | | | 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
* added BinderService<> template to help creating native binder servicesMathias Agopian2010-07-142-17/+6
| | | | Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
* move native services under services/Mathias Agopian2010-07-1436-0/+8940
| | | | | | | | moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
* auto import from //branches/cupcake/...@137197The Android Open Source Project2009-03-091-17/+0
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-0/+17
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031-17/+0
|
* Initial ContributionThe Android Open Source Project2008-10-211-0/+17