summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "don't hardcode debug texture dimensions"Mathias Agopian2013-08-071-4/+7
|\
| * don't hardcode debug texture dimensionsMathias Agopian2013-08-071-4/+7
| | | | | | | | Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
* | am 046b72fc: Merge "fix a possible deadlock when removing a layer and ↵Jean-Baptiste Queru2013-08-070-0/+0
|\ \ | | | | | | | | | | | | | | | | | | destroying a client" * commit '046b72fc5d93aae3b47b88b9f6683512d01d75d0': fix a possible deadlock when removing a layer and destroying a client
| * \ Merge "fix a possible deadlock when removing a layer and destroying a client"Jean-Baptiste Queru2013-08-061-0/+6
| |\ \
| | * | fix a possible deadlock when removing a layer and destroying a clientMathias Agopian2013-08-051-0/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generally the last reference to a Layer is released in commitTransaction() with mStateLock held. Layer itself only holds weak references to Client, however, ~Layer() briefly promotes this weak reference -- during that time the all other strong references to that Client go away, ~Layer is left with the last one... then hell breaks loose as ~Client is called, which in turn needs to acquire mStateLock. We fix this by holding a temporary copy of the drawing state during the transaction so that the side-effects of copying the current state into the drawing state are seen only after mStateLock has been released. Bug: 9106453 Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
* | | batteryservice: add battery current now and charge counter dataTodd Poynor2013-08-072-0/+6
| | | | | | | | | | | | Change-Id: I4b3ea25342d4a03a8e38bfee2ef3b1ce54f82582
* | | Merge "Add EGL_KHR_get_all_proc_addresses to extension string"Jesse Hall2013-08-072-18/+26
|\ \ \
| * | | Add EGL_KHR_get_all_proc_addresses to extension stringJesse Hall2013-08-062-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've had the extended behavior since Android 4.3, but the extension hadn't been ratified by Khronos yet so we couldn't add it to the extension string. Bug: 9681677 Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
* | | | Merge "Set the swap interval of virtual display surfaces to 0"Jesse Hall2013-08-072-2/+12
|\ \ \ \ | |_|_|/ |/| | |
| * | | Set the swap interval of virtual display surfaces to 0Jesse Hall2013-08-062-2/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | This prevents slow/malicious virtual display consumers from backpressuring SurfaceFlinger and preventing it from updating other displays. Bug: 10193714 Change-Id: I3e877d97202628d2d9abea24b66576f38299c14d
* | | fix tests moreMathias Agopian2013-08-061-1/+1
| | | | | | | | | | | | Change-Id: I05c3dd6a22440844f8bd071f4c2b620b2bd8c720
* | | fix testsMathias Agopian2013-08-061-1/+1
| | | | | | | | | | | | Change-Id: I0f4d613481eda2c44a2d631a81d75de7e52e7a62
* | | remove support for glReadPixels screenshot pathMathias Agopian2013-08-065-68/+26
| | | | | | | | | | | | | | | | | | | | | this was only needed on some chipset we're not supporting in KLP. Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
* | | Fix build. 3rd attemptMathias Agopian2013-08-061-1/+1
| | | | | | | | | | | | Change-Id: I4317b34fd07890ea7cf9db51be42d72ef21aca89
* | | All consumers now take an IGraphicBufferConsumer instead of a BufferQueueMathias Agopian2013-08-0630-135/+132
|/ / | | | | | | | | | | | | | | | | | | this means they only have access to the consumer end of the interface. we had a lot of code that assumed consumers where holding a BufferQueue (i.e.: both ends), so most of this change is untangling in fix that Bug: 9265647 Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
* | Merge "BufferQueue: Support query of consumer usage bits"Eino-Ville Talvala2013-08-052-0/+21
|\ \
| * | BufferQueue: Support query of consumer usage bitsEino-Ville Talvala2013-07-302-0/+21
| | | | | | | | | | | | | | | Bug: 9592202 Change-Id: I61a17758200e61adaca695b426db3df0f6637d4c
* | | Merge "Roll back recent change"Andy McFadden2013-08-022-2/+4
|\ \ \
| * | | Roll back recent changeAndy McFadden2013-08-022-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Disable dropping of frames based on timestamp. Resume auto- generating timestamps in Surface. Bug 10151804 Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4
* | | | Merge "Binderize the consumer side of BufferQueue"Mathias Agopian2013-08-0214-119/+882
|\ \ \ \
| * | | | Binderize the consumer side of BufferQueueMathias Agopian2013-08-0114-119/+882
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While currently untested, this should allow to move the BuffereQueue in the consumer process and have everything work as usual. Bug: 9265647 Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
* | | | | Merge "Drop frames based on presentation timestamp"Andy McFadden2013-08-023-36/+69
|\ \ \ \ \ | |/ / / / |/| / / / | |/ / /
| * | | Drop frames based on presentation timestampAndy McFadden2013-08-013-36/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there are two or more buffers pending that are ready for immediate presentation, drop all but the last one. Any code that didn't explicitly specify timestamps for buffers was using the default value (auto-generated "now"). As a result, surfaceflinger would drop frames whenever more than one buffer was queued. We now use zero as the auto-generated timestamp, and we don't set the timestamp in eglBeginFrame(). Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
* | | | log an error when dequeueBuffer gets a NULL FenceMathias Agopian2013-08-014-16/+20
| | | | | | | | | | | | | | | | | | | | Bug: 9858745 Change-Id: If35d6a7d770bf0a42d55bc55880a9ddb721fcfd0
* | | | remove unused code form GraphicBufferMathias Agopian2013-07-312-25/+10
| | | | | | | | | | | | | | | | Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
* | | | remove libutilsAlex Ray2013-07-3188-17758/+0
|/ / / | | | | | | | | | | | | | | | | | | libutils is being moved from frameworks/native/ to system/core/ in order to facilitate native C++ platform (non-frameworks) code. Change-Id: I44089fb960591a40b8a9c30faabb10459d107d71
* | | Fix BlobCache_testBrian Carlstrom2013-07-311-12/+12
| | | | | | | | | | | | Change-Id: I5b20aeb4dcff80f1e18e1165b8461d20034dc1ac
* | | Make Flattenable not virtualMathias Agopian2013-07-3013-156/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fallout from the Flattenable change, update all its uses. Additionnaly, fix/tighten size checks when (un)flatten()ing things. Removed the assumption by some flattenables (e.g.: Fence) that the size passed to them would be exact (it can and will be larger in some cases) The code in Parcel is a bit complicated so that we don't have to expose the full implementation (and also to keep the code smallish). Change-Id: I0bf1c8aca2a3128491b4f45510bc46667e566dde
* | | Make Flattenable not virtual (libutils)Mathias Agopian2013-07-305-82/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making an object Flattenable doesn't force it to become virtual anymore. For instance, Fence and GraphicBuffer are now non-virtual classes. Also change Flatennable protocol a bit so that it updates its parameters (pointers, sizes) to make it easier to implement a flattenable in terms of other flattenables. Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
* | | Merge "EGL: fix eglTerminate blob cache behavior"Jamie Gennis2013-07-301-6/+3
|\ \ \
| * | | EGL: fix eglTerminate blob cache behaviorJamie Gennis2013-07-301-6/+3
| | | | | | | | | | | | | | | | | | | | Bug: 9610573 Change-Id: I258e7e0d82ab76fbacf0b9c25d4f92fca6df04ac
* | | | am 9f476fd0: Merge "Add a symbol to represent MNC=0"Wink Saville2013-07-301-0/+2
|\ \ \ \ | |_|/ / |/| | / | | |/ | |/| * commit '9f476fd08079701d1ad0f7c591667b6e673ed38e': Add a symbol to represent MNC=0
| * | Merge "Add a symbol to represent MNC=0"Wink Saville2013-07-301-0/+2
| |\ \
| | * | Add a symbol to represent MNC=0Johan Redestig2013-07-261-0/+2
| |/ / | | | | | | | | | | | | Bug: 7170488 Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
* | | SurfaceFlinger: Set the result of binderized screencaptureMike J. Chen2013-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent change to screencapture to have the call to IGraphicBufferProducer happen on the incoming binder thread didn't set the result so the result was always returned as NO_ERROR. This made screencap fail on some devices (e.g. Wolfie) which relies on some kind of fallback mechanism to generate the screencap but the fallback mechanism doesn't get triggered because the error isn't returned. Bug: 9989385 Change-Id: I2aee91ea1034869fcbb0f49b9a0087c3cff43bbe Signed-off-by: Mike J. Chen <mjchen@google.com>
* | | single buffer mode for BufferQueueMathias Agopian2013-07-266-14/+140
| | | | | | | | | | | | | | | Bug: 9891035 Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
* | | fix buildMathias Agopian2013-07-261-2/+0
| | | | | | | | | | | | Change-Id: I04df8ec96510b16e84054089f7c02609d8fe2b0c
* | | get rid of HAL pixelformats 5551 and 4444Mathias Agopian2013-07-267-42/+16
| | | | | | | | | | | | Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
* | | make transparent pixels transparents againMathias Agopian2013-07-261-2/+2
| | | | | | | | | | | | | | | | | | apparently boolean logic in hard... Change-Id: Ie70401fe12e0fa00b0b8c7cc475c1438cdbbf531
* | | get rid of PixelFormatInfo and simplify thingsMathias Agopian2013-07-255-183/+47
| | | | | | | | | | | | Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
* | | get rid of PIXEL_FORMAT_A_8Mathias Agopian2013-07-251-1/+0
| | | | | | | | | | | | Change-Id: I4e409a69c01b95b48f20112084dd927e2d043407
* | | Merge "Fix a race in BufferQueue"Mathias Agopian2013-07-251-17/+27
|\ \ \
| * | | Fix a race in BufferQueueMathias Agopian2013-07-231-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BufferQueue::dequeueBuffer() could incorrectly return WOULD_BLOCK while in "cannot block" mode if it happened while a consumer acquired the last allowed buffer before releasing the old one (which is a valid thing to do). Change-Id: I318e5408871ba85e068ea9ef4dc9b578f1bb1043
* | | | add libbatteryserviceTodd Poynor2013-07-257-0/+357
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IBatteryPropertiesListener is used by clients such as BatteryService to receive notifications of changed battery/power status (from healthd). IBatteryPropertiesRegistrar manages registrations of IBatteryPropertiesListener clients. Add BatteryService native header with defines from BatteryManager, and class BatteryProperties to pass battery/power status around. Change-Id: I44e2736e503b586794097b7b9d31d07fefd9b15a
* | | | defaultServiceManager wait for service manager readyTodd Poynor2013-07-242-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If the service manager is not ready when we attempt to create a local proxy, fail and retry. Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
* | | | Merge "surfaceflinger: add frame duration logging"Jamie Gennis2013-07-249-12/+176
|\ \ \ \
| * | | | surfaceflinger: add frame duration loggingJamie Gennis2013-07-239-12/+176
| | |_|/ | |/| | | | | | | | | | Change-Id: Ib414a45e7e191f23a2726cbbbeb606e9ce68a3b5
* | | | Merge "libutils: give BasicHashtableImpl a virtual destructor"Alex Ray2013-07-242-0/+5
|\ \ \ \
| * | | | libutils: give BasicHashtableImpl a virtual destructorAlex Ray2013-07-242-0/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I4ec590b060d732af5fe525670becbe778684247b
* | | | | Merge "add static dependency on liblog"Colin Cross2013-07-242-0/+53
|\ \ \ \ \ | |/ / / / |/| | | |