Implement readback from Surface, TextureView and HW Bitmap
for Vulkan pipeline by wrapping the graphics buffer in an SkImage.
Refactor both Vulkan and GL readback to use common code.
TextureView readback is moved from IRenderPipeline interface to
Readback class. Refactor all 3 readback flows to use common
implementation.
Test: Passed all view, uirendering and graphics CTS tests with GL
Test: Passed many CTS test with Vulkan, that require readback
Bug: 113673613
Change-Id: Ifbfd8170a5401f87a709b4b1b9fa058e8e11768d
- Android Automotive directly calls AudioSystem at the time being,
AudioManager is not updated in this CL
TODO:
- AudioPolicyManager::connectAudioSource is a no-op for
AUDIO_DEVICE_API_VERSION_3_0
Bug: 112161027
Test: m -j
Change-Id: I27a28cd1fd2992c4a7a9a67feb606f35cae43cc3
Fix an issue with incorrect texture matrix, when there is 90/270 rotation.
This happened, because after refactoring SkImage has buffer width/height,
instead of layer width/height.
This reverts commit a683eb3945.
Bug: 113673613
Test: Ran TextureView CTS and lensblur in camera app
Change-Id: If3bcf9cd5195de09fd67a753708568a8e3ca3a9a
setFinalCrop functionality is reimplemented by creating a new bounds layer
and applying a crop on this layer. see ag/4625718
Test: go/wm-smoke
Change-Id: I3ffb6dc2e2afd5170f6c6dee9e928ed0600656b1
Render TextureView as hardware bitmaps, instead of GL textures.
Cache SkImage for each observed GraphicBuffer, which is faster
even for GL.
Implement C++ SurfaceTexture, which allows Java SurfaceTexture
to be used with Vulkan HWUI render thread and application GL.
threads. Delete GLLayer and VkLayer classes and texture code
from old HWUI pipeline.
Test: Ran skiagl and skiavk pipeline with a TextureView app.
Test: TextureView CTS tests pass for GL pipeline.
Test: Ran Android NDK Native codec sample app.
Change-Id: Idc94f864ce2d34fd6ceff4be4fc7d3327e99879c
P18 or other high-performance devices shouldn't use per-memcg so
it was disabled on those devices[1]. However, we didn't turn off
for system_server memcg so those devices still have two seperate
LRU groups which would have less efficient memory reclaim.
Therefore, this patch makes memcg use for system_server only if
per_app_memcg is enabled.
[1] https://googleplex-android-review.git.corp.google.com/c/platform/system/core/+/4178592
Bug: 110858093
Test: confirm via cat /dev/memcg/system/tasks is none
Change-Id: Ic0e3157bf8ff5de69767797b5508946ca3efeb68
Merged-In: Ic0e3157bf8ff5de69767797b5508946ca3efeb68
Signed-off-by: Minchan Kim <minchan@google.com>
(cherry picked from commit 5fa8af2b10)
ART is removing dependency on ashmem for naming maps. Due to this, the
naming of the mappings have changed. Rename them in the debug info so
that it is working.
Also remove "/dev/ashmem/libc malloc", its now "anon:libc malloc" which
is already tested earlier in the code.
Bug: 111903542
Change-Id: I5071384f87701af208d6471c66ba425ccbda22ec
Signed-off-by: Joel Fernandes (Google) <joelaf@google.com>
Signed-off-by: Joel Fernandes <joelaf@google.com>
This is very expensive and needs to run in the system process, we
don't want apps abusing it.
Also don't allow apps to get information about anything but their
own process, unless they have the appropriate privileged permissions.
Bug: 112537519
Test: manual
Change-Id: I01997d6f888341e8eb2afe6a69545dd5be013744
This is very expensive and needs to run in the system process, we
don't want apps abusing it.
Also don't allow apps to get information about anything but their
own process, unless they have the appropriate privileged permissions.
Bug: 112537519
Test: manual
Change-Id: I103a11f8d5b49fd4536795ea52c05de297698cb5
This is to be used by the new DhcpServer to add ARP entries with new
addresses before sending unicast responses.
Test: manual: cat /proc/net/arp with implementation based on this
Bug: b/109584964
Change-Id: I3559893583aa3c49b188ad689a41ee2f3e9d9bf3
Apps with WRITE_MEDIA_STORAGE permission will get
full access to external storage.
Bug: 111890351
Test: manual
Change-Id: Icbfe1f68c0bfca77bdc557e9903ded45994f5945
See CL I7a6a30bf8e8db9f2738594d187bb9148f138b8da for a more detailed
description of the change.
Test: see CL I7a6a30bf8e8db9f2738594d187bb9148f138b8da description
Bug: 80741439
Change-Id: I6cc9d713c07c319fc2ee1c531af41243bd1d4aee
Prior to this patch, we were taking the file descriptor owned by a
ParcelFileDescriptor, and passing it into ZipFileRO::openFd, which
expects to take ownership of the file descriptor, closing it upon
destruction. This leads to a double-close when the ParcelFileDescriptor
tries to close itself. Switch to passing a duped copy of the file
descriptor to ZipFileRO::openFd.
Test: `pm install foo.apk` with fdsan
Change-Id: Ida4ca4a37b82875dc4eef1f37bf2322c422fe038
(cherry-picked from commit b066087d65)