summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Fix software GL renderer."Xavier Ducrohet2011-10-211-1/+1
|\
| * Fix software GL renderer.Xavier Ducrohet2011-10-211-1/+1
| | | | | | | | Change-Id: I07ab2709fa694e41aa3fcc5b9dfc809f55853ab4
* | am aa938c8d: Merge "mDirtyRegion is single threaded, but could be accessed ↵Mathias Agopian2011-10-212-2/+23
|\ \ | |/ |/| | | | | | | | | from a hwc thread" into ics-mr0 * commit 'aa938c8d9c0e71c9b556657cb33794210ce6ebf8': mDirtyRegion is single threaded, but could be accessed from a hwc thread
| * mDirtyRegion is single threaded, but could be accessed from a hwc threadMathias Agopian2011-10-212-2/+23
| | | | | | | | | | | | | | | | | | | | We now have mInvalidateRegion which holds the region to invalidate, it can be set from any thread as long as mInvalidateLock is held. We use fine-grained locking here because mInvalidateRegion can be set from anywhere, in particular frmo HWC callbacks. Bug: 5466774 Change-Id: Iafca20aa3f5b25a87755e65bde7b769aa8f997bc
* | am 16bece04: Merge "added dpi and refresh rate info in SF\'s dumpsys" into ↵Mathias Agopian2011-10-201-2/+9
|\ \ | |/ | | | | | | | | | | ics-mr0 * commit '16bece04bdbac9af5228436f70267ec5763315de': added dpi and refresh rate info in SF's dumpsys
| * added dpi and refresh rate info in SF's dumpsysMathias Agopian2011-10-201-2/+9
| | | | | | | | Change-Id: I2327248eb1993689367e3daeaccba74c172dfceb
* | am 70ac412b: Merge "Add a LayerScreenshot" into ics-mr0Dave Burke2011-10-186-28/+226
|\ \ | |/ | | | | | | * commit '70ac412b2fe7be2507189a9fdfb30c43b36d56ac': Add a LayerScreenshot
| * Add a LayerScreenshotMathias Agopian2011-10-186-28/+226
| | | | | | | | | | | | | | | | | | | | A LayerScreenshot is a special type of layer that contains a screenshot of the screen acquired when its created. It works just like LayerDim. Make sure to call compositionComplete() after rendering into a FBO. Bug: 5446982, 5467587, 5466259 Change-Id: I5d8a1b4c327f9973d950cd4f4c0bca7f62825cd4
* | am f7613743: Merge "Don\'t call hwc set() if there is nothing new to do" ↵Mathias Agopian2011-10-181-2/+10
|\ \ | |/ | | | | | | | | | | into ics-mr0 * commit 'f7613743f29f38cbbaf4ae09996c380845a17daf': Don't call hwc set() if there is nothing new to do
| * Don't call hwc set() if there is nothing new to doMathias Agopian2011-10-181-2/+10
| | | | | | | | | | | | | | | | | | | | there was situations where SF's main loop would run (as if there was an invalidate), but the dirty region was empty (so no new buffers were retired). In this case we return early and don't swap, which would cause drawing artifacts. Bug: 5476838 Change-Id: Id3b7bf4b7aabec7919c50d9278eb2165973a4c3d
* | am 23bf2505: Merge "Make sure set GL state properly" into ics-mr0Mathias Agopian2011-10-184-40/+30
|\ \ | |/ | | | | | | * commit '23bf250522b7dff9acd14c5900b66b1df9c76745': Make sure set GL state properly
| * Make sure set GL state properlyMathias Agopian2011-10-184-40/+30
| | | | | | | | | | | | | | | | | | when taking a screenshot, in particular, we could end up with stale GL state when drawing LayerDim which resulted in incortect rendering. Bug: 5467587 Change-Id: Id9fbed2843481d31063620f3662b364c7e3ac781
* | am 840b8a67: Revert "Add a LayerScreenshot"Mathias Agopian2011-10-176-226/+28
|\ \ | |/ | | | | | | * commit '840b8a678537519c27ddf2f818494eaa20a135d4': Revert "Add a LayerScreenshot"
| * Revert "Add a LayerScreenshot"Mathias Agopian2011-10-166-226/+28
| | | | | | | | This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
* | am 4fb6416e: Merge "we need to guarantee that h/w comp set() is called when ↵Mathias Agopian2011-10-171-9/+7
|\ \ | |/ | | | | | | | | | | a buffer has been retired" into ics-mr0 * commit '4fb6416e3a21031a88921a784ae62b13d8a1a39f': we need to guarantee that h/w comp set() is called when a buffer has been retired
| * we need to guarantee that h/w comp set() is called when a buffer has been ↵Mathias Agopian2011-10-161-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | retired removed a test that could violate this guarantee. note that we have no proof tha this ever happened, but consequences could be hard lock-ups. the code here was intended to track the region to update for displays that can do partial update. the logic discarded the update entirely if that region was empty. instead we just redraw the whole thing (note that we should never be there with an empty region and retired buffers though). Bug: 5466259 Change-Id: I91ccab3b1a599e729e438eb833939e2236da6854
* | Merge branch 'master' of ssh://android-git:29418/platform/frameworks/baseElliott Hughes2011-10-176-174/+298
|\ \ | |/ |/|
| * SurfaceFlinger: Remove display freezing codeJamie Gennis2011-10-144-155/+5
| | | | | | | | | | | | | | This change removes the dead code from SurfaceFlinger that resulted from disabling support for freezing the display. Change-Id: I4e5ff00c94b4c7a79af2f65c9850c135210068ed
| * SurfaceFlinger: add some layer update testsJamie Gennis2011-10-142-1/+276
| | | | | | | | | | | | | | This change adds two tests for SurfaceFlinger's behavior when updating the position and size of a layer. Change-Id: Id5e3ca1d7e629a3bd2c2d28275d80c7f9256d6da
| * SurfaceFlinger: make sync transactions explicitJamie Gennis2011-10-142-18/+17
| | | | | | | | | | | | | | This change enables a layer or orientation update transaction sent to SurfaceFlinger to explicitly request a synchronous transaction. Change-Id: I97cbba610c13679849f66114b216fa6dbf12f2a9
* | Add a LayerScreenshotMathias Agopian2011-10-146-28/+226
|/ | | | | | | | A LayerScreenshot is a special type of layer that contains a screenshot of the screen acquired when its created. It works just like LayerDim. Bug: 5446982 Change-Id: I7814aff2380e7e146937f2b641907be2a30c76cc
* SurfaceFlinger: update orientation via transactionsJamie Gennis2011-10-112-2/+15
| | | | | | | | | | | This change merges the ISurfaceComposer::setOrientation functionality into ISurfaceComposer::setTransactionState. It enables the window manager to atomically update both the display orientation and the position and size of the windows in a single transaction with SurfaceFlinger. Bug: 5439574 Change-Id: I18a8ccc564d7d760ef8afb2d015ccdb7a7963900
* Merge "fix an issue where the screen could stay off"Mathias Agopian2011-10-104-21/+2
|\
| * fix an issue where the screen could stay offMathias Agopian2011-10-104-21/+2
| | | | | | | | | | | | | | | | this would happen when toggling on/off/on very fast, the screen could stay black (while the panel is on). Bug: 5429724 Change-Id: Ic8aa6aff066e6267923c0d47ef65e314e7bb6d41
* | Merge "Fix screen off animation when in landscape"Mathias Agopian2011-10-101-2/+10
|\ \ | |/
| * Fix screen off animation when in landscapeMathias Agopian2011-10-101-2/+10
| | | | | | | | Change-Id: I4bc5b12d7a64a4bf8b9a851594be4d60b790d1ed
* | Merge "enable EGL_IMG_context_priority for the omap4 platform"Mathias Agopian2011-10-101-0/+3
|\ \ | |/ |/|
| * enable EGL_IMG_context_priority for the omap4 platformMathias Agopian2011-10-071-0/+3
| | | | | | | | | | Bug: 5311015 Change-Id: Icaad3d1c963d382ac0a4b9121fe20d3408846c2b
* | SurfaceFlinger: screenshots w/ protected buffersJamie Gennis2011-10-073-30/+38
|/ | | | | | | | | This change modifies SurfaceFlinger's screenshot behavior when a layer with a protected buffer is visible. The previous behavior was to simply fail the screenshot. The new behavior is to render the screenshot using a placeholder texture where the protected buffer would have been. Change-Id: I5e50cb2f3b31b2ea81cfe291c9b4a42e9ee71874
* Force a repaint when hwc invalidate hook is calledMathias Agopian2011-10-052-6/+4
| | | | | | | without this prepare() would be called but not set() since the dirty region is empty. Change-Id: I038acfbdad4c16015357ccde4d1949391d6f989d
* improve hwc log outputMathias Agopian2011-09-291-5/+5
| | | | | | we now print the handle of each buffer Change-Id: I70884ae458a9dcf10cfc403258d48eaa4618b7f4
* Merge changes Ib302d79e,Ib4ee085fJamie Gennis2011-09-273-1/+7
|\ | | | | | | | | | | * changes: SurfaceFlinger: set layer names on SurfaceTextures SurfaceTexture: add name support
| * SurfaceFlinger: set layer names on SurfaceTexturesJamie Gennis2011-09-223-1/+7
| | | | | | | | | | | | | | This change sets the SurfaceTexture name string to match that of the layer to which it belongs. Change-Id: Ib302d79e916a36ab1e54cb9ff477c3b857bd957b
* | am da42e0fa: Merge "SurfaceFlinger: fix setting default buffer size" into ↵Jamie Gennis2011-09-271-4/+5
|\ \ | | | | | | | | | | | | | | | | | | ics-factoryrom * commit 'da42e0faaa95c796dc49f3b38023562dab6584a7': SurfaceFlinger: fix setting default buffer size
| * \ Merge "SurfaceFlinger: fix setting default buffer size" into ics-factoryromJamie Gennis2011-09-271-4/+5
| |\ \
| | * | SurfaceFlinger: fix setting default buffer sizeJamie Gennis2011-09-261-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change makes SurfaceFlinger update a SurfaceTextureLayer's default buffer size in response to a window resize even if the Layer is in fixed size mode. Change-Id: I3871c8f19a045d03904d1284390cad7659be71ff Bug: 5366426
| * | | don't clear the framebuffer when the framebuffer is not usedMathias Agopian2011-09-261-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when areas of the FB are undefined (transparent windows on top of nothing), we clear those areas before composition. however, it makes no sense to do this when the FB is not in use (case where hwc handles all layers) Bug: 5360529 Change-Id: I761a7d3664228ebbee0944aca8b0cc278fc94c9c
| * | | Merge "(DO NOT MERGE) SurfaceFlinger: fix isOpaque check in lockPageFlip" ↵Jamie Gennis2011-09-261-10/+10
| |\ \ \ | | | | | | | | | | | | | | | into ics-factoryrom
| | * | | (DO NOT MERGE) SurfaceFlinger: fix isOpaque check in lockPageFlipJamie Gennis2011-09-161-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes an issue where Layer::isOpaque was being called in lockPageFlip to get the opaqueness for the new buffer before mActiveBuffer was updated. Bug: 5321313 Change-Id: Ibb5d7d3f4e9a2b1448e117a484a0d9f9ca5fc9de
* | | | | am 3780d380: Merge "SurfaceFlinger: fix the transform hint" into ics-factoryromJamie Gennis2011-09-263-1/+5
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '3780d38010f50ccce508871058d54c1921936e0c': SurfaceFlinger: fix the transform hint
| * | | | SurfaceFlinger: fix the transform hintJamie Gennis2011-09-243-1/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes the transform hint to use only the global display transform rather than incorporating the transient layer-specific transform used during animations. Bug: 5366891 Change-Id: I5408dcd3f4771d010953e8a696a484c835bfe81e
| * | | fix transition from full overlays to fbMathias Agopian2011-09-205-48/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | we need to clear the whole framebuffer in that situation because we can't trust the content of the FB when partial (fb preserving) updates are used. Bug: 5318492 Change-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b
| * | | rename mInvalidRegion to mSwapRegionMathias Agopian2011-09-202-11/+11
| | | | | | | | | | | | | | | | Change-Id: I946cbc782c0c84645843ea44c3d8b04a0a2fe658
| * | | improve hwc dumpsysMathias Agopian2011-09-204-6/+21
| |/ / | | | | | | | | | | | | | | | we now log the buffer's format Change-Id: I9d3ad8018e884240a153de3baefb6331cb014d0f
* | | Merge "don't clear the framebuffer when the framebuffer is not used"Mathias Agopian2011-09-221-5/+6
|\ \ \
| * | | don't clear the framebuffer when the framebuffer is not usedMathias Agopian2011-09-221-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when areas of the FB are undefined (transparent windows on top of nothing), we clear those areas before composition. however, it makes no sense to do this when the FB is not in use (case where hwc handles all layers) Bug: 5360529 Change-Id: If51bb669307e8419bbe1f3a89d1c88e0ec1f216c
* | | | Merge "fix dumpsys wording for h/w composer"Mathias Agopian2011-09-221-1/+1
|\ \ \ \ | |/ / / | | | / | |_|/ |/| |
| * | fix dumpsys wording for h/w composerMathias Agopian2011-09-221-1/+1
| | | | | | | | | | | | Change-Id: Iaa1094964f2fb83da491e23b9309f7690079c17e
* | | Handle orientation changes more systematically.Jeff Brown2011-09-212-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 4981385 Simplify the orientation changing code path in the WindowManager. Instead of the policy calling setRotation() when the sensor determined orientation changes, it calls updateRotation(), which figures everything out. For the most part, the rotation actually passed to setRotation() was more or less ignored and just added confusion, particularly when handling deferred orientation changes. Ensure that 180 degree rotations are disallowed even when the application specifies SCREEN_ORIENTATION_SENSOR_*. These rotations are only enabled when docked upside-down for some reason or when the application specifies SCREEN_ORIENTATION_FULL_SENSOR. Ensure that special modes like HDMI connected, lid switch, dock and rotation lock all cause the sensor to be ignored even when the application asks for sensor-based orientation changes. The sensor is not relevant in these modes because some external factor (or the user) is determining the preferred rotation. Currently, applications can still override the preferred rotation even when there are special modes in play that might say otherwise. We could tweak this so that some special modes trump application choices completely (resulting in a letter-boxed application, perhaps). I tested this sort of tweak (not included in the patch) and it seems to work fine, including transitions between applications with varying orientation. Delete dead code related to animFlags. Handle pausing/resuming orientation changes more precisely. Ensure that a deferred orientation change is performed when a drag completes, even if endDragLw() is not called because the drag was aborted before the drop happened. We pause the orientation change in register() and resume in unregister() because those methods appear to always be called as needed. Change-Id: If0a31de3d057251e581fdee64819f2b19e676e9a
* | fix transition from full overlays to fbMathias Agopian2011-09-205-48/+90
| | | | | | | | | | | | | | | | | | | | we need to clear the whole framebuffer in that situation because we can't trust the content of the FB when partial (fb preserving) updates are used. Bug: 5318492 Change-Id: I3f0e01b0fb665a34e44d88ad9f0f54a5d990060b