summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/LayerScreenshot.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove support for ScreenshotLayerMathias Agopian2013-03-051-47/+0
| | | | Change-Id: I5b571a4cf3faa77d2c4aca916fa4bd00a1065bb9
* rework screenshot API and implementationMathias Agopian2013-03-011-132/+8
| | | | | | | | | | | | | | | | | - SurfaceFlinger now supports to take a screenshot directly into an IGraphicBufferProducer - reimplement the IMemoryHeap screenshot on top of the above - reimplement LayerScreenshot such that its BufferQueue is directly used as the destination of the screenshot. LayerScreenshot is now a thin wrapper around Layer Bug: 6940974 Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
* SurfaceFlinger: add support for secure displaysJamie Gennis2012-10-221-2/+19
| | | | | | | | | This change adds support for displays that are not allowed to display surfaces with the eSecure flag set. All non-virtual displays are considered secure, while virtual displays have their secure-ness specified at creation time. Bug: 7368436 Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
* Always set vertex alpha when drawing screenshot layersJesse Hall2012-10-151-1/+2
| | | | | | | | The screenshot is a GL_RGB texture, and the GL_REPLACE texture env mode uses vertex alpha for GL_RGB textures instead of alpha=1.0. Bug: 7340077 Change-Id: I6fbb907023e48f9c422b15a33da79757d6726840
* Assume LayerScreenshot has pre-multiplied alphaJesse Hall2012-10-101-4/+4
| | | | | Bug: 7300129 Change-Id: Ie9114adc4b5c9a8cc3c65bfe6d9478b2cba4e0d8
* Eradicate DisplayID.Mathias Agopian2012-08-271-5/+6
| | | | | | | | DisplayDevices are now keyed of the wp<IBinder> the client uses. DisplayID has now become DisplayType which is just used to identify physical displays (as opposed to virtual displays such as wifi displays). Change-Id: I0c5968f2c902dcd699a7e0afacf833ff070c12ea
* libgui includes refactoringMathias Agopian2012-08-101-4/+4
| | | | Change-Id: I1d24ec17f5003ec2abab5f7472daaff4cc4cc2d3
* turn DisplayDevice into a reference-counted objectMathias Agopian2012-08-051-2/+2
| | | | | | | | | | it's safer this way because this object owns an EGLSurface which cannot be easily reference-counted. it also gives us the ability to sub-class it, which we might want to do soon. Change-Id: I07358bb052dc5a13b4f2196b2c2b6e6e94c4bb4f
* cleanups in preparation of bigger changesMathias Agopian2012-08-021-0/+3
| | | | | | | | | | | - fix typo drawForSreenshot misspelled - get rid of DisplayDeviceBase - removed unused or unneeded code - always pass a DisplayDevice to Layer methods that are called on a per-display basis (to make it clear that this could be called more than once per composition). Change-Id: Id948b7e09fe5c06db0e42d40d6ed75dd095c7f44
* rename DisplayHardware to DisplayDeviceMathias Agopian2012-08-021-2/+2
| | | | Change-Id: I3f7250cd914e0da4f9ec2c9403587bbe12f3cc62
* SurfaceFlinger cleanupMathias Agopian2012-07-241-4/+3
| | | | | | | mostly refactored SurfaceFlinger.h, but also removed dead code. cleaned-up a few includes as well. Change-Id: Ib15f4ffe567912b61ee98aa076c6a283b72811b5
* one more step towards multiple display supportMathias Agopian2012-07-101-2/+5
| | | | | | | | | - 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
* get rid of GraphicPlaneMathias Agopian2012-06-281-3/+2
| | | | | its functionality is now folded into DisplayHardware there will be more changes in that area.
* don't attempt to clip layers anymore using glScissorMathias Agopian2012-04-161-10/+2
| | | | | | | | | | | | this seems to hurt performance on some GPU. this change might negatively affect performance on other GPUs though, but probably in less time-sensitive cases. If this becomes a problem it might become necessary to pre-clip the geometry (so that we don't have to use glScissor). This improves the rotation animation quite a bit. Change-Id: I5dbe1286f7ad858ef2c1e1ad9a07ee3f26c0b1f3
* get rid off preserve backbuffer optimization in SFMathias Agopian2012-04-161-2/+0
| | | | | | | | | this optimization didn't improve performance and in fact seemed to hurt more than anything else. it also made things a lot more complex as it introduced edges cases when switching to/from h/w composer. Change-Id: Iaafc235e175f5740cd98bff914d706e02ab88bb8
* SurfaceFlinger: set wrap mode on screenshot textureMichael I. Gold2012-01-131-0/+2
| | | | | | | | | Some implementations of NPOT, particular those derived from core GLES2, require the wrap mode to be CLAMP_TO_EDGE. Set the required wrap mode for the screenshot texture so it passes the completeness check. Change-Id: I735016123e4acaf54b40d1435bd70281cef88a31
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-1/+1
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Fix rotation displays frame N-1 briefly while rotatingMathias Agopian2011-11-041-2/+44
| | | | | | | | | | The ScreenShot layer is now created hidden. The screenshot itself is aquired during the transaction when the layer is made visible. This guarantees the screenshot and the layer happen atomically with respect to screen updates. Bug: 5534521 Change-Id: Ida23e1f13d5716ec83b78a15712e0646d6cf8729
* Add a LayerScreenshotMathias Agopian2011-10-181-0/+114
| | | | | | | | | | 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
* Revert "Add a LayerScreenshot"Mathias Agopian2011-10-161-116/+0
| | | | This reverts commit d6809f40cf61203573ec5dbc437f695cd132cc18.
* Add a LayerScreenshotMathias Agopian2011-10-141-0/+116
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