summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp
Commit message (Collapse)AuthorAgeFilesLines
* get rid of GraphicPlaneMathias Agopian2012-06-281-478/+0
| | | | | its functionality is now folded into DisplayHardware there will be more changes in that area.
* First prototype atttempting to support an external displayMathias Agopian2012-06-281-12/+9
| | | | | | | | | | | both API and implementation will change, this is just a prototype intended to show feasability. SurfaceFlinger is passed an ISurfaceTexture through a new callback, it is in turn used to create an EGLSurface which surfaceflinger will draw into in addition to the main screen. Change-Id: Id0bbb0b854bb7bae44d57246a90b65d4567f9a21
* Implement SurfaceFlinger's ANW on top of BufferQueueMathias Agopian2012-06-131-2/+2
| | | | | | | | SF now has its own implementation of ANW for the framebuffer and it uses BufferQueue. FramebufferNativeWindow is now only used by stand-alone apps. Change-Id: Iddeb24087df62bd92b0f78e391dda9b97ddc859c
* set vsync power hintMathias Agopian2012-04-261-0/+7
| | | | Change-Id: I28c2faf9ff584df3e74392712971cbcf75eb9e98
* get rid off preserve backbuffer optimization in SFMathias Agopian2012-04-161-6/+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 now uses the new VSYNC HAL API.Mathias Agopian2012-04-041-35/+24
| | | | | | | If h/w composer doesn't support vsync (version < 0.3) we "fake" it with a timer. Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b
* rewrite density calculation code so it's understandableMathias Agopian2012-03-221-31/+43
| | | | Change-Id: I1016cd5fd75355abe4ab879d04f4849bd2dd4122
* displayhardware: fix not obeying ro.sf.lcd_density when specifiedDima Zavin2012-03-211-6/+12
| | | | | Change-Id: I71efd6aebfdb0323b07327f5e448a5cb5eb0fad6 Signed-off-by: Dima Zavin <dima@android.com>
* surfaceflinger: use display dpi if not forced with ro.sf.lcd_nensityDima Zavin2012-03-141-3/+9
| | | | | Change-Id: I52c4b872e0f2c088c2a6ada7a5bb15db071f0002 Signed-off-by: Dima Zavin <dima@android.com>
* fix libgui header locationMathias Agopian2012-02-271-2/+0
| | | | Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
* remove libui dependency on libEGLMathias Agopian2012-02-241-1/+23
| | | | Change-Id: I1194f04085637d5c384e134967249430cc43b6ee
* improve SurfaceFlinger dumpsysMathias Agopian2012-01-241-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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
* remove dead/usnused codeMathias Agopian2012-01-111-4/+0
| | | | Change-Id: I6fa2bc6ee01790abd2c1533f043d61a5e5c8d26e
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-5/+5
| | | | | | | 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-061-2/+2
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-041-16/+16
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
* Add support for sending VSYNC events to the frameworkMathias Agopian2011-11-291-0/+34
| | | | | | | | | use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: Ia720f64d1b950328b47b22c6a86042e481d35f09
* Fix build.Mathias Agopian2011-11-291-34/+0
| | | | | | | | Revert "Add support for sending VSYNC events to the framework" This reverts commit f3918c5bd4bc9f02f74da42995564150ca2dd382. Change-Id: I998e3e1aa3fa310829ae973b64fe11b01f6f468f
* Add support for sending VSYNC events to the frameworkMathias Agopian2011-11-291-0/+34
| | | | | | | | | use gui/DisplayEvent to receive the events. Events are dispatched through a unix pipe, so the API is compatible with utils/Looper. see gui/DisplayEvent.h for more info. Bug: 1475048 Change-Id: If4126023fc9c067e56087ec7d16a8fd542ce1794
* rework a bit how we manage EGL extensionsMathias Agopian2011-11-141-16/+0
| | | | | | | | | | | | | - don't advertise extensions that are not supported by any implementation - remove EGL_ANDROID_swap_rectangle which is not implemented by anybody and confuses people - add some comments about mandatory extensions Bug: 5428001 Change-Id: Id8dc48116ac1d1eb79ec9ef55d03e29d4257c1f3
* workaround to set the WM refresh rate to 48 Hz for tuna devices onlyMathias Agopian2011-11-041-0/+11
| | | | | | | this is TEMPORARY until we can do this properly. Bug: 5572464 Change-Id: I6537706d636a83a4a50e2900d6b829dd89b6f245
* Add a h/w composer API to allow the HAL to trigger a redrawMathias Agopian2011-08-011-2/+3
| | | | | | | | This is useful in various situations, for instance if the HAL wants to change its compositing strategy. Bug: 4488017 Change-Id: I5afc14e5917c6db7926d7417d48677d5aba50caa
* Fix EGLUtils::selectConfigForPixelFormat()Mathias Agopian2011-07-081-6/+39
| | | | | | | | | | | | | | | - renderscript now calls EGL directly instead of relying on this function - surfaceflinger also does its own EGLConfig selection - selectConfigForPixelFormat stays for legacy reason (many tests use it) but it now only tries to match the alpha channel of the format rather than the format itself. this will allow implementations who don't support the exact formats defined in the HAL to work properly. Bug: 4998223 Change-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f
* don't kill surfaceflinger when system process diesMathias Agopian2011-07-011-0/+5
| | | | Change-Id: I2d3ed87b590f9ccea3fa4af41d92911de070b315
* fix memory corruption when retriving GL_MAX_VIEWPORT_DIMSMathias Agopian2011-04-181-3/+7
| | | | Change-Id: I2e0b1eac6dbc6a4ecbbaf31013aa02cf2369fce2
* remove support for PUSH_BUFFER surfaces and overlaysMathias Agopian2010-12-081-8/+0
| | | | | | | the same functionality is now supported through the h/w composer HAL, and YUV support in the GPU. Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
* surfaceflinger: add support for gralloc dump hooksErik Gilling2010-12-081-0/+5
| | | | Change-Id: Ib6f539ed0132b70d040d653c03d52cc04249ac3c
* am fb31036f: am 583fefc8: Merge "Use the context_priority extension when ↵Mathias Agopian2010-10-211-2/+12
|\ | | | | | | | | | | | | | | | | present." into gingerbread Merge commit 'fb31036fd844444c395a2ae9c97439eec9f774e4' * commit 'fb31036fd844444c395a2ae9c97439eec9f774e4': Use the context_priority extension when present.
| * Use the context_priority extension when present.Mathias Agopian2010-10-111-2/+12
| | | | | | | | Change-Id: I12eadf1e32d576de5d811fba44afa73263e13eef
* | resolved conflicts for merge of 48a86240 to masterMathias Agopian2010-09-151-0/+4
|\ \ | |/ | | | | Change-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5
| * Add logging of various important graphics eventsMathias Agopian2010-09-131-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 16 events logged in the event log: SF_APP_DEQUEUE_BEFORE SF_APP_DEQUEUE_AFTER SF_APP_LOCK_BEFORE SF_APP_LOCK_AFTER SF_APP_QUEUE SF_REPAINT SF_COMPOSITION_COMPLETE SF_UNLOCK_CLIENTS SF_SWAP_BUFFERS SF_REPAINT_DONE SF_FB_POST_BEFORE SF_FB_POST_AFTER SF_FB_DEQUEUE_BEFORE SF_FB_DEQUEUE_AFTER SF_FB_LOCK_BEFORE SF_FB_LOCK_AFTER all events log the buffer conserned and a timestamp in microseconds. by default the logging is not enabled, to turn it on: adb shell service call SurfaceFlinger 1006 i31 1 adb shell setprop debug.graphic_log 1 The effect is immediate in SurfaceFlinger, but applications need to be restarted. Change-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1
| * revert hwcomposer HAL changes. DO NOT MERGE.Mathias Agopian2010-08-171-19/+3
| | | | | | | | | | | | | | | | This reverts commit: 94364b91a2894bf037b8beb027132fbb812e1434 f8e705dea48f77f1c2532fdbadd4997dd1851af0 b59beb5ca68d0228f60dda60d85e2d0226b33215 e0d5f5bcf5a8b26f4ad75f549cbf380b2c9faf20
* | surfaceflinger: give hwcomposer a chance to release buffersAntti Hatala2010-09-091-0/+3
|/ | | | Change-Id: I605fa779702022865dd58df3b36f37c2644ade36
* call into hwcomposer HAL when presentMathias Agopian2010-08-111-3/+19
| | | | Change-Id: I70f31c69a9436a43860e78977442863ecba6d27b
* move native services under services/Mathias Agopian2010-07-141-0/+336
moved surfaceflinger, audioflinger, cameraservice all native services should now reside in this location. Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8