Modules contributing mainline modules (APK/APEX) should set
min_sdk_version as well as apex_available.
For now setting min_sdk_version doesn't change build outputs.
But build-time checks will be added soon.
Exempt-From-Owner-Approval: cherry-pick from aosp
Bug: 152655956
Test: m
Merged-In: Ifea5ed988fad2e0d29271e6e9cbf0e12100b37d9
Change-Id: Ifea5ed988fad2e0d29271e6e9cbf0e12100b37d9
(cherry picked from commit a395c8d9aa)
The configstore service was deprecated. So change to use sysprop
instead of configstore.
Bug: 124531214
Test: m -j
Change-Id: I5367b5715c797facd37736eee84651addbaa230d
Merged-In: I5367b5715c797facd37736eee84651addbaa230d
(cherry picked from commit 8e852f5231)
getClientTargetProperty will give hardware composer the ability to request some
properties of the client target that hardware composer wants. Prior to this
API, the client will does its best to produce the client target of which the
properties are pretty much fixed.
This patch implements the parsing of SET_CLIENT_TARGET_PROPERTY command in
order to get the client target property from hardware composer.
BUG: b/145968912
Test: m -j32
Change-Id: I3e738b2617e4472c7876aa283c0964e2240b144b
Add the new functions to DisplayHardware wrappers. The following CLs
will do something useful with the new functionality.
Test: rev up composer to 2.4 and test refresh rate switching
Bug: 141329414
Change-Id: Iaf98d0abc56dd393845b16c87dd92b0bad582c0f
Add plumbing for getDisplayCapabilities and getDisplayConnectionType.
The only functional change is that getDisplayType is no longer called
on hotplug.
Bug: 135929065
Bug: 134771872
Test: Rev HAL to 2.4 on crosshatch
Test: libsurfaceflinger_unittest
Change-Id: Ib2c0383397acef9cde860dd64182213ae7cbb286
The hardware_composer caches the edid when a new hotplug event fires
(connected and disconnected). The display services uses this cached edid
when the edid is requested.
Bug: 141007548
Test: Manual, ran on mtp device with wave optics plugged in and
unplugged and verified edid with: "adb shell dumpsys SurfaceFlinger --display-id"
Change-Id: I4556e1d8a3f8677b1d9301d9afbc40d514c86e27
Since these were combined into libhidlbase.
Bug: 135686713
Test: build only (libhwbinder/libhidltransport are empty)
Change-Id: Iec1802ce9226570d3a02cc5242f7ca72e1370635
Since they are no longer being exported, instead using the name of the
constant as exported by libbinder.
Bug: 124524556
Test: TH
Change-Id: Id525d8b6dea527c26c92981624d4780e1ff4a62f
Fix for issue: "[GSI XR] VrFlinger doesn't work on GSI/MTP845."
The flow that causes the issue is:
SurfaceFlinger gets an hotplug event and adds a display id of the
internal display (For instance, display id of 19260371107735809). This
display id gets added to the HWComposer through the hotplug event.
When updateVrFlinger() is eventually called in SurfaceFlinger, a new
HWComposer is created which has no display ids being tracked in
HWComposer. Another hotplug event starts from vr_hwc.cpp, which has a
display id of 0. SurfaceFlinger receives this hot plug event so
SurfaceFlinger has an display ids of [19260371107735809, 0]. HWComposer
only has display id 0.
Next processDisplayChangesLocked() is called in SurfaceFlinger and a new
FramebufferSurface is created with display id 19260371107735809.
In the FramebufferSurface it tries to call getActiveConfig() in
HWComposer with the display id of 19260371107735809, which HWComposer
does not know about. This results in a crash.
The display id is created from the edid data and display port.
The fix is to have the vr_hwc return the same edid data and display port
as the internal display. This will make the display id originating
from vr_hwc be the same as the internal display id. SurfaceFlinger
will now only have the display id of 19260371107735809, since it does not
overwrite the same display id on the hotplug events. HWComposer will only
have display id of 19260371107735809. The SurfaceFlinger and HwComposer
display ids match the code works correctly now.
This is accomplished by creating a version 2.0 of the vr_composer_client
and having vr_hwc inherit from version 2.3 instead of version 2.1 of the
composer hal. These changes are required to be able to pass through the
edid data. The display port and edid data is retrieved by vr_hwc via the
display_client.
The other required changes needed for this to work is:
ag/9215156
ag/9226524
Bug: 137325030
Bug: 138938154
Bug: 137448042
Test: manual - ran through modified unit test to make sure the edid data
was returned on the MTP 845.
Change-Id: I1c54e6cfda348260cf1013d6dca0dda58acb3b3c
This change removes the "persist.vr.use_external_display" property and
updates the code path to always allow external displays.
Bug: 140287770
Test: Manual, ran on device and verified that it works
Change-Id: I8bedeb18c93b2a9dc3815177aa9a6a897b63c81e
Bug: 138398637
Test: manual - ran through modified unit test to make sure the edid data was returned on the MTP
845.
Change-Id: I171cf90d005a09a9cb6ee1081efee653cce47c4a
Logs that indicates possible racing between consumers and producers of
a buffer are removed because they are expected to race each other.
Log that indicates possible racing in bufferhubd is moved from info
level to verbose level.
Test: vega runs without libbufferhub log spam
Bug: 129544259
Change-Id: I9307602797ff9c1bbc774264682a83bf4ddd0240
(cherry picked from commit b9d077f9be584114c39ac8417452cd20817c0236)
Previously, SurfaceAttributeTypes was not skipped if device boots to VR.
However, currently, display manager client cannot be created on devices
boots to VR, and thus, SurfaceAttributeTypes should also be skipped.
Test: dvr_api-test on walleye_xr
Change-Id: I7231808de1c0c6c67528d496711494627ac98df2
Fix: 121329335
Bufferhubd, its client libraries and tests were failing due to
libcrt change. However, they no longer fails on master branch TOT now.
This change removes the libcrt switch that were introduced in b/117565638.
Bug: 117568153
Bug: 117565638
Test: on phone targets (blueline crosshatch taimen)
BufferHub_test BufferHubServer_test VtsHalBufferHubV1_0TargetTest
Test: on phone_xr targets (blueline_xr crosshatch_xr taimen_xr)
the above tests and the following tests:
buffer_hub-test dvr_api-test dvr_buffer_queue-test dvr_display-test
buffer_hub_queue-test buffer_hub_queue_producer-test
Change-Id: I469dd939826df30ee6893d34c510da448fba6b9e
Violation: variables should be lowerCaseCamel in the following directories:
frameworks/native/libs/ui and frameworks/native/services/bufferhub
Test: m, mma
Bug: 68273829
Change-Id: I7dc56ec17089456f98b018032f04f779b12632b2
Android Framework C++ Code Style Guidelines says that function names
should be camelCase: http://go/droidcppstyle
Test: m, mma in frameworks/native
Bug: 68273829
Change-Id: I2f661c06b31b2e72cd0eee3d91b95531b60ec939
User should be using GraphicBuffer/AHardwareBuffer::Lock/Unlock to lock/unlock
for CPU access to the data in the buffer.
BufferHubBase::Lock/Unlock exist were because this legacy class has IonBuffer,
which wraps a GraphicBuffer. The dependency will be reverted in the future, where
BufferHubBuffer backs GraphicBuffer.
Bug: None
Test: m, mma, vrflinger_test
Change-Id: I3e3287529326dce3ae57e344c5c738b898c3d44d
because the eventfd should not be polled directly after
Consumer/ProducerBuffer are backed by BufferHubBuffer.
The only current instances of BufferHubBase::Poll being used are in
buffer_hub-test
Bug: None
Test: m, mma, buffer_hub-test
Change-Id: Iac586086aed54510c1a8bae020e5ca24d8fd065e
This method is not used in DVR buffering system. BufferHubBuffer may
consider having it later when it meets an use case when the buffer
contains multiple fds in buffer handle, and directly have it implemented
in BufferHubBuffer class.
Test: build
Bug: None
Change-Id: I95cd71d936695eeb77bd049f43fe350fb60d9154
surfaceflinger, installd and libvrflinger are using set_sched_policy
which is moved into libprocessgroup. Add libprocessgroup dependency
and include required headers.
Exempt-From-Owner-Approval: janitorial
Bug: 111307099
Test: builds, boots
Merged-In: Iccb7c54a85ca148d44ce687fe05e89ad4369e104
Change-Id: Iccb7c54a85ca148d44ce687fe05e89ad4369e104
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
surfaceflinger, installd and libvrflinger are using set_sched_policy
which is moved into libprocessgroup. Add libprocessgroup dependency
and include required headers.
Exempt-From-Owner-Approval: janitorial
Bug: 111307099
Test: builds, boots
Change-Id: Iccb7c54a85ca148d44ce687fe05e89ad4369e104
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Both of them used to be the PDX backend of DetachedBuffer (now
BufferHubBuffer) and now not needed as we have the hwbinder backend.
Test: buffer_hub-test, BufferHub_test
Bug: 118891412
Change-Id: I000042ee6f23f98fabcdd60eb2aedda928769314
Entirely move BufferHubBuffer off pdx dependency and using hwbinder
backend and rewrite test cases to fit in current behavior.
Remove duplicated test cases in buffer_hub-test. Commented out
BufferHubBuffer related parts and remove related include and using
statement.
Add hidl interface dependency to libs/gui build file to avoid compile
errors.
Test: BufferHub_test, GraphicBuffer_test, buffer_hub-test
Bug: 116681016
Change-Id: I9d8f734f681e04d3d50b7a02c27b17df8c66cbad
* Add explicit to conversion constructors/operators
* Use NOLINT or NOLINTNEXTLINE to suppress warnings on intended converters
Bug: 28341362
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,google-explicit-constructor
Change-Id: I3631041531e3fb5cbcee246a7e7bb94fb06aa60b
Previously, producer only post to all current clients of the buffer
except for the producer itself. In this change, producer post to all
existing and non-existing clients of the buffer except for the producer
itself.
Fix: 120869419
Test: Vega is able to recover itself during DON after killing vrcore
or compositor process.
Test: on vega_xr and blueline_xr with the following tests
buffer_hub-test buffer_hub_queue-test dvr_buffer_queue-test
dvr_api-test libdvrtracking-test(vega only) buffer_hub_queue_producer-test
Change-Id: I29f24268b7704fbeb06a4302b11dcd89dd13c133