interfaces.
- Add new Android.bp in graphics folder and wrap composer and common
AIDL in to separate cc_defaults.
- remove composer3 dependency from allocator's VTS .bp file.
Bug: 243429120
Test: builds
Change-Id: Ia91e4ab87b7ac86248094317185b317d5604e654
When we run the VTS of GraphicsComposerAidlCommandTest, we always meet
segmentation fault issue in some test items. VTS test items crashed
when it deleted the layer or display from resource manager and try to
go next loop.
The problem is the test item try to delete the layer iterator or
display iterator in the loop, so the iterator become an invalid
iterator. Then it try to use the invalid iterator for going to next
iterator. This behavior caused segmentation fault. We use different
way to fix deleting layer and deleting display.
Delete layer: Test item always delete all layer for each display, so
we always delete layer via get the first iterator until
the resource manager is empty.
Delete display: Test item only delete virtual display, so we move the
physical display to a temporary map. After delete all
virtual display, we swap the temporary map and
original map.
Bug: 243781450
Test: 1. test GraphicsComposerAidlCommandTest.SetLayerColorTransform
for deleting layer
2. test GraphicsComposerAidlCommandTest.SetOutputBuffer
for deleting disply
Change-Id: Id467df658e78ed29fdfc039cabc119f8bf62d69d
When we run the VTS of GraphicsComposerAidlCommandTest, we always meet
segmentation fault issue in some test items. VTS test items crashed
when it deleted the layer or display from resource manager and try to
go next loop.
The problem is the test item try to delete the layer iterator or
display iterator in the loop, so the iterator become an invalid
iterator. Then it try to use the invalid iterator for going to next
iterator. This behavior caused segmentation fault. We use different
way to fix deleting layer and deleting display.
Delete layer: Test item always delete all layer for each display, so
we always delete layer via get the first iterator until
the resource manager is empty.
Delete display: Test item only delete virtual display, so we move the
physical display to a temporary map. After delete all
virtual display, we swap the temporary map and
original map.
Bug: 243781450
Test: 1. test GraphicsComposerAidlCommandTest.SetLayerColorTransform
for deleting layer
2. test GraphicsComposerAidlCommandTest.SetOutputBuffer
for deleting disply
Change-Id: Id467df658e78ed29fdfc039cabc119f8bf62d69d
Some HW may not support crop function for decoration and current API
can't query this capability. Configure decoration layer to full screen
to avoid this limitation.
Bug: 225765061
Test: VtsHalGraphicsComposer3_TargetTest
--gtest_filter=*DisplayDecoration*
Change-Id: If47154adf9d48f9c1b8390b4bee090d8bf40ff3b
(cherry picked from commit 7d55d4269d)
Merged-In: If47154adf9d48f9c1b8390b4bee090d8bf40ff3b
(cherry picked from commit 308f4ac906)
Merged-In: If47154adf9d48f9c1b8390b4bee090d8bf40ff3b
We used "default" value for the allocator in the test
and this value was used as is for the AIDL allocator.
This caused the test to fail because we were not able to acquire the
appropriate allocator as AIDL allocator instance is not named "default".
Update the test to use the correct instance name for AIDL allocator,
if available.
Test: atest VtsHalGraphicsComposerV2_1TargetTest
atest VtsHalGraphicsComposerV2_2TargetTest
atest VtsHalGraphicsComposerV2_3TargetTest
atest VtsHalGraphicsComposerV2_4TargetTest
atest VtsHalGraphicsComposer3_TargetTest
BUG: 234671596
test results after updates:
VTS 2.1 : http://ab/I84600010058657636
VTS 2.2 : http://ab/I51800010058498973
VTS 2.3 : http://ab/I87700010058914863
VTS 2.4 : http://ab/I88900010058592031
VTS 3.0 : http://ab/I96200010058838905
Change-Id: I04ae1a18d757cfd941d4929ad08f6bb2c8643f76
Some HW may not support crop function for decoration and current API
can't query this capability. Configure decoration layer to full screen
to avoid this limitation.
Bug: 225765061
Test: VtsHalGraphicsComposer3_TargetTest
--gtest_filter=*DisplayDecoration*
Change-Id: If47154adf9d48f9c1b8390b4bee090d8bf40ff3b
When there is no HIDL IAllocator installed on the device, then these
tests must still run.
Bug: 231982605
Test: VtsHalGraphicsMapperV4_0TargetTest
Change-Id: If7503d398c03086df470971cc2c10029270525f9
The common decode function for optional gralloc4 metadata
`android::gralloc4::decodeOptionalMetadata()` treats an empty
input `hidl_vec<uint8_t>` as `std::nullopt` and not a bad
value. aosp/1907915 previously tried to update the encoding
and decoding of optional metadata in order to distinguish
this case but the change broke GRF. Instead, let's update the
SetBadMetadata test to use some actual incorrect data for the
optional metadata tests instead of an empty vec.
Bug: b/207388558
Test: cvd start
Test: VtsHalGraphicsMapperV4_0TargetTest
Change-Id: I87c20930cb701e87c89489bd0359cce0522cfe44
Before checking the service specific error
we need to check that getExceptionCode returns
EX_SERVICE_SPECIFIC error code. Added a method and
used that to do the two checks together for exceptionCode
and for the service specific error code, so that we don't
repeat two lines in all the tests that need them.
EXPECT_NO_FATAL_FAILURES print the correct line number of the test
or iteration of the test when used with helper functions, and
testing guidelines recommend it too here: go/gunitadvanced#propagating-fatal-failures
Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 205152739
Change-Id: I1d3c3aa9b34dcefb14be507ff61b73b6f08a5204
P010 is mandated for vendor versions that are at least api level 33.
Gralloc versions below this may not support P010 due to lack of
enforcement, but tests for already-shipping devices must still pass.
Bug: 220360702
Test: VtsHalGraphicsMapperV3_0TargetTest
Change-Id: I7ba268713bada133491813aa3c9bd87fdecd2fef
* changes:
Implement getInterfaceHash/Version for SoundTrigger
Add -Wno-missing-permission-annotation for soundtrigger3
V3 is the latest version of keymaster HAL interface
Freeze AIDL APIs for TM
Plumbing this enum to RenderEngine requires knowledge of the intended
transfer function to apply the dimming stage in. Because this is
expected to be a contrained use-case and because apis are frozen,
document that RenderEngine is allowed to assume that the resulting
dimming matrix may be gamma corrected using a 2.2 power function.
Bug: 218954037
Test: builds
Change-Id: Ie7d357f8ce79295af017d80c62a2759dbccce5d2
This Capabiliy::BOOT_DISPLAY_CONFIG will make
the display boot display config optional on the HWC3.0
BUG: 216113429
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I3be3383922fdd91e0bbccebd3c73e458753b749f
If validateDisplay returns an error, changed composition types are not
propagated back to the caller. Remove the expectation that they will be.
Fixes: 221406264
Test: this
Change-Id: I3e07e40b0c12a2cf6eaa685435647aab93172bb0
This change was missed while cherry-picking
I5675c16f0895f9958e3bee3ee4c85df8937ecdb7 due to merge conflicts.
So...actually merge this.
Bug: 218954037
Test: builds
Change-Id: Idb3a518f7dfd4f4fd598672ee709ccd5b1f3f06a
This is the error returned by cuttlefish, not EX_UNSUPPORTED_OPERATION.
This also matches other tests, e.g. SetDisplayBrightness.
Bug: 209458568
Test: this
Change-Id: I885767c4f1c42edfb11359b36852a863cbc8b0ed
* Add a DimmingStage to the client target configuration reported by HWC,
which may be used for some vendor color modes to configure when
dimming should occur during client composition
* Communicate the display brightness in nits, so that HWC
implementations do not need to parse the per-display xml to map from
display brightness to nits. Furthermore, this is more plausible for
extensibility for external displays.
Bug: 220396224
Bug: 218954037
Test: builds
Change-Id: I5675c16f0895f9958e3bee3ee4c85df8937ecdb7
An earlier patch replaced white point nits with a per-layer brightness.
This patch does the same for providing the brightness space of the
client target relative to the display brightness.
Bug: 217961164
Test: builds, boots
Change-Id: I1be65f7c511fefa239305e0735637126a1cd6622
Merged-In: I1be65f7c511fefa239305e0735637126a1cd6622
vts is moved from aidl/android/ to aidl/vts
functional, include & composer-vts directory is removed as well.
BUG: 220171967
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I6cafbbd99374308a1cc06e27cc590e70618f7075
Allow getDisplayDecorationSupport to return an error, and treat that as
unsupported. This allows Cuttlefish, which, with
I91105fc3345dbd75aeb0b102f3f0138fa33120c0, returns Unsupported, to pass
the test.
Bug: 209458568
Test: this
Change-Id: I8e17d3c0ca0ac4eacb0b5e4c8ae540f271e68a23
aidl already have a dump funciton, so there is no need to
expose a custom dumpDebugInfo from IComposer.
Bug: 220171623
Test: atest VtsHalGraphicsComposer3_TargetTest
Test: adb shell dumpsys SurfaceFlinger
Test: adb shell dumpsys android.hardware.graphics.composer3.IComposer/default
Change-Id: I5036193c06ba9fdd8aa5f79cd756541d9edc146c
* Timed out runs do not show any warning messages.
* These test files cannot finish clang-tidy runs with
the following settings:
TIDY_TIMEOUT=90
WITH_TIDY=1
CLANG_ANALYZER_CHECKS=1
* When TIDY_TIMEOUT is set, in Android continuous builds,
tidy_timeout_srcs files will not be compiled by clang-tidy.
When developers build locally without TIDY_TIMEOUT,
tidy_timeout_srcs files will be compiled.
* Some of these test modules may be split into smaller ones,
or disable some time consuming checks, and then
enable clang-tidy to run within limited time.
Bug: 201099167
Test: make droid tidy-hardware-interfaces_subset
Change-Id: I1de28f1572fff368f67eab512fffec9f2e5c2a9b
The upper layers will treat this failure as a lack of support, so make
the test do the same. This allows the test to pass on flame.
Bug: 219606432
Test: atest VtsHalGraphicsMapperV4_0TargetTest
Change-Id: I57eab60de81989cae59baa8c25b53a1c94229187
Check for support via getDisplayDecorationSupport. If it is supported,
verify that we can allocate a buffer of the correct format and that
Composition.DISPLAY_DECORATION can be used without error. If it's not
supported, expect an error of EX_UNSUPPORTED_OPERATION.
Bug: 209458568
Fixes: 209458568
Test: atest VtsHalGraphicsComposer3_TargetTest (this)
Change-Id: I0a62a0ce3f8fd3a2d6088f94ce1ad0840d9c6faa
When we have a fence created with GraphicBuffer
We don't need to wait on it in VTS tests,
the composer should be able to handle the
fence in this case
BUG: 219589185
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I688d695bb562dd1fe86cdceb642e746cbafe8b30
For multi-display order of the hotplug matters, and vector
maintains the order that we need for the multi-display.
see: ag/1921760 for partner cl on HIDL.
BUG: 210920960
BUG: 209409863
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I4f9a86413f20c860fc0bc3850a14335d62de881a
Client composition test was broken because there was a buffer
created at the test creation and this is not how
this test works for client composition trigger.
And for the fence that was used is different from what it
needs previously fence was acquired through gralloc but now
it's internal to the Graphic Buffer and we no longer
have to wait for the fence to signal it's taken care
by the graphicBuffer->unlock call, the unlock call waits
for us.
See for unlock https://source.corp.google.com/android/frameworks/native/libs/ui/GraphicBufferMapper.cpp;rcl=HEAD;l=139
BUG: 216170021
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I8fa25d8910a4e2b1df2f0e2270445a658e3b1a39
HIDL tests don't have any buffer created when test execution starts and with GraphicBuffer that wasn't the case.
We only initialize the buffer when required the way gralloc implementation did.
BUG: 199413815
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I3aeec5b00e30e636de2e58cf7e6ced5539ae19b6
There are several reasons for limiting the notion of white point nits in
the composer interface:
1. Some KMS apis exposed by drivers only expose a notion of a per-plane
brightness. While these are non-mobile drivers, e.g., nouveau, this
does indicate that white point is not directly going to be understood
by typical hardware
2. Changing the brightness without requiring a frame update introduces
implicit state in composer. If the brightness and white point nits
for a set of SDR layers are 200 nits, and the brightness changes to
205 nits to respond to ambient conditions, then composer must not dim
the layers, and in fact DisplayManager will tell SurfaceFlinger that
the SDR white point will be 205 nits. But SurfaceFlinger will not
tell composer that the SDR white point changed as that would
otherwise introduce a re-composition cycle, meaning that
HW Composer must track somehow that the layer white point changed
without a corresponding change on the layer data structure, which is
confusing.
3. It's poorly defined what the dimming ratio should be if
SurfaceFlinger provides the following inputs: Layer A has a white
point of 200 nits, Layer B has a white point of 400 nits, and display
brightness is 300 nits. Current implementations may clamp the
brightness of Layer B to be 300 nits and dim layer A by 2/3s, but
there is an equally valid interpretation which is just dim Layer A to
be 50% of Layer B's brightness.
4. The problem indicated by (2) and (3) suggests that layer white point is
really an up-stack concept, that SurfaceFlinger can be aware of for
properly computing the dimming ratios it can send to composer, but
the composer hal shouldn't really be speaking in terms of nits.
Note that this patch does not yet change the interface for
ClientTargetWithNits, which may be done in a follow-up patch.
Bug: 217961164
Test: builds, boots
Change-Id: I4a1b4e8c300d22599a5683bd44b7b8afa9a29425
add apex_available clauses to interfaces which were being allowed
by list stored within the apex toools
Bug: 215589022
Test: build
Change-Id: Iaf5d1b80e6b35f765d6b7a59ce7f28d4fa5098a4
In case a user fails to call setDimensions() prior to several
other methods on this class, we at least want to have consistent
behavior that's easy to debug.
Test: TreeHugger
BUG: 199413815
Change-Id: Iee7681ed855cf6ebf9e436e0d2864e0fc9cb4025
* changes:
Remove test `GetDisplayAttributeConfigsInAGroupDifferOnlyByVsyncPeriod`
Use Wrapper in the readback tests.
Use VtsComposerClient in Base test
IComposerClient wrapper for VTS tests
The test is removed from aosp so won't be required in HWC3.0
BUG: 200184776
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I21f0ccf94d1d92a730a41b579bf111fa0553f609
Makes corrections to the code such as checking EXPECT_TRUE, ASSERT_TRUE in certain cases, test name corrections, consolidate layer configurations.
See comments in ag/16465080 for change refrences.
BUG: 199413815
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I73c4621d8c525fdfbcd301d78a1ad97c142b2864
A wrapper helps with implementation details of IComposerClient and
improves re-usability with readback and base tests.
Changes from the original wrapper (ag/16578214):
Changed the createClient to return ScopedAStatus
as it helps more with the singleton test.
And updated getDisplays to go through all the configurations
and save it in the DisplayResources as we use
the properties like width, height, vsync later
in the test and we avoid querying to the composerClient for this.
With readback tests updated setReadbackBuffer method to use
const native_handle_t* buffer instead of const native_handle* buffer
BUG: 199413815
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: Ia33c9489bf15a52edcae55a91ec56666df3726c1
Different hardware may prefer different formats for DISPLAY_DECORATION
layers. Add a new struct with two enums: one for the format, and one for
how to interpret the alpha. These two properties are orthogonal.
Add IComposerClient.getDisplayDecorationSupport for retrieving the
struct. I0c2fbc78cf5e4e97cede4762699a1ecc98620919 demonstrates a sample
implementation.
Remove the DisplayCapability.DISPLAY_DECORATION, which is replaced by
this.
Bug: 216644902
Test: manual
Change-Id: I27f119f927b23052c5fd8f068cbca75338fe7b91
This will allow SysUI to access the same struct (in
I27f119f927b23052c5fd8f068cbca75338fe7b91) that HWC uses to describe
its support for DISPLAY_DECORATION.
@hide each API individually. SysUI can access hidden APIs. Otherwise
leave the AIDL files are unchanged.
Bug: 216644902
Test: make
Change-Id: Id33f76e4c55b22d007c7e2314a4dfb778562bace
Also adds recommended combination for FRONT_BUFFER as
that was feedback from implementers
Fixes: 217752219
Test: N/A doc only change
Change-Id: I086597d14cc7d9d1a0b620b73297aaa3e6288773
This reverts commit 634340d6a8.
Reason for revert: No one is using it, I will make a cl with usage of the wrapper along side this and reupload it.
Change-Id: I3ff3427fc9e81d53fd47a082ab027441f5dc8a66
A wrapper helps with implementation details of IComposerClient and
improves re-usability with readback and base tests.
BUG: 199413815
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I627748d1c779eaacf92ff6fb5ccf3138a3024681
Remove the word asynchronous and insteam explain
that the cursor position can be updated without a validate/present.
Change-Id: Ia01bc097bc335779dba4e06577c285ca133dfd02
Fixes: 209711877
Test: make
Adds a Capability param as BUFFER_AHEAD to check if
BufferAhead is supported.
Test: Device boots after these changes.
BUG: 198186628
Change-Id: Ic0f3e602635a2519f4e90c546dfca1af985116f9
Devices that do not support this metadata are not required to support
getting or setting it on gralloc buffers, as SMPTE2094-10 is only used
for some HDR standards that are not guaranteed to be supported.
Bug: 205245993
Test: builds
Change-Id: Ic3501230015ddce49ce977963356c0578af7c50f
Stride must be retrieved from the graphic buffer immediately prior to
CPU access. The previous code was tripped up by an error-prone situation
where stride was never initialized, causing UB.
Also this patch sneaks in a couple of const modifiers for methods that
pass-by-ref.
Bug: 213493262
Test: VtsHalGraphicsComposer3_TargetTest
Change-Id: Ic601cca128b71d36876ed25bd55140b02cb0ad0f
If there's no readback buffer, then the status is NOT ok(), and the
returned fence must be -1.
Bug: 213493262
Test: VtsHalGraphicsComposer3_TargetTest
Change-Id: Iff1b6e04126bfcc748f0f8d173f63244bfd83be4
Without this flag, the composer will fail to PRESENT the buffer on
the systems that do not have IOMMU support and can scanout contiguous-
only buffers.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
Change-Id: I566534a2a1fb602c0ce69ef861805d4fb03d7c47
Add new functions to control display idle timer
- Adding an API to r configure display idle timer.
- Extend DisplayCapability to query display support idle timer.
- Adding an callback for notify client the display is idle, the refresh
rate changed to a lower setting to preserve power and vsync cadence
changed. The client can enable vsync callback to learn the new vsync
cadence before sending a new frame.
Bug: 194068871
Bug: 198808492
Test: build, vts
Change-Id: I47649d222022922926a05f2d700ca798f8f48b35
* Tests exercising that a bad readback buffer is sent should actually
use a native_handle from a deallocated buffer rather than a valid
handle, since that would still work
* Creating a readback buffer should not require passing in a buffer at
construction. Instead ReadbackBuffer should always allocate its buffer
internally whenever a new buffer needs to be generated.
* Passing the readback buffer's fence to lockAsync should be a dup'd fd,
as lockAsync takes ownership of the fence
Bug: 213493262
Test: VtsHalGraphicsComposer3_TargetTest
Change-Id: I73396f982cf9a67f0dd81eaed509cf9cc7b03314
Dimming is only verified if setting display brightness is supported. The
test then does:
* Sets the display brightness to max, which is the same nit level that
is found in the display xml file
* Dims a layer by 10%
Bug: 213493262
Test: builds
Change-Id: I3b552682276be26fefd7ae5586ba42af0e574e31
No readback tests as of yet, as that will necessitate a new api to get
the max display brightness, so that we can max out the brightness -> use
well-defined dimming ratios
Bug: 213493262
Test: builds
Change-Id: I0166dc67f4c52919c02ab7abbf47701e6be3d983
We want to expose GraphicBuffer properties via
ExternalTexture class and within, SurfaceFlinger access the
buffer via this proxy interface. This allows us to inject
and mock GraphicBuffers as needed. Specifically this will
be used to recreate layer state from transaction traces.
Test: compiles
Bug: 200284593
Change-Id: If2b6c43bb5b302fbc49dfa49d6ac1f79f92f30f7
Without ASSERT the next call to take the first element will crash the instrumentation for the tests.
BUG: 210151839
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I2c78b9130661e543e62138c064ab15dd79180920
Color is represented as a float [0.0 - 1.0] in the upper part of
the stack, so make composer3 interface consistent.
Bug: 207139550
Test: VTS
Change-Id: Ic14288b5c87ff5cccfc9a0756d2630b8715759f7
Test_expectedPresentTime might fail due to scheduling delays.
To avoid that, we test that the actual presentation didn't
happen too early, but we allow for a late presentation.
Bug: 198186194
Test: VTS
Change-Id: I9be4bfe5a848443e69ef7b62ffb3dae675a9b81f
1. Remove the setDisplayBrightness method, as it's been moved to a
display command
2. Rename the WhitePointNits stable stuct to Luminance, since it's a
more general descriptor.
Bug: 210151839
Test: builds
Change-Id: Ic948dce737ce718772100b0e976ec93069d5e8e1
This hint tells the HWC that it may use a blocking feature to skip a
portion of the layer's buffer.
Bug: 212736475
Test: TODO (b/213361853)
Change-Id: Ib0fa41e56196feeff201637d5599830d2565da2b
1. Add setDisplayBrightness as a display command, so that it may be
set atomically with composition updates for that display.
2. Adjust tests to set display brightness using display commands.
The setDisplayBrightness api on IComposer should be deprecated. It will
be removed in a follow-up patch.
Bug: 210151839
Test: builds
Change-Id: I2e4348e1d7f799d1744390afbb9bd206054eb933
The first time this topic landed, it resulted in b/212402133. We avoid
running into this bug with Ib11d46439db57b90486bad07dd90f2cf0822182a.
Remove references to 8 bit alpha.
Original commit message:
After some discussion, we've decided to always set the ScreenDecorations
to DISPLAY_DECORATION. HWC can decide, based on the format, whether to
truly treat it as DISPLAY_DECORATION, or to change to DEVICE
composition.
Update the documentation to reflect this change.
See also I1da3199bacf5877e88876249c60c0a33fcd44c1e.
Bug: 193170859
Test: NA
Change-Id: Iaf5385c38f6827e07b91a9a0a8769fb7a125e847
The test process was crashing on null pointer instead of exiting
successfully, so fixing the null pointer error.
Test: VTS
Change-Id: I1d6988d25ed58c159adc49d43d36e4b3f0ffa289
- No one is using the translate functions, so removing.
- Rename the static_assert portion to Hidl2AidlAsserts
Test: build
Change-Id: I42abc37953e1d927a3bcf5f60f56acf99fde6bf5
HIDL expects that Presented will be 1 and Validated witll be 0.
Even though we map the enum values of PresentOrValidate.Result
to the correct value, this CL makes the interface consistent with
the HIDL so that we can directly use the enum value.
Bug: 208856704
Test: VTS
Change-Id: I9fb2421e32c2288c5495422eda6764f6102337f0
Add @nullable to the releaseFence in IComposerClient.setReadbackBuffer
as it can be null, if the buffer is ready to be consumed.
Bug: 210166943
Test: VTS
Change-Id: Ic556ceabd22ba8acddf37ca7d9a6d14d41697c5b
There are no current users for GenericMetadata, so removing
from composer 3.
Bug: 209691612
Test: VTS
Change-Id: I729a3646d9684c78454708fd15f1571aa405e9bb
Remove the hint from DisplayCommand.colorTransform as currently
we only use ColorTransform::IDENTITY and ColorTransform::ARBITRARY_MATRIX,
which both can be expressed using a matrix.
Bug: 208879711
Test: VTS
Change-Id: Ibb24593e3d0af5afdc8f3f79de2fc22eeccfcea8
After some discussion, we've decided to always set the ScreenDecorations
to DISPLAY_DECORATION. HWC can decide, based on the format, whether to
truly treat it as DISPLAY_DECORATION, or to change to DEVICE
composition.
Update the documentation to reflect this change.
See also I1da3199bacf5877e88876249c60c0a33fcd44c1e.
Bug: 193170859
Test: NA
Change-Id: I1fae74b360d1b9d79fc4afeab6f71089d4c8b7e5