summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/Layer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* refactored screenshot codeMathias Agopian2010-09-291-0/+11
| | | | | | | | | | | 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
* fix [3018216] UI shrinks / stretches while using apps with IMEMathias Agopian2010-09-211-1/+2
| | | | Change-Id: Ie4c5d8a434b4489355ed8c52af96eb931b4d7167
* Fix a SurfaceFlinger bug.Jamie Gennis2010-09-171-0/+1
| | | | | | | The bug caused SurfaceFlinger to constantly trigger reallocation of buffers that requested a fixed size. Change-Id: Ic993a60e6474e36a344c8b48d541a0d08b8c4faf
* am 6d4346ce: am 4cffbb47: Merge "fix [2946787] Screen flicker on low ↵Mathias Agopian2010-08-251-11/+21
|\ | | | | | | | | | | | | | | | | resolution setting in camcorder." into gingerbread Merge commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2' * commit '6d4346ce35a521d67f45d7c9658c450c0fc461d2': fix [2946787] Screen flicker on low resolution setting in camcorder.
| * fix [2946787] Screen flicker on low resolution setting in camcorder.Mathias Agopian2010-08-251-11/+21
| | | | | | | | Change-Id: I7e86f2b6d85dcae8dd212890b978fa6ac7de6893
* | am 46820412: am 8eb16af2: Merge "don\'t try to lock a buffer that wasn\'t ↵Mathias Agopian2010-08-251-6/+10
|\ \ | |/ | | | | | | | | | | | | | | allocated with SW usage bits" into gingerbread Merge commit '468204124e95bbf74ae8cc000318ade29e311be6' * commit '468204124e95bbf74ae8cc000318ade29e311be6': don't try to lock a buffer that wasn't allocated with SW usage bits
| * don't try to lock a buffer that wasn't allocated with SW usage bitsMathias Agopian2010-08-251-6/+10
| | | | | | | | Change-Id: Iabbcec1bfa30dc47d45ece699dd178653f1b675b
* | am bc4389ed: am 8395b462: Merge "fix [2931513] Add support for setting the ↵Mathias Agopian2010-08-241-1/+8
|\ \ | |/ | | | | | | | | | | | | | | orientation of an ANativeWindow" into gingerbread Merge commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64' * commit 'bc4389edfbb5777aec1a9af7863b2ca3ade2fa64': fix [2931513] Add support for setting the orientation of an ANativeWindow
| * fix [2931513] Add support for setting the orientation of an ANativeWindowMathias Agopian2010-08-241-1/+8
| | | | | | | | | | | | Also implement support for cropping. Change-Id: Iba5888dd242bf2feaac9e9ce26e404c1f404c280
| * revert hwcomposer HAL changes. DO NOT MERGE.Mathias Agopian2010-08-171-57/+0
|/ | | | | | | | This reverts commit: 94364b91a2894bf037b8beb027132fbb812e1434 f8e705dea48f77f1c2532fdbadd4997dd1851af0 b59beb5ca68d0228f60dda60d85e2d0226b33215 e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
* call into hwcomposer HAL when presentMathias Agopian2010-08-111-0/+57
| | | | Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
* fix [2873058] Surface::dequeueBuffer blocks on last buffer, i.e. cannot ↵Mathias Agopian2010-07-271-22/+6
| | | | | | | | | | | | | | | | | | | | | 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
* move native services under services/Mathias Agopian2010-07-141-0/+875
moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8