OSDN Git Service

android-x86/frameworks-native.git
6 years agoMerge "Add useful helper functions for tests" into oc-mr1-dev
TreeHugger Robot [Mon, 14 Aug 2017 06:44:15 +0000 (06:44 +0000)]
Merge "Add useful helper functions for tests" into oc-mr1-dev

6 years agoFix casting bug, add control for hard quotas.
Jeff Sharkey [Fri, 11 Aug 2017 21:13:31 +0000 (15:13 -0600)]
Fix casting bug, add control for hard quotas.

Bug: 6416039563255278
Test: /data/nativetest/installd_service_test/installd_cache_test
Change-Id: I8e2e24afd88da4dc13afdf05927e59c268e69825

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Fri, 11 Aug 2017 02:39:32 +0000 (02:39 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69 am: a31fb53edd am: b63caaf102 skipped: c2116af15c am: dfe44a12ab
am: 34ec404b4b

Change-Id: I0c3beccebe7e7accd9a4f08ea90f52a99da145ee

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Fri, 11 Aug 2017 02:30:36 +0000 (02:30 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69 am: a31fb53edd am: b63caaf102 skipped: c2116af15c
am: dfe44a12ab

Change-Id: I90f59bd979e33e39a9f9cfa8ca8f58d93a00994f

6 years agoAdd useful helper functions for tests
Courtney Goeltzenleuchter [Thu, 27 Jul 2017 14:11:24 +0000 (08:11 -0600)]
Add useful helper functions for tests

Trying to reduce code duplication by putting common
EGL functions used by opengl and surfaceflinger tests
here.
Test: adb shell /data/nativetest/test-opengl-gl2_basic/test-opengl-gl2_basic

Merged-In: Id7a32aedc565f3fbe56fa62ceb79cbb1e8c80727
Change-Id: Id7a32aedc565f3fbe56fa62ceb79cbb1e8c80727
(cherry picked from commit fe98f50b02746f4a1980d0fd31fd8126c5d4e445)

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Android Build Merger (Role) [Fri, 11 Aug 2017 00:24:46 +0000 (00:24 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69 am: a31fb53edd am: b63caaf102 skipped: c2116af15c

Change-Id: Ieec59681e3dc14340da368355ead622a7f0dcc1c

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Android Build Merger (Role) [Fri, 11 Aug 2017 00:24:37 +0000 (00:24 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69 am: a31fb53edd am: b63caaf102

Change-Id: I6a904953ea2d7f3943dd0daaf3f28efed121f15d

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Fri, 11 Aug 2017 00:19:48 +0000 (00:19 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69
am: a31fb53edd

Change-Id: I28d7687ca2590be1e14a0113fdd5734c76310f9d

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:45 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b am: 09c59e7f69

Change-Id: Ieedde100761fe504f080fbc4d538353c3dbd59e8

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:41 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5 am: 67c9dace8b

Change-Id: Iabd279c9b858e4117d3f37a2c9dc6b08d18e9b3f

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:37 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28 skipped: 2564b9fdf5

Change-Id: I9340b61f66403d4a76aef61e8d5c523d46604f34

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:33 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8 am: 3cd049ca28

Change-Id: I75bc0db5679a6ae55c647b31f206755128fa47f7

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am...
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:29 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737 am: dda3bdf8a8

Change-Id: I313f92051e52e6b1b0f3d2f564781c66e6ad4918

6 years ago[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:25 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am: edac95e737

Change-Id: I61e9a4e826ef2cafd73ad3591f3a3560a7002253

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2...
Siarhei Vishniakou [Thu, 10 Aug 2017 20:53:51 +0000 (20:53 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2 am: cd71708eca am: 88855f8de7 am: 41f75ecb79  -s ours am: d0cd82abe9
am: 3a0e3d6a81

Change-Id: I496f7040816a3457effb97bc89e467023d270c44

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2...
Siarhei Vishniakou [Thu, 10 Aug 2017 20:41:09 +0000 (20:41 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2 am: cd71708eca am: 88855f8de7 am: 41f75ecb79  -s ours
am: d0cd82abe9

Change-Id: I4727fefa936cbafaa2a2d138909ae0a468d76c32

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2...
Siarhei Vishniakou [Thu, 10 Aug 2017 20:26:25 +0000 (20:26 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2 am: cd71708eca am: 88855f8de7
am: 41f75ecb79  -s ours

Change-Id: Id698475c3c67bbacecdb92b6d5de50e62ecd135c

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2...
Siarhei Vishniakou [Thu, 10 Aug 2017 19:46:58 +0000 (19:46 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2 am: cd71708eca
am: 88855f8de7

Change-Id: I29b20c983adb81d9a3669f3bae6b1cde4ccd37e0

6 years agoMerge "Add ASharedMemory_dupFromJava NDK API" into oc-mr1-dev
TreeHugger Robot [Thu, 10 Aug 2017 19:41:54 +0000 (19:41 +0000)]
Merge "Add ASharedMemory_dupFromJava NDK API" into oc-mr1-dev

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2
Siarhei Vishniakou [Thu, 10 Aug 2017 19:40:02 +0000 (19:40 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19 am: 3847972ad2
am: cd71708eca

Change-Id: I7f55cd96dbf257b25e5b1c6d69d9ae65d0947598

6 years agoDO NOT MERGE Remove window obscurement information. am: 5508ca2c19
Siarhei Vishniakou [Thu, 10 Aug 2017 19:33:00 +0000 (19:33 +0000)]
DO NOT MERGE Remove window obscurement information. am: 5508ca2c19
am: 3847972ad2

Change-Id: I0761c69032de13e471210a716ccca78e0cb2a36e

6 years agoDO NOT MERGE Remove window obscurement information.
Siarhei Vishniakou [Thu, 10 Aug 2017 19:25:29 +0000 (19:25 +0000)]
DO NOT MERGE Remove window obscurement information.
am: 5508ca2c19

Change-Id: Ida11ec9828763593ec0ecceddd9f022ed691ecfa

6 years agoMerge "Signal display refresh when a VR_HWC client is registered" into oc-mr1-dev
TreeHugger Robot [Thu, 10 Aug 2017 19:12:13 +0000 (19:12 +0000)]
Merge "Signal display refresh when a VR_HWC client is registered" into oc-mr1-dev

6 years agoMerge "libgui: support 64-bit BQ consumer usage" into oc-mr1-dev
TreeHugger Robot [Thu, 10 Aug 2017 15:12:01 +0000 (15:12 +0000)]
Merge "libgui: support 64-bit BQ consumer usage" into oc-mr1-dev

6 years agoMerge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into...
Courtney Goeltzenleuchter [Thu, 10 Aug 2017 06:46:51 +0000 (06:46 +0000)]
Merge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into oc-dr1-dev
am: 4e831d2e4e

Change-Id: Ic931253156a23da71112fb6608427efee54b77e4

6 years agoMerge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into...
TreeHugger Robot [Thu, 10 Aug 2017 06:40:10 +0000 (06:40 +0000)]
Merge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into oc-dr1-dev

6 years agoCast binder data type to uint64_t in high bits test am: 7e04edd5b3
Hsin-Yi Chen [Thu, 10 Aug 2017 06:12:46 +0000 (06:12 +0000)]
Cast binder data type to uint64_t in high bits test am: 7e04edd5b3
am: c165493cfe

Change-Id: If87350a981f4eab3418a0a5c1376c66f19b9fed6

6 years agoCast binder data type to uint64_t in high bits test
Hsin-Yi Chen [Thu, 10 Aug 2017 06:03:47 +0000 (06:03 +0000)]
Cast binder data type to uint64_t in high bits test
am: 7e04edd5b3

Change-Id: Idad9b44edb27f34ac1bebebfe07b1246c348804e

6 years agoSignal display refresh when a VR_HWC client is registered
Daniel Nicoara [Wed, 9 Aug 2017 22:10:44 +0000 (18:10 -0400)]
Signal display refresh when a VR_HWC client is registered

In steady state, SurfaceFlinger will not update the surfaces. If the
observer is registered after steady state, the client will not receive
any updates. This forces SurfaceFlinger to update the display surfaces

Bug: 64207223
Test: Updated unittest
Change-Id: Ied7ffcaaacec25d36dafb948489538155a0c865f

6 years agoFix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:
Courtney Goeltzenleuchter [Mon, 7 Aug 2017 23:13:04 +0000 (17:13 -0600)]
Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:

Needed to teach GetNativeDataspace about the new color space.
Bug: 64402817
Test: adb -s HT7391A00040 -d shell am start \
    -n com.drawelements.deqp/android.app.NativeActivity \
    -e cmdLine '"deqp --deqp-case=dEQP-VK.wsi.android.swapchain.* \
    --deqp-log-filename=/sdcard/dEQP-Log.qpa"'

Change-Id: I3fe7fefff1f074656d766f2b24639adcdbfd2fb7
(cherry picked from commit e327e9adfc85028d77d1252746c9ee07ff99f0b3)

6 years agoMerge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
Jorim Jaggi [Wed, 9 Aug 2017 16:16:14 +0000 (16:16 +0000)]
Merge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
am: 0436b01d1b

Change-Id: I021a2635b40e74f29e1d94ad4a738f3b043ed5db

6 years agoMerge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
Jorim Jaggi [Wed, 9 Aug 2017 16:10:29 +0000 (16:10 +0000)]
Merge "Fix out-of-order transactions (2/2)" into oc-dr1-dev

6 years agoMerge "Change UniquePtr to std::unique_ptr" into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 23:45:33 +0000 (23:45 +0000)]
Merge "Change UniquePtr to std::unique_ptr" into oc-mr1-dev

6 years agolibgui: support 64-bit BQ consumer usage
Chia-I Wu [Mon, 7 Aug 2017 17:36:08 +0000 (10:36 -0700)]
libgui: support 64-bit BQ consumer usage

Add NATIVE_WINDOW_GET_CONSUMER_USAGE64.  Support 64-bit consumer
usage flags in BufferItemConsumer and GLConsumer.

In H2BGraphicBufferProducer::getConsumerUsage, however, we will
issue a warning and return 32-bit consumer usage.  We will need a
HIDL interface version bump to fix it.

Bug: 35215313
Test: manual
Change-Id: I1f8884a7db71bbdb269d05b94443ddec2ff46f8a

6 years agoCast binder data type to uint64_t in high bits test
Hsin-Yi Chen [Fri, 28 Jul 2017 03:28:52 +0000 (11:28 +0800)]
Cast binder data type to uint64_t in high bits test

1. Cast fb->binder to uint64_t before shifting by 32 bits. It avoids
undefined result when binder is 32-bit.

2. Swap EXPECT_EQ arguments. The first one is expected value and the
second is actual value.

Bug: 64118463
Test: ./binderLibTest on x86 emulator
Change-Id: I4f736bd5b55db5af8598db0d5cd5fbd9ef323448

6 years agoMerge "Use a separate hwcomposer hidl instance for vr flinger" into oc-mr1-dev
Steven Thomas [Tue, 8 Aug 2017 19:29:10 +0000 (19:29 +0000)]
Merge "Use a separate hwcomposer hidl instance for vr flinger" into oc-mr1-dev

6 years agolibsurfaceflinger: fix screenshot permission check
Chia-I Wu [Tue, 8 Aug 2017 19:22:06 +0000 (19:22 +0000)]
libsurfaceflinger: fix screenshot permission check
am: fc0b911090

Change-Id: I9a2c42ea76572e5200f99d65f56ee4b10da4ca15

6 years agoMerge "Mark libGLESv2.so and libEGL.so as VNDK libs." into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 16:53:13 +0000 (16:53 +0000)]
Merge "Mark libGLESv2.so and libEGL.so as VNDK libs." into oc-mr1-dev

6 years agoMerge "Mark libui and libgui as VNDK in Android.bp" into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 16:53:13 +0000 (16:53 +0000)]
Merge "Mark libui and libgui as VNDK in Android.bp" into oc-mr1-dev

6 years agoMerge "Add native bindings for getNamesForUids" into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 15:58:42 +0000 (15:58 +0000)]
Merge "Add native bindings for getNamesForUids" into oc-mr1-dev

6 years agoFix out-of-order transactions (2/2)
Jorim Jaggi [Tue, 8 Aug 2017 13:22:08 +0000 (15:22 +0200)]
Fix out-of-order transactions (2/2)

The following sequence of order may happen which cause wrong
surface positions:
- WA.animate updates surfaces properties to S
- WA.animate closes the surface transaction
- Since the previous animation transaction wasn't commited yet,
closeSurfaceTransaction blocks and updating the surface properties
on SF side is deferred.
- In the meantime, since we are not holding WM lock, we have
another thread updating surfaces properties to S'
- Closing the transaction in this thread completes immediately
because it's not a synchronous transaction or animation
transaction.
- After a frame has been processed S gets applied on SF side as
the other transaction is done waiting for the frame to complete.

The issue here is that properties are now set to S instead of S'.
Sad!

We originally started calling closeTransaction without the WM
lock being held because it lead to thread starvation (b/38192114).
However, that fix has this big flaw as described above.

To fix this, we create an empty animation transaction before
updating the animation properties to simulate the back-pressuring
behavior of animation transactions without the WM lock being held.
If that transaction arrives out of order, it doesn't matter at all
because it is empty.

After that, we perform the animation udpate in a transaction that
is not marked as an animation transaction, and thus will not
block, which avoids the starvation issue.

Part of this change is also a change in SF to allow executing
empty animation transactions.

Test: go/wm-smoke
Test: Open VideoPlayer from VRCore, close it, observe no wrong
positiioning of surfaces.
Test: Inspect traces while animating. Ensure back pressuring still
works.

Change-Id: Ie545463e71e0d1bc73439d14381077a290d2f959
Fixes: 63905190
Bug: 38192114

6 years agoUse a separate hwcomposer hidl instance for vr flinger
Steven Thomas [Thu, 27 Jul 2017 01:48:28 +0000 (18:48 -0700)]
Use a separate hwcomposer hidl instance for vr flinger

Improve robustness of vr flinger <--> surface flinger switching by
having vr flinger use a separate hardware composer hidl instance instead
of sharing the instance with surface flinger. Sharing the hardware
composer instance has proven to be error prone, with situations where
both the vr flinger thread and surface flinger main thread would write
to the composer at the same time, causing hard to diagnose
crashes (b/62925812).

Instead of sharing the hardware composer instance, when switching to vr
flinger we now delete the existing instance, create a new instance
directed to the vr hardware composer shim, and vr flinger creates its
own composer instance connected to the real hardware composer. By
creating a separate composer instance for vr flinger, crashes like the
ones found in b/62925812 are no longer impossible.

Most of the changes in this commit are related to enabling surface
flinger to delete HWComposer instances cleanly. In particular:

- Previously the hardware composer callbacks (which come in on a
  hwbinder thread) would land in HWC2::Device and bubble up to the
  SurfaceFlinger object. But with the new behavior the HWC2::Device
  might be dead or in the process of being destroyed, so instead we have
  SurfaceFlinger receive the composer callbacks directly, and forward
  them to HWComposer and HWC2::Device. We include a composer id field in
  the callbacks so surface flinger can ignore stale callbacks from dead
  composer instances.

- Object ownership for HWC2::Display and HWC2::Layer was shared by
  passing around shared_ptrs to these objects. This was problematic
  because they referenced and used the HWC2::Device, which can now be
  destroyed when switching to vr flinger. Simplify the ownership model
  by having HWC2::Device own (via unique_ptr<>) instances of
  HWC2::Display, which owns (again via unique_ptr<>) instances of
  HWC2::Layer. In cases where we previously passed std::shared_ptr<> to
  HWC2::Display or HWC2::Layer, instead pass non-owning HWC2::Display*
  and HWC2::Layer* pointers. This ensures clean composer instance
  teardown with no stale references to the deleted HWC2::Device.

- When the hardware composer instance is destroyed and the HWC2::Layers
  are removed, notify the android::Layer via a callback, so it can
  remove the HWC2::Layer from its internal table of hardware composer
  layers. This removes the burden to explicitly clear out all hardware
  composer layers when switching to vr flinger, which has been a source
  of bugs.

- We were missing an mStateLock lock in
  SurfaceFlinger::setVsyncEnabled(), which was necessary to ensure we
  were setting vsync on the correct hardware composer instance. Once
  that lock was added, surface flinger would sometimes deadlock when
  transitioning to vr flinger, because the surface flinger main thread
  would acquire mStateLock and then EventControlThread::mMutex, whereas
  the event control thread would acquire the locks in the opposite
  order. The changes in EventControlThread.cpp are to ensure it doesn't
  hold a lock on EventControlThread::mMutex while calling
  setVsyncEnabled(), to avoid the deadlock.

I found that without a composer callback registered in vr flinger the
vsync_event file wasn't getting vsync timestamps written, so vr flinger
would get stuck in an infinite loop trying to parse a vsync
timestamp. Since we need to have a callback anyway I changed the code in
hardware_composer.cpp to get the vsync timestamp from the callback, as
surface flinger does. I confirmed the timestamps are the same with
either method, and this lets us remove some extra code for extracting
the vsync timestamp that (probably) wasn't compatible with all devices
we want to run on anyway. I also added a timeout to the vysnc wait so
we'll see an error message in the log if we fail to wait for vsync,
instead of looping forever.

Bug: 62925812

Test: - Confirmed surface flinger <--> vr flinger switching is robust by
        switching devices on and off hundreds of times and observing no
        hardware composer related issues, surface flinger crashes, or
        hardware composer service crashes.

- Confirmed 2d in vr works as before by going through the OOBE flow on a
  standalone. This also exercises virtual display creation and usage
  through surface flinger.

- Added logs to confirm perfect layer/display cleanup when destroying
  hardware composer instances.

- Tested normal 2d phone usage to confirm basic layer create/destroy
  functionality works as before.

- Monitored surface flinger file descriptor usage across dozens of
  surface flinger <--> vr flinger transitions and observed no file
  descriptor leaks.

- Confirmed the HWC1 code path still compiles.

- Ran the surface flinger tests and confirmed there are no new test
  failures.

- Ran the hardware composer hidl in passthrough mode on a Marlin and
  confirmed it works.

- Ran CTS tests for virtual displays and confirmed they all pass.

- Tested Android Auto and confirmed basic graphics functionality still
  works.

Change-Id: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1
Merged-In: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1

6 years agoMerge changes from topic 'thermal-notify-mr1' into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 01:15:42 +0000 (01:15 +0000)]
Merge changes from topic 'thermal-notify-mr1' into oc-mr1-dev

* changes:
  thermalservice: add HIDL ThermalCallback implementation
  thermalservice: add ThermalService interfaces and thermalserviced

6 years agoMerge "Change the location of current profiles for secondary dex files" into oc-mr1-dev
Calin Juravle [Tue, 8 Aug 2017 00:17:45 +0000 (00:17 +0000)]
Merge "Change the location of current profiles for secondary dex files" into oc-mr1-dev

6 years agothermalservice: add HIDL ThermalCallback implementation
Todd Poynor [Fri, 23 Jun 2017 01:13:56 +0000 (18:13 -0700)]
thermalservice: add HIDL ThermalCallback implementation

The IThermalCallback implementation in thermalserviced enables vendor
thermal management code to send thermal events to ThermalService.

Test: manual: marlin with modified thermal-engine.conf
Bug: 30982366
Change-Id: Ic566bc51aebcd03163f8909f846ee4f7025ed472

6 years agothermalservice: add ThermalService interfaces and thermalserviced
Todd Poynor [Thu, 25 May 2017 00:19:18 +0000 (17:19 -0700)]
thermalservice: add ThermalService interfaces and thermalserviced

Binder interfaces IThermalService and IThermalEventListener are used
by frameworks native and Java code to publish and subscribe to
thermal events, and to detect thermal throttling status.

A following change adds HwBinder interfaces for vendor thermal
management code to send thermal events to this service.

Test: marlin
Bug: 30982366
Change-Id: I246ddd9b386e2388701b73fa0ecf9aff78ce0adb

6 years agolibsurfaceflinger: fix screenshot permission check
Chia-I Wu [Mon, 7 Aug 2017 22:27:49 +0000 (15:27 -0700)]
libsurfaceflinger: fix screenshot permission check

Fix the logic for layers we check isSecure or isVisible for.  It was
regressed by my previous change to support
WINDOW_TYPE_DONT_SCREENSHOT.

Bug: 63311708
Bug: 62656774
Test: CTS
Change-Id: I7768cb590014cc610ec564847958bbd98742c277

6 years agoAdd ASharedMemory_dupFromJava NDK API
John Reck [Mon, 7 Aug 2017 18:18:40 +0000 (11:18 -0700)]
Add ASharedMemory_dupFromJava NDK API

Bug: 64394076
Test: SharedMemory CTS tests
Change-Id: I0ee5badff48ce72c8a664180beacfcf89112f6bf

6 years agoChange the location of current profiles for secondary dex files
Calin Juravle [Thu, 27 Jul 2017 23:31:55 +0000 (16:31 -0700)]
Change the location of current profiles for secondary dex files

Update the installd code to handle the new location for secondary dex
profiles.

Tighten up the validation code and add tests.

Counter part for frameworks commit
a07ca21f9727325d76d2ddbfa119513f47f0b45f.

Bug: 62336157
Test: adb shell cmd package compile -r bg-dexopt --secondary-dex
com.google.android.googlequicksearchbox
      adb shell cmd package reconcile-secondary-dex-files
com.google.android.googlequicksearchbox

Change-Id: Ib7af091a35fe53e7f6bb5f30a09911188caff88f

6 years agoChange UniquePtr to std::unique_ptr
Jiyong Park [Mon, 7 Aug 2017 11:48:32 +0000 (20:48 +0900)]
Change UniquePtr to std::unique_ptr

UniquePtr.h in libnativehelper/include is deprecated and will be removed
soon. Switching to the standard std::unique_ptr.

Bug: 63686260
Test: builds, cmd works in the device.
Change-Id: Ib008acd1dd7dba2305b0797c9dc7bab1aa747e7d

6 years agoMerge "Fix build error from diamond merge" into oc-mr1-dev
TreeHugger Robot [Sat, 5 Aug 2017 03:58:41 +0000 (03:58 +0000)]
Merge "Fix build error from diamond merge" into oc-mr1-dev

6 years agoMerge "Fix race condition clearing VSYNC enable on VrFlinger startup." into oc-dr1-dev
Corey Tabaka [Sat, 5 Aug 2017 03:37:28 +0000 (03:37 +0000)]
Merge "Fix race condition clearing VSYNC enable on VrFlinger startup." into oc-dr1-dev
am: 8f09b6abec

Change-Id: I671c34252d7e0cfedeb2b22d77e6e635aa3d907b

6 years agoMerge "Fix race condition clearing VSYNC enable on VrFlinger startup." into oc-dr1-dev
TreeHugger Robot [Sat, 5 Aug 2017 03:28:04 +0000 (03:28 +0000)]
Merge "Fix race condition clearing VSYNC enable on VrFlinger startup." into oc-dr1-dev

6 years agoFix build error from diamond merge
Courtney Goeltzenleuchter [Wed, 2 Aug 2017 21:55:06 +0000 (15:55 -0600)]
Fix build error from diamond merge

Somehow between various merges on master and oc-dr1-dev
master ended up in bad state.
CL's involved are:
cd939aa6622430 Fix build for non-HWC2 targets (master)
281e8113d0ce Communicate composition buffer dataspace to HWC (oc-dr1-dev)
79d272442ce13 Communicate composition buffer dataspace to HWC (master)
I think 281e got merged into master and re-introduced the change that
was fixed by cd93.
Test: make

Change-Id: I087244348392098f516905eb1cebebf0362fcc20
(cherry picked from commit 6461806da8d8f0677ce337700153e5a972c36593)

6 years agoAdd native bindings for getNamesForUids
Todd Kennedy [Wed, 2 Aug 2017 14:49:20 +0000 (07:49 -0700)]
Add native bindings for getNamesForUids

A new API [getNamesForUids] was recently added to the PackageManager
and this API needs to be accessible to native code. However, there
were two constraints:
1) Instead of hand-rolling the binder, we wanted to auto generate
the bindings directly from the AIDL compiler.
2) We didn't want to expose/annotate all 180+ PackageManager APIs
when only a single API is needed.
So, we chose to create a parallel API that can be used explicitly
for native bindings without exposing the entirety of the
PackageManager.

Bug: 62805090
Test: Manual
Test: Create a native application that calls into the new service
Test: See the call works and data and returned
Change-Id: Icdcb5c825fdc08d029b0eaed5c5be49cce40c9d8

6 years agoDO NOT MERGE Remove window obscurement information.
Siarhei Vishniakou [Fri, 4 Aug 2017 19:37:47 +0000 (12:37 -0700)]
DO NOT MERGE Remove window obscurement information.

If ACTION_OUTSIDE_EVENTS contain information about whether the touch is
obscured, then a pattern of invisible, untouchable, unfocusable
SYSTEM_ALERT_WINDOWS can be placed across the screen to determine
approximate locations of touch events without the user knowing.

Bug: 31097064
Test: cts-tradefed run cts --class android.security.cts.MotionEventTest
Change-Id: Iebbb68231cbb76f87241201e7640a1fe3e188625

6 years agoMerge "Mark libbinder and libdumpstateutil as VNDK in Android.bp" into oc-mr1-dev
TreeHugger Robot [Fri, 4 Aug 2017 00:52:07 +0000 (00:52 +0000)]
Merge "Mark libbinder and libdumpstateutil as VNDK in Android.bp" into oc-mr1-dev

6 years agoFix race condition clearing VSYNC enable on VrFlinger startup.
Corey Tabaka [Fri, 4 Aug 2017 00:14:08 +0000 (17:14 -0700)]
Fix race condition clearing VSYNC enable on VrFlinger startup.

Fix VrFlinger to avoid touching the VSYNC enable setting in HWC
during startup by avoiding calling the cleanup code when entering
idle state for the first time.

Bug: 63626797
Test: Manual testing.
Change-Id: I5320bd5c1febb51367e759a8619d35f155789628

6 years agoMerge "Use cutils/android_filesystem_config.h" into oc-mr1-dev
Yifan Hong [Thu, 3 Aug 2017 22:53:08 +0000 (22:53 +0000)]
Merge "Use cutils/android_filesystem_config.h" into oc-mr1-dev

6 years agoMerge "Add metadata in direct display surface to support ANativeWindow use cases...
TreeHugger Robot [Thu, 3 Aug 2017 20:54:34 +0000 (20:54 +0000)]
Merge "Add metadata in direct display surface to support ANativeWindow use cases." into oc-mr1-dev

6 years agoMerge "Fix missing check on buffer import." into oc-dr1-dev
Corey Tabaka [Thu, 3 Aug 2017 19:40:14 +0000 (19:40 +0000)]
Merge "Fix missing check on buffer import." into oc-dr1-dev
am: e018119bb3

Change-Id: I6916696a90822809768cdaf8795a85203abc4315

6 years agoMerge "Fix missing check on buffer import." into oc-dr1-dev
TreeHugger Robot [Thu, 3 Aug 2017 19:33:53 +0000 (19:33 +0000)]
Merge "Fix missing check on buffer import." into oc-dr1-dev

6 years agoAdd metadata in direct display surface to support ANativeWindow use cases.
rongliu [Fri, 28 Jul 2017 22:22:17 +0000 (15:22 -0700)]
Add metadata in direct display surface to support ANativeWindow use cases.

When direct display surface is used with metadata, ComsumerQueue dequeue
reports error because metadata size is hardcoded as 0. It breaks
ANativeWindow case because it has a metadata on the fly.

Create a metadata structure, which could be read and used in the future.

Bug: 64155181
Test: Manual
Change-Id: Ieb35a69d26213769497c6afc7151dd135150c795

6 years agoMerge "libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT" into oc-dr1-dev
Chia-I Wu [Thu, 3 Aug 2017 12:53:49 +0000 (12:53 +0000)]
Merge "libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT" into oc-dr1-dev
am: 1e9bf7c91b

Change-Id: Ie0d80934d0bf1d92ecfb2ab491cdf2b374132c17

6 years agoMerge "libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT" into oc-dr1-dev
TreeHugger Robot [Thu, 3 Aug 2017 12:45:02 +0000 (12:45 +0000)]
Merge "libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT" into oc-dr1-dev

6 years agoMerge "Remove constraint on touch location." into oc-dr1-dev
Kevin Schoedel [Wed, 2 Aug 2017 23:16:45 +0000 (23:16 +0000)]
Merge "Remove constraint on touch location." into oc-dr1-dev
am: d8fb01fe77

Change-Id: Iebda7471bcff007c88f2cb67472c914988337e33

6 years agoMerge changes from topic '62033391' into oc-dr1-dev
Tarandeep Singh [Wed, 2 Aug 2017 23:00:21 +0000 (23:00 +0000)]
Merge changes from topic '62033391' into oc-dr1-dev
am: 97d1c4f234

Change-Id: I33111bae2e009087d979b5f83b0d76a6ba9328c1

6 years agoEnable InputMonitors for non-default display.
Tarandeep Singh [Wed, 2 Aug 2017 23:00:06 +0000 (23:00 +0000)]
Enable InputMonitors for non-default display.
am: 48aeb512e9

Change-Id: I8d7faebe9c57bc17ddeeb7d4df3a69afa908171c

6 years agoMerge "Remove constraint on touch location." into oc-dr1-dev
TreeHugger Robot [Wed, 2 Aug 2017 21:40:32 +0000 (21:40 +0000)]
Merge "Remove constraint on touch location." into oc-dr1-dev

6 years agolibsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT
Chia-I Wu [Tue, 1 Aug 2017 18:29:00 +0000 (11:29 -0700)]
libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT

When a layer has type WINDOW_TYPE_DONT_SCREENSHOT, hide it from
everywhere but the primary display.  This should be reverted when we
switch to use layer hierarchy properly.

Bug: 63311708
Test: screencap, screenrecord, android.view.cts.SurfaceViewSyncTest
Change-Id: I6a8d6b93399b0dc42832588f9a6c5e8879a8b754

6 years agoMerge changes from topic '62033391' into oc-dr1-dev
Tarandeep Singh [Wed, 2 Aug 2017 20:32:58 +0000 (20:32 +0000)]
Merge changes from topic '62033391' into oc-dr1-dev

* changes:
  Add displayId in InputDispatcher, InputTransport
  Enable InputMonitors for non-default display.

6 years agoMerge changes If4271719,I9c9b5de9,I46a26a67 into oc-dr1-dev
Courtney Goeltzenleuchter [Wed, 2 Aug 2017 19:46:22 +0000 (19:46 +0000)]
Merge changes If4271719,I9c9b5de9,I46a26a67 into oc-dr1-dev
am: ddd9c71272

Change-Id: Ie3868b140dfc675f450ac5f436f3533c1d2bdc93

6 years agoMerge "EGL: Add EGL_GL_scrgb extension" into oc-dr1-dev
Courtney Goeltzenleuchter [Wed, 2 Aug 2017 19:33:33 +0000 (19:33 +0000)]
Merge "EGL: Add EGL_GL_scrgb extension" into oc-dr1-dev
am: d5e8f47eff  -s ours

Change-Id: Ifa3a705354ca92a5cc091d872bd5fff5b2512e7c

6 years agoMerge changes If4271719,I9c9b5de9,I46a26a67 into oc-dr1-dev
TreeHugger Robot [Wed, 2 Aug 2017 18:35:41 +0000 (18:35 +0000)]
Merge changes If4271719,I9c9b5de9,I46a26a67 into oc-dr1-dev

* changes:
  Communicate composition buffer dataspace to HWC
  Add VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT.
  Check wide-color support before adding extensions

6 years agoMerge "EGL: Add EGL_GL_scrgb extension" into oc-dr1-dev
TreeHugger Robot [Wed, 2 Aug 2017 18:35:05 +0000 (18:35 +0000)]
Merge "EGL: Add EGL_GL_scrgb extension" into oc-dr1-dev

6 years agoMerge "Installd: Fix math overflow on quota calculation" into oc-mr1-dev
Jeff Sharkey [Wed, 2 Aug 2017 15:55:15 +0000 (15:55 +0000)]
Merge "Installd: Fix math overflow on quota calculation" into oc-mr1-dev

6 years agoMark libui and libgui as VNDK in Android.bp
Justin Yun [Mon, 24 Jul 2017 06:19:45 +0000 (15:19 +0900)]
Mark libui and libgui as VNDK in Android.bp

As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
    enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: Idf46c030e42a70c3b97a6d6a12a1087707fe7615

6 years agoMark libbinder and libdumpstateutil as VNDK in Android.bp
Justin Yun [Wed, 2 Aug 2017 08:02:05 +0000 (17:02 +0900)]
Mark libbinder and libdumpstateutil as VNDK in Android.bp

As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.

The 'vndk' tag for VNDK module is formated as below:
vndk: {
    enabled: true,
},

VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.

Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: Ib1d9469ad0aead4cbec7c2548438d44608f36819

6 years agoUse cutils/android_filesystem_config.h
Yifan Hong [Wed, 2 Aug 2017 00:09:07 +0000 (17:09 -0700)]
Use cutils/android_filesystem_config.h

private/android_filesystem_config.h is not available for
vndservicemanager.

Test: m -j
Test: BOARD_VNDK_VERSION m -j

Bug: 63135587
Change-Id: Iaf9911a519ebbb798184e93b2911d0e813e6026c

6 years agoRenamed 2nd device file back to dumpstate_board.bin.
Felipe Leme [Tue, 1 Aug 2017 23:35:56 +0000 (16:35 -0700)]
Renamed 2nd device file back to dumpstate_board.bin.

Fixes: 62872793
Test: manual verification
Test: mmm -j32 frameworks/native/cmds/dumpstate/ && adb push $OUT/system/lib/libdumpstateutil.so /system/lib/ && adb push ${ANDROID_PRODUCT_OUT}/data/nativetest/dumpstate_test* /data/nativetest && adb shell /data/nativetest/dumpstate_test/dumpstate_test

Change-Id: I3574124be9d430b92a08531cff412e88f4469fa6

6 years agoAdd displayId in InputDispatcher, InputTransport
Tarandeep Singh [Mon, 31 Jul 2017 17:51:54 +0000 (10:51 -0700)]
Add displayId in InputDispatcher, InputTransport

Bug: 62033391
Test: make StructLayout_test
make libinput_tests_InputEvent_test
make libinput_tests_InputPublisherAndConsumer_test
Run tests under /data/nativetest64/libinput_tests/

Change-Id: Id02cab83924d399eae0c1c233dc545fbb64945c2

6 years agoMerge "Add new Dolby Vision Profile types" into oc-mr1-dev
TreeHugger Robot [Tue, 1 Aug 2017 20:31:09 +0000 (20:31 +0000)]
Merge "Add new Dolby Vision Profile types" into oc-mr1-dev

6 years agoMerge "Have the Surface class track the buffer age." into oc-mr1-dev
TreeHugger Robot [Tue, 1 Aug 2017 17:31:35 +0000 (17:31 +0000)]
Merge "Have the Surface class track the buffer age." into oc-mr1-dev

6 years agoCommunicate composition buffer dataspace to HWC
Courtney Goeltzenleuchter [Thu, 13 Jul 2017 23:54:01 +0000 (17:54 -0600)]
Communicate composition buffer dataspace to HWC

Test: adb shell dumpsys SurfaceFlinger
      look for dataspace info in DisplayDevice section
Bug: 63146977
Change-Id: If427171994fbc91faacf5bad9cc736ddfbd35ec3
(cherry picked from commit 79d272442ce13418c3ea81c95d7fea0159b4b481)

6 years agoAdd VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT.
Courtney Goeltzenleuchter [Sun, 9 Jul 2017 18:50:57 +0000 (12:50 -0600)]
Add VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT.

Bug: 63077212
Test: CTS basicExtensionTest

Change-Id: I9c9b5de99249a6fdd49df1995971c14915f6a7c8
(cherry picked from commit edc88e78a30ca412a0a085a21f1fc1be7be5081f)

6 years agoCheck wide-color support before adding extensions
Courtney Goeltzenleuchter [Fri, 7 Jul 2017 20:55:40 +0000 (14:55 -0600)]
Check wide-color support before adding extensions

Don't want applications seeing the wide-color EGL extensions
if the device or display cannot support wide-color.
Bug: 63170158
Test: adb shell /data/nativetest/test-opengl-gl2_basic/test-opengl-gl2_basic
Verify that EGL_EXT_gl_colorspace_scrgb, EGL_EXT_gl_colorspace_scrgb_linear,
EGL_EXT_gl_colorspace_display_p3_linear and EGL_EXT_gl_colorspace_display_p3
are not present on devices that do not support wide-color, e.g. Nexus 6P

Change-Id: I46a26a67f2d6da9c5aad50d884ef02a62ccb6945
(cherry picked from commit e5d6f994158d554c692afae0f547d89c75abde71)

6 years agoEGL: Add EGL_GL_scrgb extension
Courtney Goeltzenleuchter [Fri, 23 Jun 2017 15:06:52 +0000 (09:06 -0600)]
EGL: Add EGL_GL_scrgb extension

Test: Android CTS
    adb -d shell am start \
    -n com.drawelements.deqp/android.app.NativeActivity \
    -e cmdLine '"deqp --deqp-case=dEQP-EGL.functional.wide_color.* \
    --deqp-log-filename=/sdcard/dEQP-Log.qpa"'
Bug: 62424735

Change-Id: I12a0bd64c01bcf314b4a73d8eb3151b09bf9f8ae
(cherry picked from commit 33e2b781a05f1caf274e95c143005a862223e9bf)

6 years agoMerge "sf: Defer DispSync initialization" into oc-dr1-dev
Saurabh Shah [Tue, 1 Aug 2017 16:22:00 +0000 (16:22 +0000)]
Merge "sf: Defer DispSync initialization" into oc-dr1-dev
am: 37d8c19a19

Change-Id: If075910e28f94462c1b24b650afa1b0fcad8d144

6 years agoMerge "sf: Defer DispSync initialization" into oc-dr1-dev
TreeHugger Robot [Tue, 1 Aug 2017 16:18:06 +0000 (16:18 +0000)]
Merge "sf: Defer DispSync initialization" into oc-dr1-dev

6 years agoDO NOT MERGE Remove window obscurement information.
Siarhei Vishniakou [Tue, 1 Aug 2017 03:33:41 +0000 (20:33 -0700)]
DO NOT MERGE Remove window obscurement information.

If ACTION_OUTSIDE_EVENTS contain information about whether the touch is
obscured, then a pattern of invisible, untouchable, unfocusable
SYSTEM_ALERT_WINDOWS can be placed across the screen to determine
approximate locations of touch events without the user knowing.

Bug: 31097064
Test: cts-tradefed run cts --class android.security.cts.MotionEventTest
Change-Id: Ie30dcc2402d5422a19a43ffe7d1411d91681efc2

6 years agoMerge "Add TestStableBufferIdAndHardwareBuffer" into oc-mr1-dev
TreeHugger Robot [Tue, 1 Aug 2017 00:27:54 +0000 (00:27 +0000)]
Merge "Add TestStableBufferIdAndHardwareBuffer" into oc-mr1-dev

6 years agoEnable InputMonitors for non-default display.
Tarandeep Singh [Mon, 17 Jul 2017 18:22:52 +0000 (11:22 -0700)]
Enable InputMonitors for non-default display.

InputFlinger today doesn't deliver InputMonitors for non-deafult
display. In order to support focussing windows on virtual-displays
(like the Vr2dDisplay), we need to be able to send motion events
to them for keyboard to gain focus.

Bug: 62033391
Test: Manual by launching
com.google.vr.vrcore/.daydream.MetaworldActivity & then
com.google.android.apps.nexuslauncher/.NexusLauncherActivity.
Exact steps are mentioned in the bug.
Change-Id: I5954e54cef8c0a29f05bc964debc95ea81f16758

6 years agoInstalld: Fix math overflow on quota calculation
Jerry Wong [Fri, 28 Jul 2017 22:54:58 +0000 (15:54 -0700)]
Installd: Fix math overflow on quota calculation

On 32-bit devices, the hard quota size calculation could overflow that
would cause the hard quota limit size to be much lower than intended.

b/64160395

Change-Id: If7b0f2a40f77bb5e5957c663999544f4ab2e69be

6 years agoAdd TestStableBufferIdAndHardwareBuffer
Jiwen 'Steve' Cai [Sat, 29 Jul 2017 18:39:57 +0000 (11:39 -0700)]
Add TestStableBufferIdAndHardwareBuffer

Verifies a Dvr{Read,Write}BufferQueue contains the same set of
Dvr{Read,Write}Buffer(s) during their lifecycles. And for the same
buffer_id, the corresponding AHardwareBuffer handle stays the
same. User of DVR API need to make sure buffers from a queue can be
cached by buffer_id.

Bug: 64208560
Test: DvrApi-test
Change-Id: I1f89c49061b8727bb6a321201b1556b5ceffc9a9

6 years agovulkan: Translate usage flags before passing to driver
Chris Forbes [Mon, 31 Jul 2017 18:17:54 +0000 (18:17 +0000)]
vulkan: Translate usage flags before passing to driver
am: 8e0c3f5f1c

Change-Id: Ia6f0c0a8c43b1e9cbe94f05e342f2c0cd92cdad1

6 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.)

(Cherry-picked from 4744291270cc6 in oc-dev)

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

6 years agoHave the Surface class track the buffer age.
Ian Elliott [Tue, 18 Jul 2017 17:05:49 +0000 (11:05 -0600)]
Have the Surface class track the buffer age.

Have the Surface class track the buffer age, so that Surface::query()
can return the buffer age without having to use a binder call to
BufferQueueProducer::query().  The idea is for
BufferQueueProducer::dequeueBuffer() to return the value, which the
Surface class will cache for later use by Surface::query().

Bug: b/27903668
Test: Use systrace to no ensure query binder call after dequeueBuffer.
Change-Id: I106a7bd27461d381f0bd84df70d804de56a128ab
(cherry picked from commit d11b044864be525a1646f93106ab496195bb8239)

6 years agoFix missing check on buffer import.
Corey Tabaka [Sat, 29 Jul 2017 02:46:30 +0000 (19:46 -0700)]
Fix missing check on buffer import.

Fix a missing check on the success of importing buffers into the
ConsumerQueue. There is a race condition where the producer can
invalidate its buffers, for example by resizing, before the consumer
has a chance to import the previous buffers. The missing check
causes a crash in SurfaceFlinger and VrCore, which are both
consumers of application VR surface buffers.

Also fix a missing lock around the consumer queues in VR surfaces
found during the analysis of this bug.

Bug: 64042620
Test: Ran test.apk before and after the fix. Observe stable operation
      after applying the fix.

Change-Id: I416df3ca47978404dcdb53599ddeec9b4bd6fb1a

6 years agosf: Defer DispSync initialization
Saurabh Shah [Thu, 13 Jul 2017 17:45:07 +0000 (10:45 -0700)]
sf: Defer DispSync initialization

Some DispSync members are initialized based on uninitialized static
members of sf, that are in turn initialized in sf constructor. Fix
the sequence by deferring DispSync initialization.

Current sequence:
sf constructor|-> DispSync constructor -> Access static sf members
              |-> Initialize sf static members

New sequence:
sf constructor|-> DispSync constructor
              |-> Initialize sf static members
              |-> DispSync init -> Access static sf members

Bug: 63671437
Test: "present fences are ignored" not present in SF dumpsys
Change-Id: I618d2bbbbd4e39fc382e67f85dd8d637dd82cf38
(cherry picked from commit f41745301d5ecfa680dcef3a1948a8a321f80509)

6 years agodumpstate: Add historical ANRs as separate entries in the zip file.
Narayan Kamath [Thu, 27 Jul 2017 10:21:07 +0000 (11:21 +0100)]
dumpstate: Add historical ANRs as separate entries in the zip file.

ANRs now show up as separate entries in the bugreport zip file, like so:

-rw----     0.0 fat   516946 bl    48779 defN 17-Jul-27 10:47 FS/data/anr/anr_2017-07-27-10-47-45-798
-rw----     0.0 fat   520627 bl    48995 defN 17-Jul-27 10:47 FS/data/anr/anr_2017-07-27-10-47-30-328

Bug: 32470528
Test: adb bugreport ./bugreport.zip; zipinfo -l ./bugreport.zip | grep anr

Change-Id: Ibcde7bd35cab1d81e26c72e9247d63cf7bce1504