summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Implement reducing the buffer count of a Surface."Jamie Gennis2010-11-112-4/+50
|\
| * Implement reducing the buffer count of a Surface.Jamie Gennis2010-11-112-4/+50
| | | | | | | | | | Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f Bug: 3095167
* | Remove a problematic empty update optimization.Jamie Gennis2010-11-101-4/+0
|/ | | | | | | | | | | | | | This change removes an optimization from SurfaceFlinger that skipped composition when it got window updates that had an empty dirty region. This optimization caused problems because it would skip the hwcomposer set call, which could leave the window's previous frame buffer bound to an overlay plane. When the application subsequently dequeued and tried to lock its next buffer (which would be the buffer currently bound to the overlay), the lock call would block until the next hwcomposer set call (which may never happen). Change-Id: I563b626a1d52c1f30eb82489eae0ceb4edc79936 Bug: 3138752
* am 5c0efef9: am 7d452f69: Merge "really fix [3118445] Transform * Transform ↵Mathias Agopian2010-10-273-13/+47
|\ | | | | | | does not work as expected" into gingerbread
| * am 7d452f69: Merge "really fix [3118445] Transform * Transform does not work ↵Mathias Agopian2010-10-273-13/+47
| |\ | | | | | | | | | as expected" into gingerbread
| | * 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
* | | am e1ca532d: am 457bed2b: Merge "fix [3123221] Video sticks playing back ↵Mathias Agopian2010-10-252-0/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | upside down following orientation switch" into gingerbread Merge commit 'e1ca532d72cbfacdce794f8bb4d439e609ec9871' * commit 'e1ca532d72cbfacdce794f8bb4d439e609ec9871': fix [3123221] Video sticks playing back upside down following orientation switch
| * | am 457bed2b: Merge "fix [3123221] Video sticks playing back upside down ↵Mathias Agopian2010-10-252-0/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | following orientation switch" into gingerbread Merge commit '457bed2bc6561dd67429dde238453fee8602fa9b' into gingerbread-plus-aosp * commit '457bed2bc6561dd67429dde238453fee8602fa9b': fix [3123221] Video sticks playing back upside down following orientation switch
| | * 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
* | | | am b4645353: am ce4d36ad: Merge "fix [3118445] Transform * Transform does ↵Mathias Agopian2010-10-254-46/+87
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | not work as expected" into gingerbread Merge commit 'b4645353090f1bdd5cc1d4ab98feac7ccf966368' * commit 'b4645353090f1bdd5cc1d4ab98feac7ccf966368': fix [3118445] Transform * Transform does not work as expected
| * | | am ce4d36ad: Merge "fix [3118445] Transform * Transform does not work as ↵Mathias Agopian2010-10-254-46/+87
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | expected" into gingerbread Merge commit 'ce4d36ad729f83253d4c5ec9906148f45cc00f8e' into gingerbread-plus-aosp * commit 'ce4d36ad729f83253d4c5ec9906148f45cc00f8e': fix [3118445] Transform * Transform does not work as expected
| | * | 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
* | | am fb31036f: am 583fefc8: Merge "Use the context_priority extension when ↵Mathias Agopian2010-10-212-2/+16
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | present." into gingerbread Merge commit 'fb31036fd844444c395a2ae9c97439eec9f774e4' * commit 'fb31036fd844444c395a2ae9c97439eec9f774e4': Use the context_priority extension when present.
| * | am 583fefc8: Merge "Use the context_priority extension when present." into ↵Mathias Agopian2010-10-202-2/+16
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | gingerbread Merge commit '583fefc8dcadecc7fc933513d3569dd9c16c100c' into gingerbread-plus-aosp * commit '583fefc8dcadecc7fc933513d3569dd9c16c100c': Use the context_priority extension when present.
| | * 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
* | | | am 9f6d18ca: am 04358138: Merge "[3095807] screen takes a long time to turn ↵Mathias Agopian2010-10-161-2/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | on" into gingerbread Merge commit '9f6d18cadf9ac50062063f5f5ff5de7f6895696a' * commit '9f6d18cadf9ac50062063f5f5ff5de7f6895696a': [3095807] screen takes a long time to turn on
| * | | am 04358138: Merge "[3095807] screen takes a long time to turn on" into ↵Mathias Agopian2010-10-141-2/+3
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | gingerbread Merge commit '043581382e43acbe29a8a62420bc765f49a9dd90' into gingerbread-plus-aosp * commit '043581382e43acbe29a8a62420bc765f49a9dd90': [3095807] screen takes a long time to turn on
| | * | [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
* | | | am 7e9a54d4: am d4e03f37: addresses parts of 3096779 and 3097475Mathias Agopian2010-10-162-19/+32
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | Merge commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8' * commit '7e9a54d460030a871a4f05e61e943c6a694e9ef8': addresses parts of 3096779 and 3097475
| * | | am d4e03f37: addresses parts of 3096779 and 3097475Mathias Agopian2010-10-142-19/+32
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | Merge commit 'd4e03f37423bee383d17f7292753a5f67e497a28' into gingerbread-plus-aosp * commit 'd4e03f37423bee383d17f7292753a5f67e497a28': addresses parts of 3096779 and 3097475
| | * | 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
* | | | am a8faf91f: am 6d71f6a0: Merge "fix [3095607] Gingerbread screen turn-on ↵Mathias Agopian2010-10-161-6/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | animation does not show the last frame" into gingerbread Merge commit 'a8faf91fa558be1235d508e776eb24be4429585c' * commit 'a8faf91fa558be1235d508e776eb24be4429585c': fix [3095607] Gingerbread screen turn-on animation does not show the last frame
| * | | am 6d71f6a0: Merge "fix [3095607] Gingerbread screen turn-on animation does ↵Mathias Agopian2010-10-141-6/+5
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | not show the last frame" into gingerbread Merge commit '6d71f6a0ae9fd81ce25562aee67f841b5d8394cf' into gingerbread-plus-aosp * commit '6d71f6a0ae9fd81ce25562aee67f841b5d8394cf': fix [3095607] Gingerbread screen turn-on animation does not show the last frame
| | * | 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
* | | | am 3d4a9774: am b0e020ab: Merge "may fix 3097381 and 3097482. don\'t abort ↵Mathias Agopian2010-10-151-10/+7
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | on/off if the animation fails" into gingerbread Merge commit '3d4a9774ced0c704da455c5bd9989127e90ba133' * commit '3d4a9774ced0c704da455c5bd9989127e90ba133': may fix 3097381 and 3097482. don't abort on/off if the animation fails
| * | | am b0e020ab: Merge "may fix 3097381 and 3097482. don\'t abort on/off if the ↵Mathias Agopian2010-10-141-10/+7
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | animation fails" into gingerbread Merge commit 'b0e020ab409b725a556f2c5043b08c9bac2c29bf' into gingerbread-plus-aosp * commit 'b0e020ab409b725a556f2c5043b08c9bac2c29bf': may fix 3097381 and 3097482. don't abort on/off if the animation fails
| | * | 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
* | | | am 5bfa3a34: am 011b5bcc: Merge "implement part of [3094280] New animation ↵Mathias Agopian2010-10-153-142/+369
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | for screen on and screen off add support for screen on animation" into gingerbread Merge commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f' * commit '5bfa3a34eaef759c3ec4def76f646eb1c0bf997f': implement part of [3094280] New animation for screen on and screen off
| * | | am 011b5bcc: Merge "implement part of [3094280] New animation for screen on ↵Mathias Agopian2010-10-133-142/+369
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | and screen off add support for screen on animation" into gingerbread Merge commit '011b5bcc0355338b7ff906656282a54ffaa04b5a' into gingerbread-plus-aosp * commit '011b5bcc0355338b7ff906656282a54ffaa04b5a': implement part of [3094280] New animation for screen on and screen off
| | * | 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
* | | | am 9a12a3c8: am ba799098: Merge changes I76513387,I335fb671 into gingerbreadJoe Onorato2010-10-134-7/+254
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Merge commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96' * commit '9a12a3c8d4bb20042cf69e07d268e3a04ac71f96': Remove dead code, and make the animation a setting. turn off the electron beam
| * | | am ba799098: Merge changes I76513387,I335fb671 into gingerbreadJoe Onorato2010-10-124-7/+254
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e' into gingerbread-plus-aosp * commit 'ba799098608c7be8ff1e18adfa7dc1f452205a7e': Remove dead code, and make the animation a setting. turn off the electron beam
| | * | turn off the electron beamMathias Agopian2010-10-124-7/+254
| | |/ | | | | | | | | | Change-Id: I335fb6719f1d5a3f1c6f37a046fd1c2c4ed2bbc6
* | | am 5d477279: am cf6b2765: Merge "fix a bug where FLIP_H would do a 180 ↵Mathias Agopian2010-10-121-3/+3
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | rotation" into gingerbread Merge commit '5d477279e6e41c9d61abe66dcded5c57a51e2c78' * commit '5d477279e6e41c9d61abe66dcded5c57a51e2c78': fix a bug where FLIP_H would do a 180 rotation
| * | am cf6b2765: Merge "fix a bug where FLIP_H would do a 180 rotation" into ↵Mathias Agopian2010-10-111-3/+3
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | gingerbread Merge commit 'cf6b2765ae7ea6305754e253264012b8f0498f7b' into gingerbread-plus-aosp * commit 'cf6b2765ae7ea6305754e253264012b8f0498f7b': fix a bug where FLIP_H would do a 180 rotation
| | * 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
* | | | am 3754d0cc: am d0528b74: Merge "deliver invalidate messages AFTER other ↵Mathias Agopian2010-10-121-8/+8
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | messages" into gingerbread Merge commit '3754d0ccc7ba07fd867d3d28e6493e84ce0a139d' * commit '3754d0ccc7ba07fd867d3d28e6493e84ce0a139d': deliver invalidate messages AFTER other messages
| * | | am d0528b74: Merge "deliver invalidate messages AFTER other messages" into ↵Mathias Agopian2010-10-111-8/+8
| |\ \ \ | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | gingerbread Merge commit 'd0528b74b6de87c415ea498095e142d52c68875b' into gingerbread-plus-aosp * commit 'd0528b74b6de87c415ea498095e142d52c68875b': deliver invalidate messages AFTER other messages
| | * | 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
| * | am a7c76d83: Merge "fix a bug where timeouts would only be handled when a ↵Mathias Agopian2010-10-111-7/+11
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | message was delivered" into gingerbread Merge commit 'a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c' into gingerbread-plus-aosp * commit 'a7c76d8307a3b49bf5b8fdda3543455b0e5dd64c': fix a bug where timeouts would only be handled when a message was delivered
| | * fix a bug where timeouts would only be handled when a message was deliveredMathias Agopian2010-10-111-7/+11
| | | | | | | | | | | | Change-Id: I98c69b129e75e065e61f47e54f0f855d9401b0dc
| * | am 19058877: Merge "refactored screenshot code" into gingerbreadMathias Agopian2010-10-049-87/+152
| |\ \ | | |/ | | | | | | | | | | | | | | | Merge commit '19058877df9bf94f197a72855f810f7f6bf8d068' into gingerbread-plus-aosp * commit '19058877df9bf94f197a72855f810f7f6bf8d068': refactored screenshot code
| | * 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
* | | Always create OpenGL accelerated windows in RGBA 8888.Romain Guy2010-10-121-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug #3081600 The OpenGL renderer in libhwui uses a single EGL context per process and thus create it with an RGBA 8888 EGL configuration. To ensure that all windows are compatible with this configuration, this change modifies the window manager and SurfaceFlinger. The window manager now checks the window's flags and if the window is hardware accelerated, it forces the window's pixel format to be translucent when creating the surface. The window itself is still marked as opaque if we know that the window will be opaque on screen. This keeps existing optimizations in place. Similarly in SurfaceFlinger, a translucent Surface can now be created with the Surface.OPAQUE flag, indicating SurfaceFlinger that the surface does not require blending, despite its RGBA 8888 configuration. Change-Id: Ic747b6b12564ba064412d842117880fcc199eb7c
* | | fix a bug where timeouts would only be handled when a message was deliveredMathias Agopian2010-10-071-7/+11
| | | | | | | | | | | | Change-Id: Id3127b21c1a1a1afab32911a8edbb202360d7c9b
* | | Fix a null dereferenceMathias Agopian2010-10-071-1/+3
| | | | | | | | | | | | Change-Id: I3df446b90c1607782778749de7ba0f8c00698c33
* | | refactored screenshot codeMathias Agopian2010-09-299-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: I5a3b0e431421800e3aad601d9af8f94adffbc71f