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
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
run VtsHalGraphicsComposerV2_2TargetTest will timeout failed
when there is dual displays. use `std::unordered_set` Display type,
`std::vector<Display>(mDisplays.begin(), mDisplays.end())` as
getDisplays return value, mDisplays elements order may not be
same as the order of hotplug events during boot matters.
We should store `mDisplays` as `std::vector`, since the order of
hotplug events during boot matters in determining the primary display.
Bug: 209409863
Test: run vts -m VtsHalGraphicsComposerV2_2TargetTest
Signed-off-by: Kui1 Wu <wukui1@xiaomi.com>
Change-Id: I628ad593640f28fb8a916822a91ac2c578cc299d