OSDN Git Service

android-x86/frameworks-native.git
6 years agoSurfaceFlinger: Update parent pointer while performing transaction.
Robert Carr [Thu, 1 Jun 2017 21:59:25 +0000 (14:59 -0700)]
SurfaceFlinger: Update parent pointer while performing transaction.

To understand the change at a high level, notice that all the usage
of getParent() is assosciated with the drawing state. We see in this way
that the parent is a part of the drawing state and should only be updated
when transactions occurs.

More specifically we can consider the following scenario:

1. Imagine that we have a visible surface, with a visible child surface
2. Now imagine we create a new surface, which is hidden, and post a buffer to it.
   It is configured such that it would be visible if it were not hidden.
3. We open a transaction
4. We reparent the child from the old surface to the new one
5. We show the new surface
6. We close the transaction

At this point we would expect the child to remain visible, as it is atomically
reparented with the visibility change of the parent. However prior to this CL
we see a flash, as the sequence can continue as follows:

7. Closing the transaction triggers setClientState, causing Layer::reparentChildren
   which would call setParent updating the parent pointer.
8. setClientState updates the current but not drawing visibility of the new parent and marks
   a transaction to occur.
9. We return to the main thread, MESSAGE_REFRESH occurs before MESSAGE_TRANSACTION
   and we render a frame
10. We observe the child window as invisible, as it has the new parent
    but it's new parent is not yet visible.

We simply have to ensure the parent pointer is updated at transaction time.
I chose a location in commitChildList where mDrawingChildren was copied
from mCurrentChildren as it seemed to express the intent well.

Test: Difficult to automatically test. Manually try resizing Chrome/Youtube/etc in docked stack before flicker should be ~1/10 after flicker should be <1/100 (I haven't seen one yet)
Bug: 62099658
Change-Id: I3721d16361b53128146510d3fda43e1c12f93223

6 years agoInstalld: deleteOdex's outputPath can be null
Andreas Gampe [Wed, 31 May 2017 23:39:58 +0000 (16:39 -0700)]
Installd: deleteOdex's outputPath can be null

Add @nullable, as the outputPath can be null for system apps.

Bug: 62236497
Test: m
Test: Fill up /data, apply OTA
Change-Id: I61d86721b485f85195b153d76ce25412dcb68be6

6 years agoDelete vdex file in delete_odex.
Nicolas Geoffray [Thu, 25 May 2017 12:58:06 +0000 (13:58 +0100)]
Delete vdex file in delete_odex.

(cherry picked from commit 192fb9662ce8b2a60da2b280d8000283fb3b6f6b)

bug: 38513395
Test: unfortunately no unit test here, so after discussing
      with agampe@ just relied on build.

Change-Id: I305ddaadc813673fb55473f5e8ca357f39cf98f3

6 years agolibgui: Add Surface::getLastDequeueStartTime
Dan Stoza [Wed, 31 May 2017 20:50:16 +0000 (13:50 -0700)]
libgui: Add Surface::getLastDequeueStartTime

Adds the getLastDequeueStartTime method, which allows the caller to
determine whether the last dequeueBuffer call fell into a given time
window.

Bug: 62213889
Test: SurfaceTest.TestGetLastDequeueStartTime in libgui_test
Change-Id: I1684deb09273745a3adc751554624d2257fa890e

6 years agoMerge "Consistent "low storage" behavior." into oc-dev
Jeff Sharkey [Wed, 31 May 2017 14:18:24 +0000 (14:18 +0000)]
Merge "Consistent "low storage" behavior." into oc-dev

6 years agoMerge "EGL: Do not look up default namespace when sphal is defined" into oc-dev
TreeHugger Robot [Wed, 31 May 2017 07:01:38 +0000 (07:01 +0000)]
Merge "EGL: Do not look up default namespace when sphal is defined" into oc-dev

6 years agoMerge "Mark libui as vendor_available" into oc-dev
Jayant Chowdhary [Wed, 31 May 2017 03:59:44 +0000 (03:59 +0000)]
Merge "Mark libui as vendor_available" into oc-dev

6 years agoMerge "add missing lib dependency to libvndksupport" into oc-dev
TreeHugger Robot [Wed, 31 May 2017 00:26:11 +0000 (00:26 +0000)]
Merge "add missing lib dependency to libvndksupport" into oc-dev

6 years agoConsistent "low storage" behavior.
Jeff Sharkey [Tue, 30 May 2017 20:38:42 +0000 (14:38 -0600)]
Consistent "low storage" behavior.

When freeing cached data, the caller can now provide a "reserved"
size which we won't clear cached data from.

Bug: 38008706
Test: cts-tradefed run commandAndExit cts-dev -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.StorageConstraintTest
Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Change-Id: Ieb91b3e5345a950d4785fd7915f520f0a68a567a

6 years agoadd missing lib dependency to libvndksupport
Jiyong Park [Sat, 27 May 2017 06:29:41 +0000 (15:29 +0900)]
add missing lib dependency to libvndksupport

libutils is now depending on libvndksupport. So any client that
statically links to libutils needs to link against libvndksuppor as
well.

Bug: 62084107
Test: start an app, run 'adb shell atrace gfx --stream'. atrace from the
graphics driver are visible.

Change-Id: I98917dc92a1b8bde52e69e1923a1c1530a088bd6

6 years agoMerge "Playback activity monitoring: add player types" into oc-dev
TreeHugger Robot [Fri, 26 May 2017 20:05:48 +0000 (20:05 +0000)]
Merge "Playback activity monitoring: add player types" into oc-dev

6 years agoEGL: Do not look up default namespace when sphal is defined
Justin Yun [Mon, 22 May 2017 06:13:40 +0000 (15:13 +0900)]
EGL: Do not look up default namespace when sphal is defined

If sphal name space exists, try to load drivers from sphal.
This patch stops loading the driver if it fails to find the driver
from sphal, instead of falling back to the default namespace.

Bug: 38435840
Test: sailfish builds and boots
Change-Id: Ib8ba73f57aa25431c4a2efe7c61a3699237cc3d2
Merged-In: Ib8ba73f57aa25431c4a2efe7c61a3699237cc3d2
(cherry picked from commit b732030e847e74f00ecd37ff15a36b103efd97b9)

6 years agoPlayback activity monitoring: add player types
Jean-Michel Trivi [Thu, 25 May 2017 22:17:39 +0000 (15:17 -0700)]
Playback activity monitoring: add player types

Add player types for playback activity monitoring:
 - AAudio
 - hardware sources
 - proxy for external players

Test: n/a
Bug: 62027849
Change-Id: I17f4879dd79cc89eb7db373754a79e2e38c97457

6 years agoMerge "Newly create idmap only when it is stale" into oc-dev
TreeHugger Robot [Thu, 25 May 2017 21:50:52 +0000 (21:50 +0000)]
Merge "Newly create idmap only when it is stale" into oc-dev

6 years agolibgui: fix BQ buffer allocation error checking
Chia-I Wu [Thu, 25 May 2017 16:34:56 +0000 (09:34 -0700)]
libgui: fix BQ buffer allocation error checking

The error path was broken since we moved away from
IGraphicBufferAlloc.

Bug: 37956614
Test: simulate buffer allocation failures
Change-Id: I1e1ec840fafd3075b84126c6dbf6194568175a42

6 years agoMerge "Delete SurfaceFlinger BYPASS codepath" into oc-dev
TreeHugger Robot [Wed, 24 May 2017 22:13:36 +0000 (22:13 +0000)]
Merge "Delete SurfaceFlinger BYPASS codepath" into oc-dev

6 years agoMerge "libgui: Add test for OOB slot number in dequeue" into oc-dev
TreeHugger Robot [Wed, 24 May 2017 18:24:03 +0000 (18:24 +0000)]
Merge "libgui: Add test for OOB slot number in dequeue" into oc-dev

6 years agoDelete SurfaceFlinger BYPASS codepath
Fabien Sanglard [Thu, 4 May 2017 18:25:46 +0000 (11:25 -0700)]
Delete SurfaceFlinger BYPASS codepath

Test: AUPT, Manual
Change-Id: I8d6139fbb8a3ec113d7cb973420a5874d3e31030
Merged-Id: I8d6139fbb8a3ec113d7cb973420a5874d3e31030

6 years agoNewly create idmap only when it is stale
Jaekyun Seok [Wed, 17 May 2017 15:13:44 +0000 (00:13 +0900)]
Newly create idmap only when it is stale

For now, OverlayManagerService calls Installd.idmap() whenever a user
is changed, and then a idmap is re-generated even though there are no
changes on its target apk and overlay apk.
This CL is to avoid such unnecessary re-generation of idmap. Instead
only a group id will be updated when the idmap isn't outdated.

To correctly check staleness of idmap, "--verify" function of idmap is
invented as well.

Test: building succeeded and tested on sailfish.
Bug: 37179531
Change-Id: I874be9765d37bfa6c562c3f39a395040dc6a7d1f

6 years agoMerge "Do not set the trace clock in atrace.rc." into oc-dev
TreeHugger Robot [Tue, 23 May 2017 21:50:28 +0000 (21:50 +0000)]
Merge "Do not set the trace clock in atrace.rc." into oc-dev

6 years agoMerge "Surface: Use buffer id to synchronize slots" into oc-dev
TreeHugger Robot [Tue, 23 May 2017 19:52:17 +0000 (19:52 +0000)]
Merge "Surface: Use buffer id to synchronize slots" into oc-dev

6 years agoDo not set the trace clock in atrace.rc.
Carmen Jackson [Tue, 23 May 2017 18:54:01 +0000 (11:54 -0700)]
Do not set the trace clock in atrace.rc.

This reverts only the atrace.rc change from commit ea826794184be368f65f099ceac4fc31234700f6.
"Set the atrace clock to the best available value: boot, mono, or global."

This change caused a 100+ms regression in boot time. We also confirm that
the clock is set to the correct value when we call atrace, so we will
still see correct behavior after reverting this change.

Bug: 38504158
Test: Manually tested that the trace clock is updated when atrace is
called.
Change-Id: Ifa302694964a4f9fc54db16e7125d5279067bbfd

6 years agoSurface: Use buffer id to synchronize slots
Shuzhen Wang [Tue, 23 May 2017 16:41:54 +0000 (09:41 -0700)]
Surface: Use buffer id to synchronize slots

For the same buffer, GraphicBuffer's buffer_handle_t* may change when
doing attach/detach. Use Id instead.

Test: Call attach/detach, and observe mRemovedBuffers is updated
Bug: 38238747
Change-Id: I6ab1ae5340565f98cb981b7e38c31a4f85190e56

7 years agoMerge "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes." into oc-dev
TreeHugger Robot [Tue, 23 May 2017 04:09:52 +0000 (04:09 +0000)]
Merge "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes." into oc-dev

7 years agoOtapreopt: Add some static_asserts
Andreas Gampe [Mon, 22 May 2017 20:36:06 +0000 (13:36 -0700)]
Otapreopt: Add some static_asserts

Add some checks that indicate version issues.

Bug: 38501464
Test: m
Change-Id: Iec2043eda19126166139d7220618d11032e98af0

7 years agoMerge "vulkan: Translate usage flags before passing to driver" into oc-dev
Chris Forbes [Sat, 20 May 2017 00:54:29 +0000 (00:54 +0000)]
Merge "vulkan: Translate usage flags before passing to driver" into oc-dev

7 years agoMerge "Set the atrace clock to the best available value: boot, mono, or global."...
TreeHugger Robot [Fri, 19 May 2017 22:04:11 +0000 (22:04 +0000)]
Merge "Set the atrace clock to the best available value: boot, mono, or global." into oc-dev

7 years agovulkan: Translate usage flags before passing to driver
Chris Forbes [Fri, 19 May 2017 21:47:29 +0000 (14:47 -0700)]
vulkan: Translate usage flags before passing to driver

Previously we just cast the 32bit flags and jammed them in the two
gralloc1 slots. Use the helper which does the correct translation.

(Yes, all these gralloc1isms are going away in favor of a single 64bit
flags field, but Vulkan HALs expect us to implement our side of
ANDROID_native_buffer correctly.)

Test: boot sailfish, run vulkan demo
Bug: 37686587
Change-Id: I806011986e8140d7f608d281798605bd9ca9a86b

7 years agoMerge "DO NOT MERGE Revert "Logging for catching memory issue in Parcel"" into oc-dev
Michael Wachenschwanz [Fri, 19 May 2017 18:27:10 +0000 (18:27 +0000)]
Merge "DO NOT MERGE Revert "Logging for catching memory issue in Parcel"" into oc-dev

7 years agoMerge changes from topic 'move-hwc2on1' into oc-dev
Logan Chien [Fri, 19 May 2017 02:14:23 +0000 (02:14 +0000)]
Merge changes from topic 'move-hwc2on1' into oc-dev

* changes:
  libhwc2on1adapter: Move to vendor partition
  Remove stale dependency to libhwc2on1adaptor.so.

7 years agoMerge "Delete secondary dex profiles during reconciliation" into oc-dev
Calin Juravle [Fri, 19 May 2017 00:50:19 +0000 (00:50 +0000)]
Merge "Delete secondary dex profiles during reconciliation" into oc-dev

7 years agoMerge "Fix race condition in displayservice." into oc-dev
TreeHugger Robot [Thu, 18 May 2017 23:59:15 +0000 (23:59 +0000)]
Merge "Fix race condition in displayservice." into oc-dev

7 years agoSet the atrace clock to the best available value: boot, mono, or global.
Carmen Jackson [Fri, 5 May 2017 18:42:32 +0000 (11:42 -0700)]
Set the atrace clock to the best available value: boot, mono, or global.

This reverts commit dc34097448a76a4bb09636f25567113d7a6551dc.
"Revert "Set the atrace clock to boot when possible and mono otherwise.""

...and includes a fix for devices that break with that change. Write will
fail with an Invalid Argument exception if we programmatically write a
value to the trace_file that doesn't exist in the file. So, we'll check
for both potential values we might set. If neither of them exist, fall
back to setting to 'global', which should be safe since we were doing it
before without checking.

Bug: 32379831
Test: cts-tradefed run singleCommand cts-dev --module
CtsAtraceHostTestCases passed.
Test: Manually examining trace_clock before and after running atrace shows that the
trace_clock changes as expected (for this test I disabled atrace.rc and added an
additional debug print statement):
$ cat /d/tracing/trace_clock
[local] global counter uptime perf mono boot
$ atrace --async_start freq
capturing trace...marlin:/ $ cat /d/tracing/trace_clock
local global counter uptime perf mono [boot]
$ atrace --async_stop > /dev/null
$ cat /d/tracing/trace_clock
local global counter uptime perf mono [boot]
$ atrace --async_start freq
clock is already correct!
$ atrace --async_stop > /dev/null

Change-Id: I267056d19bcdbea58881ab2b32f093caac5f14c1

7 years agoDelete secondary dex profiles during reconciliation
Calin Juravle [Thu, 18 May 2017 22:33:05 +0000 (15:33 -0700)]
Delete secondary dex profiles during reconciliation

Test: manual inspections after adb shell dumpsys package dexopt
Bug: 38430319
Change-Id: I8401288b753a0c38ee3020d12e8e02c4a25723d2

7 years agoSurfaceFlinger: setGeometryAppliesWithResize crop latching fixes.
Robert Carr [Thu, 18 May 2017 21:02:49 +0000 (14:02 -0700)]
SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes.

The same sort of thing we had with setPosition...not sure why I didn't
realize we would need the fixes here too! In particular we need to ensure
the following scenarios work:

1. Additional calls to set(Final)Crop while in the setGeometryAppliesWithResize
   state are eventually applied.
2. Additional calls to set(Final)Crop while in the setGeometryAppliesWithResize
   state are not immediately applied.
3. In LayerRejector.cpp we have to be sure we are not just latching a buffer
   at the old size, which we still allow. This is the correct time to latch
   the transparentRegion as it is content dependent, but doesn't represent
   a size changing.

The difference between this and the original CL which was reverted has to do with
point 3. The original CL tried to solve point 3 by moving the latching logic from
the LayerRejecter in to Layer::doTransaction. However, in general doTransaction
will not be called in between Latching the buffer and drawing the frame, so this
introduced errors. The new test "FinalCropLatchingBufferOldSize" encapsulates this.

Bug: 37621737
Bug: 37531386
Test: Included in Transaction_test.cpp
Change-Id: I14bd09d01ac6b85895caa1b707d6fa7dac962074

7 years agoDO NOT MERGE Revert "Logging for catching memory issue in Parcel"
Michael Wachenschwanz [Thu, 18 May 2017 22:08:32 +0000 (22:08 +0000)]
DO NOT MERGE Revert "Logging for catching memory issue in Parcel"

This reverts commit c65de59762cfc284bd203d97281f5a8f86aba877.

Bug: 37298089
Change-Id: Ib42d27f91bf1408d633a98e6ac7f316175f1e289

7 years agosurfaceflinger: clear HWC layers in Layer::onRemoved v2
Chia-I Wu [Wed, 17 May 2017 21:36:16 +0000 (14:36 -0700)]
surfaceflinger: clear HWC layers in Layer::onRemoved v2

Explicitly destroy HWC layers in Layer::onRemoved rather than doing
that implicitly in the destructor.  The layer may be destructed by
any thread that holds a sp<Layer>, but only the main thread should
talk to the composer.

v2 fixes build breakage for non-HWC2 targets.

Bug: 38151478
Bug: 37978067
Test: manual
Change-Id: I8858fc46de1fc6facded219740b931c6486e317e

7 years agoMerge "Revert "surfaceflinger: clear HWC layers in Layer::onRemoved"" into oc-dev
Przemyslaw Szczepaniak [Thu, 18 May 2017 09:27:07 +0000 (09:27 +0000)]
Merge "Revert "surfaceflinger: clear HWC layers in Layer::onRemoved"" into oc-dev

7 years agoRevert "surfaceflinger: clear HWC layers in Layer::onRemoved"
Przemyslaw Szczepaniak [Thu, 18 May 2017 09:17:02 +0000 (09:17 +0000)]
Revert "surfaceflinger: clear HWC layers in Layer::onRemoved"

Causing failures due to lack of clearHwcLayers in git_master and few
other branches/builds. Looks like clearHwcLayers needs USE_HWC2
to be defined, seems to be not defined in few branches/builds?

This reverts commit 06837418fe9fb0c6deeab7d62ac5bf65c7bb2b98.

Change-Id: Ic0e3a99b45543503d5fa8a90f3569764ebe922e3

7 years agolibhwc2on1adapter: Move to vendor partition
Logan Chien [Tue, 16 May 2017 05:15:49 +0000 (13:15 +0800)]
libhwc2on1adapter: Move to vendor partition

libhwc2on1adapter is a shim layer for legacy hwcomposer HALs.  This is
only used by android.hardware.graphics.composer@2.1-impl.so.  This must
not be accessed by framework modules.  Thus, this commit moves
libhwc2on1adapter to the vendor partition and removes vendor_available.

Bug: 38302528
Test: Sailfish builds and boots.
Change-Id: I425d090fb213abc767916db3f80cff8eb4ffb876
Merged-In: I43d66c8c62f3dc90e75805f6a459573c093f9f14

7 years agoRemove stale dependency to libhwc2on1adaptor.so.
Logan Chien [Tue, 16 May 2017 02:18:17 +0000 (10:18 +0800)]
Remove stale dependency to libhwc2on1adaptor.so.

This commit removes stale dependency to libhwc2on1adaptor.  Since commit
831d48ed, mAdapter has become an unused private member.  In addition,
this unused unique_ptr leads to an unnecessary symbol reference to the
destructor of HWC2on1Adaptor.  This commit removes them completely.

Bug: 38302528
Test: Sailfish builds and boots.
Change-Id: I0208d7fb21ff2f5d59d367162bc5f982f1515982
Merged-In: I479f12ddbae91282a13464159f00513aa7cb3208

7 years agoMerge "surfaceflinger: clear HWC layers in Layer::onRemoved" into oc-dev
TreeHugger Robot [Thu, 18 May 2017 04:36:30 +0000 (04:36 +0000)]
Merge "surfaceflinger: clear HWC layers in Layer::onRemoved" into oc-dev

7 years agoMerge "libui: flush hwbinder commands in Allocator::allocate" into oc-dev
TreeHugger Robot [Thu, 18 May 2017 02:29:27 +0000 (02:29 +0000)]
Merge "libui: flush hwbinder commands in Allocator::allocate" into oc-dev

7 years agoFix race condition in displayservice.
Steven Moreland [Thu, 18 May 2017 01:15:15 +0000 (18:15 -0700)]
Fix race condition in displayservice.

Also addressed a couple of format nits and added copyright headers.

Note, this race condition wouldn't have occured as is because the
service is only being served on one thread.

Test: no race condition still
Bug: 38311538
Change-Id: I7516c800eb89280a16468934677fa978daa5dcec

7 years agoMerge "surfaceflinger: fix a release fence leak" into oc-dev
TreeHugger Robot [Thu, 18 May 2017 00:29:43 +0000 (00:29 +0000)]
Merge "surfaceflinger: fix a release fence leak" into oc-dev

7 years agoMerge "libvulkan: Enable GSC2 and SPI extensions" into oc-dev
Chris Forbes [Wed, 17 May 2017 21:42:59 +0000 (21:42 +0000)]
Merge "libvulkan: Enable GSC2 and SPI extensions" into oc-dev

7 years agosurfaceflinger: clear HWC layers in Layer::onRemoved
Chia-I Wu [Wed, 17 May 2017 21:36:16 +0000 (14:36 -0700)]
surfaceflinger: clear HWC layers in Layer::onRemoved

Explicitly destroy HWC layers in Layer::onRemoved rather than doing
that implicitly in the destructor.  The layer may be destructed by
any thread that holds a sp<Layer>, but only the main thread should
talk to the composer.

Bug: 38151478
Bug: 37978067
Test: manual
Change-Id: If6fcfaa5a70d247b751f2b4d9aec9eca890e3aa5

7 years agoMerge "Surface: add unit test for GetAndFlushRemovedBuffers" into oc-dev
TreeHugger Robot [Wed, 17 May 2017 21:32:27 +0000 (21:32 +0000)]
Merge "Surface: add unit test for GetAndFlushRemovedBuffers" into oc-dev

7 years agosurfaceflinger: fix a release fence leak
Chia-I Wu [Wed, 17 May 2017 20:43:16 +0000 (13:43 -0700)]
surfaceflinger: fix a release fence leak

We leak release fence fds when we believe hwcomposer2 gives us any
invalid layer and return early.

Bug: 38151478
Test: boots
Change-Id: I299721eca8bc7927052170fe87ee51e9b91006aa

7 years agolibgui: Add test for OOB slot number in dequeue
Dan Stoza [Tue, 16 May 2017 22:12:48 +0000 (15:12 -0700)]
libgui: Add test for OOB slot number in dequeue

Adds a unit test that verifies that a malicious BnGraphicBufferProducer
cannot pass an invalid slot number to a Surface and thus cause the
Surface to segfault (or otherwise access out-of-bounds memory).

Bug: 36991414
Test: The new Malicious* tests pass after applying the security patch
Change-Id: I2083465a496cfcc8e8c3b3bc288f5f6904005ac3

7 years agoMerge "Add displayservice." into oc-dev
TreeHugger Robot [Wed, 17 May 2017 20:19:59 +0000 (20:19 +0000)]
Merge "Add displayservice." into oc-dev

7 years agoAdd displayservice.
Steven Moreland [Wed, 17 May 2017 00:42:50 +0000 (17:42 -0700)]
Add displayservice.

This hidl service provides information about vsync and hotplug
to vendor services which is required by at least some camera
hal implementations.

Test: VtsFwkDisplayServiceV1_0TargetTest
Bug: 38311538
Change-Id: Ifc344c11ca4b3c8cebc6f0145f506d1aa774506d

7 years agoMerge "Fix error BufferQueue attaching flow." into oc-dev
TreeHugger Robot [Wed, 17 May 2017 05:29:50 +0000 (05:29 +0000)]
Merge "Fix error BufferQueue attaching flow." into oc-dev

7 years agoMerge "Revert "Newly create idmap only when it is outdated"" into oc-dev
Adam Lesinski [Wed, 17 May 2017 00:12:48 +0000 (00:12 +0000)]
Merge "Revert "Newly create idmap only when it is outdated"" into oc-dev

7 years agoRevert "Newly create idmap only when it is outdated"
Adam Lesinski [Tue, 16 May 2017 22:06:42 +0000 (22:06 +0000)]
Revert "Newly create idmap only when it is outdated"

This reverts commit 1d091465334784adeded4ef182cc6f732eb6f99e.

Reason for revert: Causes b/37992057

Change-Id: I7811483016b28a88d6a50bd445dd5d5e8d2e48d6

7 years agoFix error BufferQueue attaching flow.
Jammy Yu [Thu, 23 Feb 2017 00:41:38 +0000 (16:41 -0800)]
Fix error BufferQueue attaching flow.

Fix error BufferQueue attaching flow. Because BufferQueue attaching
buffer flow doesn't set mNeedsReallocation to false, it will case
Surface client to request buffer for attached buffer to cause unsync
buffer states with ACodec. So, for attaching buffer by Producer, we
need to set mNeedsReallocation to false in BufferQueue. And Surface
client will not request buffer again for attached buffer to cause
some missing frames.

Bug: 38238747
Issue: 34897483
Test: GTS
Change-Id: I25f9fff4b5d1f7052ab3be612cf34879fd17c27c

7 years agolibui: flush hwbinder commands in Allocator::allocate
Chia-I Wu [Tue, 16 May 2017 21:30:34 +0000 (14:30 -0700)]
libui: flush hwbinder commands in Allocator::allocate

Bug: 36279079
Test: monkey test on fugu
Change-Id: I81f72d63d3ede64f279b26208bb5df7646050e73

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:18:41 +0000 (21:18 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86 am: 83f226ba1b am: 2d4959d8eb
am: 6a7200333a

Change-Id: Iee50110f6189c015e2aca1c77a460d964d8d5439

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:18:21 +0000 (21:18 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b am: b829d2abe9 am: 79a34dd24b
am: a1b1e635cc

Change-Id: I574d7193656580b26b2a2923673f39541f010878

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:15:44 +0000 (21:15 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86 am: 83f226ba1b
am: 2d4959d8eb

Change-Id: Ic8400bff6a8c8e48719abe1aadcb0661d36bba87

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:15:20 +0000 (21:15 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b am: b829d2abe9
am: 79a34dd24b

Change-Id: I3909027db625685911575c9c98b5446b86af09c0

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:12:11 +0000 (21:12 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762 am: 8b99decc86
am: 83f226ba1b

Change-Id: Ic0586397a434045a9594b78ff955f6426b977641

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:11:49 +0000 (21:11 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2 am: d65a388e1b
am: b829d2abe9

Change-Id: I3e1b7c882bcfcc93e93e296887930771878b25a1

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:08:54 +0000 (21:08 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f am: 72c1a6f762
am: 8b99decc86

Change-Id: I025b51ff0858ddfd88fdbca04724deab8afdabd8

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:08:18 +0000 (21:08 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41 am: f69675e5c2
am: d65a388e1b

Change-Id: I73489256702d123302a204c2720f9752515020ba

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:05:58 +0000 (21:05 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580 am: 788ff8c16f
am: 72c1a6f762

Change-Id: Idf9fc3f7e2d09483b7e938c0c4389813dd5f2f60

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:05:24 +0000 (21:05 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742 am: 787aa48f41
am: f69675e5c2

Change-Id: Icb1a0aae634951cd903fb2deef632005e01d4d7f

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 21:02:42 +0000 (21:02 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a am: 0544fa4580
am: 788ff8c16f

Change-Id: I5623d15da983b9277ab968d63b537ce396ad007c

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 21:02:17 +0000 (21:02 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5 am: 9a44ee0742
am: 787aa48f41

Change-Id: I96e45ad313a7ea1233972ac80a1c8c85f6e64618

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 20:59:04 +0000 (20:59 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22 am: 1f8b90126a
am: 0544fa4580

Change-Id: Id6d055a523eed1f96e1373d4f3fede43551a8abe

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 20:58:46 +0000 (20:58 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0 am: cce83f15e5
am: 9a44ee0742

Change-Id: I79f6a2eb14d624b153244788267a16c752927e33

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 20:56:04 +0000 (20:56 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53 am: 6a9b41dc22
am: 1f8b90126a

Change-Id: Iaf0fd93af8567520229a0a73fda8bd5fcc8091f1

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 20:55:47 +0000 (20:55 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f am: 2fe15aa6f0
am: cce83f15e5

Change-Id: I82264d2033d6b098199321fd29c0d26017ec5359

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 20:53:35 +0000 (20:53 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7 am: 91a7e47a53
am: 6a9b41dc22

Change-Id: I03af2ccc0f7f671baa4ec9f7b9a3b55f8b377435

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 20:53:16 +0000 (20:53 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580 am: 78976cea8f
am: 2fe15aa6f0

Change-Id: I36fcc82af237645b61c69d70c574843a5b2753c8

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8...
Chia-I Wu [Tue, 16 May 2017 20:50:05 +0000 (20:50 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8 am: 396cc342a7
am: 91a7e47a53

Change-Id: I198ba45e3005214e9cd41379d6f833297be93caf

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010...
Dan Stoza [Tue, 16 May 2017 20:49:46 +0000 (20:49 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010 am: 970bb51580
am: 78976cea8f

Change-Id: I30e6a29474b6cf86f97961f527301837b35c8a36

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8
Chia-I Wu [Tue, 16 May 2017 20:46:53 +0000 (20:46 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev am: af33c978c8
am: 396cc342a7

Change-Id: Ic9f8bce011edd718580971059ae96b0d65c9fdda

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010
Dan Stoza [Tue, 16 May 2017 20:45:35 +0000 (20:45 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev am: 98e3c06010
am: 970bb51580

Change-Id: I767956fd15f8be9aa30feb38ad11ec84e98a50bd

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev
Chia-I Wu [Tue, 16 May 2017 20:41:35 +0000 (20:41 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev
am: af33c978c8

Change-Id: I97f957bc5375d11cd034d4b06baa8636e7999f8c

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev
Dan Stoza [Tue, 16 May 2017 20:41:16 +0000 (20:41 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev
am: 98e3c06010

Change-Id: I28774e185329082424a26cfccca4c95c7863e88f

7 years agoMerge "libgui: check for invalid slot in attachBuffer" into lmp-dev
Chia-I Wu [Tue, 16 May 2017 20:33:31 +0000 (20:33 +0000)]
Merge "libgui: check for invalid slot in attachBuffer" into lmp-dev

7 years agoMerge "libgui: Check slot received from IGBP in Surface" into lmp-dev
TreeHugger Robot [Tue, 16 May 2017 20:30:06 +0000 (20:30 +0000)]
Merge "libgui: Check slot received from IGBP in Surface" into lmp-dev

7 years agoMerge "Revert "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes....
Rob Carr [Tue, 16 May 2017 19:53:03 +0000 (19:53 +0000)]
Merge "Revert "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes."" into oc-dev

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:52:12 +0000 (19:52 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c am: 1ceadac71b am: 912ff8af49
am: 161a9bcda1

Change-Id: I40d6bd0cd8d3e4630d21218d826ca86127299519

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:49:43 +0000 (19:49 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c am: 1ceadac71b
am: 912ff8af49

Change-Id: I67ea29c18cbc22d806c97aab19588802a4001768

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:46:11 +0000 (19:46 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07 am: a078c0780c
am: 1ceadac71b

Change-Id: I89b2e528d27938fa6bae79b3e6baa8e89d7207dd

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:42:42 +0000 (19:42 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344 am: ce069c5a07
am: a078c0780c

Change-Id: I060bbdef30d8710b8e5d779a0f75b61040530353

7 years agoRevert "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes."
Rob Carr [Tue, 16 May 2017 19:40:52 +0000 (19:40 +0000)]
Revert "SurfaceFlinger: setGeometryAppliesWithResize crop latching fixes."

This reverts commit 1e079c2804edfae77925150280fe79418e58750b.

Bug: 38331032
Change-Id: Ib703b7b80a940550487a80d8ad62947e4becae93

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:39:41 +0000 (19:39 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88 am: 600e610344
am: ce069c5a07

Change-Id: Ic185b2a7c35ea0260d5380d606f6b7b82c78b717

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:36:43 +0000 (19:36 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a am: e3bc28ad88
am: 600e610344

Change-Id: I19dec89ef157c3a61300622c4425d5f6801f139e

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:33:42 +0000 (19:33 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6 am: 593a1a217a
am: e3bc28ad88

Change-Id: I4ad5bf17fdca2bd0adee7a06150d595ef9b6a0fa

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:30:42 +0000 (19:30 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe am: d4cbd296d6
am: 593a1a217a

Change-Id: I6c50751f24fdc5756bd5d1357df184d2a08f3c08

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:27:40 +0000 (19:27 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e am: 209ad9b6fe
am: d4cbd296d6

Change-Id: I3ddc8b4600015cd53d1a41b687518cdbbc7696b6

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:24:11 +0000 (19:24 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d am: 81bab8081e
am: 209ad9b6fe

Change-Id: I31fe784570c5978faf7484b3f71a074523c0d33c

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:21:39 +0000 (19:21 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c am: 05df3a6f4d
am: 81bab8081e

Change-Id: I78509c86bada44d1d9f9c40e4d64a5120e4c7ab6

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:18:41 +0000 (19:18 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340 am: 5c5ee81b0c
am: 05df3a6f4d

Change-Id: I50c771aee7375315ba6c6aa4029baacfe9c199d8

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am...
Chris Forbes [Tue, 16 May 2017 19:15:38 +0000 (19:15 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0 am: 71d3ef1340
am: 5c5ee81b0c

Change-Id: Ie7ec2067057ea2dbd4b9af0c93a00ba53879b72f

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0
Chris Forbes [Tue, 16 May 2017 19:12:38 +0000 (19:12 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev am: 25556811f0
am: 71d3ef1340

Change-Id: I75797414173ebfb38eefe02ac0a635f10c59d883

7 years agoMerge "ui: Fix bad size check in Fence::unflatten" into klp-dev
Chris Forbes [Tue, 16 May 2017 19:10:08 +0000 (19:10 +0000)]
Merge "ui: Fix bad size check in Fence::unflatten" into klp-dev
am: 25556811f0

Change-Id: I5a267f8dccb75625fafd96e67bc0fbb9a2492ce7