OSDN Git Service
TreeHugger Robot [Tue, 15 Aug 2017 10:16:18 +0000 (10:16 +0000)]
Merge "Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK" into oc-mr1-dev
Lajos Molnar [Tue, 15 Aug 2017 03:13:39 +0000 (03:13 +0000)]
Merge "omx: add constrained AVC profile constants" into oc-mr1-dev
TreeHugger Robot [Tue, 15 Aug 2017 00:37:35 +0000 (00:37 +0000)]
Merge "media/omx: fix VP9 level enums" into oc-mr1-dev
TreeHugger Robot [Mon, 14 Aug 2017 21:01:31 +0000 (21:01 +0000)]
Merge "BufferHubQueueProducer reset buffers on disconnect" 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
Lajos Molnar [Sat, 12 Aug 2017 00:40:50 +0000 (17:40 -0700)]
omx: add constrained AVC profile constants
Bug:
63864332
Change-Id: I7bcf85a723f86088540ce9f429b315655eee86c6
Lajos Molnar [Mon, 3 Jul 2017 14:41:18 +0000 (07:41 -0700)]
media/omx: fix VP9 level enums
Bug:
62361245
Change-Id: If8bacbecd7698ef38e3428ad4a9daa1c4c6bbe82
Jeff Sharkey [Fri, 11 Aug 2017 21:13:31 +0000 (15:13 -0600)]
Fix casting bug, add control for hard quotas.
Bug:
64160395,
63255278
Test: /data/nativetest/installd_service_test/installd_cache_test
Change-Id: I8e2e24afd88da4dc13afdf05927e59c268e69825
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
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
Jiyong Park [Thu, 10 Aug 2017 11:30:56 +0000 (20:30 +0900)]
Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK
They are used by libRSDriver and libRS_internal which are VNDK-SP
libraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We
choose to make them as LLNDK since they already have stable ABIs (as
they are NDK).
In addition, two more functions of libEGL are exposed to vendors
eglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are
non-NDK symbols but are being used by libgui, which is a library marked
with vendor_available:true. In order to provide the symbols to the
library, they are added to the map.txt file and tagged as "# vndk" so
that they are exposed only when built for vendor libs (and hidden when
built for NDK).
Furthermore, eglQueryStringImplementationANDROID is changed to C-symbol
in order to be mentioned in the map.txt file, where C++ mangled symbol
name can't be used.
Bug:
64425518
Test: BOARD_VNDK_VERSION=current m -j libRSDriver.vendor
Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor
Change-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
TreeHugger Robot [Thu, 10 Aug 2017 19:41:54 +0000 (19:41 +0000)]
Merge "Add ASharedMemory_dupFromJava NDK API" into oc-mr1-dev
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
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
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
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
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
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
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
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
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
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
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)
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
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
TreeHugger Robot [Tue, 8 Aug 2017 23:45:33 +0000 (23:45 +0000)]
Merge "Change UniquePtr to std::unique_ptr" into oc-mr1-dev
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
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
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
Chia-I Wu [Tue, 8 Aug 2017 19:22:06 +0000 (19:22 +0000)]
libsurfaceflinger: fix screenshot permission check
am:
fc0b911090
Change-Id: I9a2c42ea76572e5200f99d65f56ee4b10da4ca15
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
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
TreeHugger Robot [Tue, 8 Aug 2017 15:58:42 +0000 (15:58 +0000)]
Merge "Add native bindings for getNamesForUids" into oc-mr1-dev
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
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
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
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
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
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
Jiwen 'Steve' Cai [Sat, 5 Aug 2017 00:34:37 +0000 (17:34 -0700)]
BufferHubQueueProducer reset buffers on disconnect
When Surface.cpp disconnects a IGraphicBufferProducer, it clears up all
the buffer cache it holds. Thus our implementation should do the same.
New tests:
1/ BufferHubQueueProducerTest.ConnectDisconnectReconnect: tests
IGraphicBufferProducer to behave proper after disconnect and
re-connect.
2/ BufferHubQueueTest.TestFreeAllBuffers: tests BufferHubQueue handles
FreeAllBuffers() properly under different producer/consumer state.
Bug:
64402829
Test: Pause and resume GVR video player demo and observer no more fails
around IGraphicBufferProducer::requestBuffer and Surface::dequeueBuffer.
Change-Id: Ia61e3f991248135cecf22039045f6960226bda42
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
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
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
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
TreeHugger Robot [Sat, 5 Aug 2017 03:58:41 +0000 (03:58 +0000)]
Merge "Fix build error from diamond merge" into oc-mr1-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
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
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)
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
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
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
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
Yifan Hong [Thu, 3 Aug 2017 22:53:08 +0000 (22:53 +0000)]
Merge "Use cutils/android_filesystem_config.h" into oc-mr1-dev
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
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
TreeHugger Robot [Thu, 3 Aug 2017 19:33:53 +0000 (19:33 +0000)]
Merge "Fix missing check on buffer import." into oc-dr1-dev
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
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
TreeHugger Robot [Thu, 3 Aug 2017 12:45:02 +0000 (12:45 +0000)]
Merge "libsurfaceflinger: handle WINDOW_TYPE_DONT_SCREENSHOT" 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
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
Tarandeep Singh [Wed, 2 Aug 2017 23:00:06 +0000 (23:00 +0000)]
Enable InputMonitors for non-default display.
am:
48aeb512e9
Change-Id: I8d7faebe9c57bc17ddeeb7d4df3a69afa908171c
TreeHugger Robot [Wed, 2 Aug 2017 21:40:32 +0000 (21:40 +0000)]
Merge "Remove constraint on touch location." into oc-dr1-dev
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
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.
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
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
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
TreeHugger Robot [Wed, 2 Aug 2017 18:35:05 +0000 (18:35 +0000)]
Merge "EGL: Add EGL_GL_scrgb extension" into oc-dr1-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
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
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
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
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
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
TreeHugger Robot [Tue, 1 Aug 2017 20:31:09 +0000 (20:31 +0000)]
Merge "Add new Dolby Vision Profile types" 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
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)
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)
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)
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)
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
TreeHugger Robot [Tue, 1 Aug 2017 16:18:06 +0000 (16:18 +0000)]
Merge "sf: Defer DispSync initialization" into oc-dr1-dev
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
TreeHugger Robot [Tue, 1 Aug 2017 00:27:54 +0000 (00:27 +0000)]
Merge "Add TestStableBufferIdAndHardwareBuffer" into oc-mr1-dev
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