| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| | |
Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
destroying a client"
* commit '046b72fc5d93aae3b47b88b9f6683512d01d75d0':
fix a possible deadlock when removing a layer and destroying a client
|
| |\ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
Change-Id: I4b3ea25342d4a03a8e38bfee2ef3b1ce54f82582
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This prevents slow/malicious virtual display consumers from
backpressuring SurfaceFlinger and preventing it from updating other
displays.
Bug: 10193714
Change-Id: I3e877d97202628d2d9abea24b66576f38299c14d
|
| | |
| | |
| | |
| | | |
Change-Id: I05c3dd6a22440844f8bd071f4c2b620b2bd8c720
|
| | |
| | |
| | |
| | | |
Change-Id: I0f4d613481eda2c44a2d631a81d75de7e52e7a62
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
this was only needed on some chipset we're not
supporting in KLP.
Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
|
| | |
| | |
| | |
| | | |
Change-Id: I4317b34fd07890ea7cf9db51be42d72ef21aca89
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Bug: 9592202
Change-Id: I61a17758200e61adaca695b426db3df0f6637d4c
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Disable dropping of frames based on timestamp. Resume auto-
generating timestamps in Surface.
Bug 10151804
Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
|\ \ \ \ \
| |/ / / /
|/| / / /
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 9858745
Change-Id: If35d6a7d770bf0a42d55bc55880a9ddb721fcfd0
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
libutils is being moved from frameworks/native/ to system/core/ in order
to facilitate native C++ platform (non-frameworks) code.
Change-Id: I44089fb960591a40b8a9c30faabb10459d107d71
|
| | |
| | |
| | |
| | | |
Change-Id: I5b20aeb4dcff80f1e18e1165b8461d20034dc1ac
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 9610573
Change-Id: I258e7e0d82ab76fbacf0b9c25d4f92fca6df04ac
|
|\ \ \ \
| |_|/ /
|/| | /
| | |/
| |/| |
* commit '9f476fd08079701d1ad0f7c591667b6e673ed38e':
Add a symbol to represent MNC=0
|
| |\ \ |
|
| |/ /
| | |
| | |
| | |
| | | |
Bug: 7170488
Change-Id: Icfd39fd0c739216e89446252ea0e7ceba6f002c6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
Bug: 9891035
Change-Id: Id1ab5f911a6dc4c1d8235e65775b3d3635231ad4
|
| | |
| | |
| | |
| | | |
Change-Id: I04df8ec96510b16e84054089f7c02609d8fe2b0c
|
| | |
| | |
| | |
| | | |
Change-Id: I39409103144c1ba09078c4ddc323a58987fb09ea
|
| | |
| | |
| | |
| | |
| | |
| | | |
apparently boolean logic in hard...
Change-Id: Ie70401fe12e0fa00b0b8c7cc475c1438cdbbf531
|
| | |
| | |
| | |
| | | |
Change-Id: I025a362cc12d5b9b794fac14be500e25aab65396
|
| | |
| | |
| | |
| | | |
Change-Id: I4e409a69c01b95b48f20112084dd927e2d043407
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the service manager is not ready when we attempt to create a local
proxy, fail and retry.
Change-Id: I7d7300bc07cd70608793479aa3da282d066da7f6
|
|\ \ \ \ |
|
| | |_|/
| |/| |
| | | |
| | | | |
Change-Id: Ib414a45e7e191f23a2726cbbbeb606e9ce68a3b5
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I4ec590b060d732af5fe525670becbe778684247b
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|