summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger
Commit message (Collapse)AuthorAgeFilesLines
* remove files that moved to frameworks/nativeMathias Agopian2012-03-0751-9298/+0
| | | | Change-Id: I140d291e520097b1148930f736823650e08488f7
* fixup include pathsMathias Agopian2012-03-051-5/+0
| | | | | | | - remove unneeded include deps - remove some hardcoded include paths Change-Id: Ifae0e2b2d738e0f94f8525c45be78f4227ce1673
* add more ATRACEMathias Agopian2012-03-012-0/+11
| | | | Change-Id: I6cc5759fb0a05427680488fd12ae797e77644f3d
* Merge "a window could get stuck to gpu composition"Mathias Agopian2012-02-271-0/+6
|\
| * a window could get stuck to gpu compositionMathias Agopian2012-02-271-0/+6
| | | | | | | | | | | | | | | | this could happen after an orientation change. basically we need to triger a geometry-changed when the very first buffer is received Change-Id: I097e411fd6612c18725737cffccdbf6b2af3511c
* | Add tracing to various graphics components.Jamie Gennis2012-02-272-0/+16
|/ | | | | | | This change adds ATRACE call tracing to BufferQueue, SurfaceTextureClient, SurfaceTexture, SurfaceFlinger, Layer, and EGL. Change-Id: I9d75ed26f5a3f0d1af635da38289520134cfbbb7
* fix libgui header locationMathias Agopian2012-02-2711-27/+24
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* remove libui dependency on libEGLMathias Agopian2012-02-241-1/+23
| | | | Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
* deprecate L_8, LA_88 and RGB_332 in sdkMathias Agopian2012-02-242-2/+6
| | | | | | | | | | re-add support for pixelformats L_8, LA_88 and RGB_332 in libui for backward compatibility. This may or may not fix 6058926 Bug: 6049685 Change-Id: Ic1b8b4cc994522f7fe664da64c0ef76b98bc6d53
* workaround for an issue where the screen would flicker sometimesMathias Agopian2012-02-231-0/+6
| | | | | bug: 6020860 Change-Id: I97807db66b66c5f4dcbed0df79d5d257cfc7c0bd
* fix an issue in SF where we could miss some updatesMathias Agopian2012-02-233-31/+28
| | | | Change-Id: I7d350bc05d1596655baddff3deaebaba58c9bcc0
* Merge "createSurface getpid() first parameter was removed"Glenn Kasten2012-02-212-2/+2
|\
| * createSurface getpid() first parameter was removedGlenn Kasten2012-02-092-2/+2
| | | | | | | | | | | | | | | | | | Most of these tests in this directory don't currently build, but test-surface did build incorrectly by bad luck, using the old API. test-resize still doesn't build, but when the other build errors are fixed then it will use the right API. Change-Id: I388d6d59fe0a2328f352214dcdc28839a24043f0
* | Merge "SurfaceFlinger: set wrap mode on screenshot texture"Mathias Agopian2012-02-202-0/+6
|\ \ | |/ |/|
| * SurfaceFlinger: set wrap mode on screenshot textureMichael I. Gold2012-01-132-0/+6
| | | | | | | | | | | | | | | | | | 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
* | Merge "Return information about whether overlays are disabled."Dianne Hackborn2012-02-071-0/+1
|\ \
| * | Return information about whether overlays are disabled.Dianne Hackborn2012-02-061-0/+1
| | | | | | | | | | | | Change-Id: I85ae42e9f28461f5142cc6b3c8e25ff3f195805a
* | | fix a crasher when starting SF with the screen offMathias Agopian2012-02-053-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | SF could end-up in an infinite crash-loop during startup if it was stopped while the screen was off. This happened because the thread that manages screen blanking was started before other important pieces of SF were initialized. Change-Id: I0dded11dbf2395fdd57b673859a7aa0fa9eb32b6
* | | ui freeze workaround: reenable triple buffering modeMathias Agopian2012-02-054-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | we're seeing UI freezes when window updates and composition are separated. for now we workaround this by always doing a composition after window updates on vsync. triple buffering is reenabled for performance. Change-Id: I693d705000b7452489bb0b4918fbeadb9879315c
* | | improve SF dumpsysMathias Agopian2012-02-052-2/+9
| | |
* | | fix UI freezesMathias Agopian2012-02-041-21/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | In some situations SF would mark a window as "has a pending update" but would never process that update because the window is not visible (fully transparent, hidden by another window, etc...), this window would then be "stuck" until some other window updated. Change-Id: Ifa18a9aef3a53f2593b473556702688ae62d9503
* | | attempt to fix an ANR in various appsMathias Agopian2012-02-031-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | recent changes in SF introduced a hang where some windows would stop being refreshed. This is an attemp to fix that. Change-Id: I6aa32ac0d6f1c0a6aea8f6195825dc4f4e6f93f9
* | | Merge "separate transactions from updates"Mathias Agopian2012-02-029-171/+248
|\ \ \
| * | | separate transactions from updatesMathias Agopian2012-02-019-171/+248
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | with this changes, SF transactions are handled as soon as possible but do not trigger updates. the update is delayed until the next vsync. this allows us to work much better without requiring triple-buffering. Change-Id: I1fa10794d0cf742129f0877698b7b1e1f2ec7401
* | | fix an issue where SF would spin if /sys/power/wait_for_fb_xxx don't existMathias Agopian2012-02-022-97/+68
|/ / | | | | | | | | | | | | we now exit the Display thread on any error happening on these files. also refactor the code and remove a lot of unused stuff. Change-Id: I8d080c35b211890ca20ae09fa36fbdccdf5669a8
* | Merge "fix an issue with vsync event delivery"Mathias Agopian2012-01-312-7/+5
|\ \
| * | fix an issue with vsync event deliveryMathias Agopian2012-01-312-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vsync events were sometimes delivered to connected client who didn't request them. this happened if another client requested the delivery and that client was first in the client list. also fix the vsync test which didn't request any events as well as DisplayEventReveiver documentation which was misleading about the necessity to request vsync events. Change-Id: Ie990fda3f337f8f0042745c4b2cde67936c45686
* | | Nexus S now reports the proper frame-rateMathias Agopian2012-01-301-1/+0
|/ / | | | | | | | | | | don't hardcode it. Change-Id: I4b37f37a9809cac937e6334c988b3185af2ebe22
* | SF now synchronizes to VSYNCMathias Agopian2012-01-308-14/+120
| | | | | | | | Change-Id: Ic5e4f2ea9927ce133eef9499c03161325e9d02c5
* | remove unneeded codeMathias Agopian2012-01-292-22/+2
| | | | | | | | Change-Id: I07e2fca7274d2e12bf5b4aee0050794bdb97a8b3
* | added a few more commands to SF's dumpsysMathias Agopian2012-01-286-8/+65
| | | | | | | | | | | | | | | | | | | | | | --latency-clear [name] clears the latency data for the specified layer or for all layers if none is specified --list prints the list of all layers regardless of their visibility Change-Id: I7c07ae020f838c173b98ee50f3fb3e93da78acbb
* | improve SurfaceFlinger dumpsysMathias Agopian2012-01-249-131/+203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now possible to say: dumpsys SurfaceFlinger --latency to print latency information about all windows dumpsys SurfaceFlinger --latency window-name to print the latency stats of the specified window for instance: dumpsys SurfaceFlinger --latency SurfaceView The data consists of one line containing global stats, followed by 128 lines of tab separated timestamps in nanosecond. The first line currently contains the refresh period in nanosecond. Each 128 following line contains 3 timestamps, of respectively the app draw time, the vsync timestamp just prior the call to set and the timestamp of the call to set. Change-Id: Ib6b6da1d7e2e6ba49c282bdbc0b56a7dc203343a
* | hack up frame latency measurementJamie Gennis2012-01-244-1/+43
| | | | | | | | Change-Id: I6d9a466a23285304f0e229a5649815636ab5d6af
* | Get AID_GRAPHICS from right placeGlenn Kasten2012-01-131-7/+1
| | | | | | | | Change-Id: I97b1754dc7260fec083275c71a8f71ebfb2cefa8
* | fix a bug with vsync managementMathias Agopian2012-01-121-8/+7
| | | | | | | | | | | | | | this bug was introduced recently. we were signaling *all* clients regardless of the vsync rate. Change-Id: I2ae8a6c820a390f602382596ba75e8ed737fb2ef
* | remove dead/usnused codeMathias Agopian2012-01-114-42/+0
| | | | | | | | Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
* | Fix an issue with VSYNCMathias Agopian2012-01-111-38/+31
|/ | | | | | | one-shot VSYNC listeners could miss a VSYNC event if scheduled while in waitForVsync(). Change-Id: I720485784aecfea6cc7a23c77081d7af3c9c71db
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-084-23/+23
| | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-065-9/+9
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Merge "Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE"Steve Block2012-01-053-23/+23
|\
| * Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-043-23/+23
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* | Merge "Use the standard CC_LIKELY and CC_UNLIKELY macros"Glenn Kasten2012-01-053-19/+18
|\ \ | |/ |/|
| * Use the standard CC_LIKELY and CC_UNLIKELY macrosGlenn Kasten2012-01-053-19/+18
| | | | | | | | | | | | | | | | | | | | | | Several source files privately defined macros LIKELY and UNLIKELY in terms of __builtin_expect. But <cutils/compiler.h> already has CC_LIKELY and CC_UNLIKELY which are intended for this purpose. So rename the private uses to use the standard names. In addition, AudioFlinger was relying on the macro expanding to extra ( ). Change-Id: I2494e087a0c0cac0ac998335f5e9c8ad02955873
* | Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-036-17/+17
|/ | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
* Improve the VSYNC api a bit.Mathias Agopian2011-12-066-35/+132
| | | | | | | | | | | - add the ability to set the vsync delivery rate, when the rate is set to N>1 (ie: receive every N vsync), SF process' is woken up for all of vsync, but clients only see the every N events. - add the concept of one-shot vsync events, with a call-back to request the next one. currently the call-back is a binder IPC. Change-Id: I09f71df0b0ba0d88ed997645e2e2497d553c9a1b
* fix a deadlock when removing a DisplayEventConnectionMathias Agopian2011-12-052-21/+46
| | | | | | | | | the deadlock would happen when the pipe became invalid and SF trying to remove the connection from its list. we know make sure to process events without holding a lock. Change-Id: I39927ed8824fc7811e16db3c7608a2ebc72d9642
* Merge "fix an issue where invalidate/transactions could be missed"Mathias Agopian2011-12-042-6/+9
|\
| * fix an issue where invalidate/transactions could be missedMathias Agopian2011-12-032-6/+9
| | | | | | | | Change-Id: I84a1fcba1317b2631f5441de7b7ecd12af5ad022
* | am a91e54fe: am f57c1388: Merge "SurfaceFlinger: fix layer removal race ↵Jesse Hall2011-12-022-1/+10
|\ \ | |/ |/| | | | | | | | | condition" into ics-mr1 * commit 'a91e54fed6a0690d59c97bab9b081b2614880563': SurfaceFlinger: fix layer removal race condition
| * SurfaceFlinger: fix layer removal race conditionJesse Hall2011-12-022-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Layer::lockPageFlip() and layer::onRemove() could be called on different threads and race such that lockPageFlip() successfully called mSurfaceTexture->updateTexImage() but then gets NULL back from mSurfaceTexture->getCurrentBuffer(), leading to a crash. This change moves Layer::onRemove() calls to SurfaceFlinger::commitTransaction() so they happen after the Layer is done being drawn from and only happen on the main surfaceflinger thread. Change-Id: I4b550caadff4cc1878d7c3bca6129193fb0c713e