Commit graph

876 commits

Author SHA1 Message Date
Ying Wei
af54782a2a Improve log message.
Add more information to the failure message: now it looks something like `Failed to get a callback for Display 0 switching from {Config 38: vsyncPeriod 4166666, minFrameIntervalNs 16666667} to {Config 37: vsyncPeriod 8333333, minFrameIntervalNs 8333333}` instead of `failed to get a callback for the display 0 with config 37`

Test: atest VtsHalGraphicsComposer3_TargetTest:PerInstance/GraphicsComposerAidlCommandV2Test#SetRefreshRateChangedCallbackDebugEnabled_SetActiveConfigWithConstraints/0_android_hardware_graphics_composer3_IComposer_default

Bug: 340971724
Change-Id: Id2a1030a9b12e86bda8f6031e79a8374227f4061
2024-05-17 16:31:12 +00:00
Manali Bhutiyani
18f658cde4 Merge "DisplayDecoration test: destroy layers per display" into main 2024-04-18 16:37:56 +00:00
Leon Scroggins III
c2a83d449c DisplayDecoration test: destroy layers per display
This appears to have been broken with
Ic3c0415612b1387671ab8efa0ec95ed727f6bf68, which attempts to destroy
layers for all displays using a single writer. The display command that
destroys a layer must be in the writer for that display, in order for
the displays to run independently. Do so in the test itself, rather than
relying on TearDown to destroy all of them.

Bug: 333974982
Test: atest VtsHalGraphicsComposer3_TargetTest
Flag: TEST_ONLY
Change-Id: Ib6807c85bc6cb32c56cc72126a9fa68363365912
2024-04-17 14:49:20 -04:00
Ram Indani
8892a927f4 Merge "[Composer-VTS] Check minFrameIntervalNs to check if rate is changing" into main 2024-04-05 23:00:28 +00:00
ramindani
3ba7334dba [Composer-VTS] Check minFrameIntervalNs to check if rate is changing
With different VRR modes we may have 2 modes with
exactly the same minFrameIntervalNs, and in this case we can't
differentiate between 2 modes.

Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 328350178
Change-Id: I5cddfee8b789ed6ce1b223ec345175f19a0db091
2024-04-04 11:34:40 -07:00
Manali Bhutiyani
f687f7f7b8 [vts] Fix VTS batched-command tests
Fix VTS tests per comments in b/304976052.
Removing redundant tests, as existing CreateLayer, DestroyLayer,
 CreateLayer_BadDisplay and  DestroyLayer_BadDisplay
already provide the needed coverage.

Bug: 304976052
Test: atest VtsHalGraphicsComposer3_TargetTest
      atest PerInstance/GraphicsComposerAidlBatchedCommandTest
Change-Id: I34cb6a69aad6d8f86772a82833b8f15e465fe8d3
2024-04-04 18:20:30 +00:00
Leon Scroggins
9375782730 Merge "Provide better documentation for CommandErrors" into main 2024-03-15 15:09:35 +00:00
Leon Scroggins III
5e2c3fe166 Provide better documentation for CommandErrors
Some HWC implementations which do not support DISPLAY_DECORATION are
handling DISPLAY_DECORATION layers in VTS by reporting an error (as
required by the test) AND by proposing ChangedCompositionTypes. The
latter is unnecessary, as SF will never read the changed types. Update
the documentation to be more specific that this is unnecessary.

Bug: b/324977561
Bug: b/329119344
Bug: b/329017438
Bug: b/327322951
Bug: b/327090469
Test: GraphicsComposerAidlCommandTest#DisplayDecoration
Change-Id: I09c90e40818dc43b968c3e79e61e8b13a13e6344
2024-03-14 16:43:14 -04:00
Kiyoung Kim
09639b93ba Remove VNDK definition(s)
As of VNDK deprecation, any libraries that defines vndk is no longer
valid anymore. This change removes all VNDK definition(s) from modules
which was VNDK. Any former VNDK-SP libraries will be marked as double-loadable,
so it can keep be able to be referenced by LLNDK libraries.

Bug: 328994089
Test: AOSP CF build succeeded
Change-Id: Ic4f19113c1a25dc1fb60cdfbf9c0f2d8d7d09726
Ignore-AOSP-First: Merge conflict
2024-03-13 11:28:18 +09:00
Devin Moore
9eec1433fa Merge "Vendor API level 202404 is now frozen" into main 2024-02-29 17:14:40 +00:00
Sally Qi
9b9ab2b71f Merge "Add vts case for OverlayProperties#isMixedColorSpacesSupported." into main 2024-02-27 00:05:14 +00:00
Sally Qi
0ca29273dc Add vts case for OverlayProperties#isMixedColorSpacesSupported.
- add sRGB and DisplayP3 layers in HWC, if mixedColorSpaces is
   supported, only DPU composition happens.

Bug: 311252937
Test: this
Change-Id: I400a6dd18a05bbdf69e249907e13a4fa7eafbf01
2024-02-26 10:34:11 -08:00
Devin Moore
a8efdb127e Vendor API level 202404 is now frozen
Ignore-AOSP-First: VINTF 202404 Finalization
Bug: 279809333
Test: build
Change-Id: Ie6d38d27a287e258c30516e0030ad8c931d06432
2024-02-20 21:05:23 +00:00
ramindani
fc93b73f78 [Composer-VTS] Adds vts for notifyExpectedPresent
Includes VTS for notifyExpectedPresent call,
frameRate change in the present call and
notifyExpectedPresent after timeout.

Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 291792736
Change-Id: I1ef7011d7dcbdd6bb378b80ca0b0d7cd52832897
2024-02-16 04:03:00 +00:00
Leon Scroggins III
63c8fea778 VTS: Add flag dependency so librenderengine can be used
I6c436b6b80b27930d82aabf22107216172773b56 adds a dependency for
librenderengine on flags. Add that dependency so we can use
librenderengine here, too.

Bug: 305445199

Test: atest VtsHalGraphicsComposerV2_2TargetTest
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: If339ac94a6eff4af34e60cf1c1135289b8915441
2024-02-05 12:51:01 -05:00
Aditya Choudhary
39ed8dc1ad [DON'T BLOCK] Test ownership migration rules am: c5c6c62995 am: 85d604d0db
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2939799

Change-Id: I68af10e082403fcfdbd89e7d63bb07f207bc06e2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-31 17:46:24 +00:00
Aditya Choudhary
85d604d0db [DON'T BLOCK] Test ownership migration rules am: c5c6c62995
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2939799

Change-Id: I1046113ffdcd09649fa65e023aae0969262772e0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-01-31 17:06:10 +00:00
Aditya Choudhary
c5c6c62995 [DON'T BLOCK] Test ownership migration rules
This CL is created as a best effort to migrate test targets
to the new android ownership model. If you find incorrect or unnecessary
attribution in this CL, please create a separate CL to fix that.

For more details please refer to the link below,
<add g3 doc link>

Bug: 304529413
Test: N/A
Change-Id: I3322344f595f974f730dc824af0110388076d838
2024-01-31 11:06:17 +00:00
Xin Li
763c473c3d Merge Android 24Q1 Release (ab/11220357)
Bug: 319669529
Merged-In: I976f80006aeb88bde2ae34ca4f9be72cea727d9e
Change-Id: Id94b25af52bd2e2847b6858697ab21cc6ce27aa3
2024-01-30 10:36:50 -08:00
Ady Abraham
fc1e3f11ad composer: vts: don't clear reader errors on teardown
Fixing a bug that caused Teardown to clear the errors before
checking them

Bug: 303735490
Test: presubmit
Change-Id: Ieb02ab3015fc21bcef6624f8f45c3b84549005c2
2024-01-10 18:13:59 +08:00
Manali Bhutiyani
e558994665 Merge "Update aidl documentation" into main 2024-01-09 21:52:38 +00:00
Manali Bhutiyani
3dc6dd2bd4 Update aidl documentation
Bug: 290685621
Test: N/A

Change-Id: I1d30c24e667ce02d7553462d663cf66a32aa4b4b
2024-01-09 20:14:14 +00:00
Leon Scroggins
50ede7f71a Merge "Avoid crashing when failing graphics VTS" into main 2024-01-09 19:00:47 +00:00
Leon Scroggins III
94f4b20dcf Avoid crashing when failing graphics VTS
When the tests fail, ensure we continue running so we can run the
remainder of the tests.

Bug: 304976052
Test: atest GraphicsComposerAidlCommandTest
Change-Id: Ia6ab2bbd284bb7eddeb49164dcbe7285829ad9c3
2024-01-09 12:39:11 -05:00
Wiwit Rifa'i
c67c887c5a composer: vts: update getClientTargetSupport tests
Ensure the primary display to set power on before running
getClientTargetSupport tests for VTS 2.1 - 2.3.

Bug: 308252481
Test: atest VtsHalGraphicsComposerV2_1TargetTest
Test: atest VtsHalGraphicsComposerV2_2TargetTest
Test: atest VtsHalGraphicsComposerV2_3TargetTest
Change-Id: I6b793537ee42c87f37c4c1d7141364541f448134
2024-01-05 16:29:12 +08:00
Ady Abraham
a00d246f27 composer: vts: add support for batched create/destroy layers
Bug: 315517904
Test: TBD
Change-Id: Ic3c0415612b1387671ab8efa0ec95ed727f6bf68
2023-12-27 22:32:45 +00:00
ramindani
52416e06ff [Composer3] Update notifyExpectedPresent parameter names
Update the timeoutNs description to specify what 0 and not absent value
expected behavior is
BUG: 294102485
Test: VTS

Change-Id: I3954c8f1efad8190ed6d608e2968fe1dc15c2f11
2023-12-21 08:58:00 -08:00
Peter Lin
f43004efcf [VTS] Update SetDisplayBrightness test item am: 70d2ef6b34
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2883951

Change-Id: Ia57991b0f949307764afeb9fe9fa58c67740900e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-12-21 02:13:22 +00:00
Peter Lin
70d2ef6b34 [VTS] Update SetDisplayBrightness test item
Ensure the primary display power on before run the
SetDisplayBrightness test item.

Bug: 313794734
Test: atest VtsHalGraphicsComposer3_TargetTest:PerInstance/
      GraphicsComposerAidlCommandTest#SetDisplayBrightness/
      0_android_hardware_graphics_composer3_IComposer_default
      -- --abi arm64-v8a
Change-Id: I94fb700704bcbd8543f2a608dd75b9e745e40e37
Merged-In: I94fb700704bcbd8543f2a608dd75b9e745e40e37
2023-12-20 06:49:27 +00:00
Treehugger Robot
59d64f830e Merge "[VTS] Update SetDisplayBrightness test item" into main 2023-12-19 11:27:19 +00:00
Peter Lin
b9fbd4e3c7 [VTS] Update SetDisplayBrightness test item
Ensure the primary display power on before run the
SetDisplayBrightness test item.

Bug: 313794734
Test: atest VtsHalGraphicsComposer3_TargetTest:PerInstance/
      GraphicsComposerAidlCommandTest#SetDisplayBrightness/
      0_android_hardware_graphics_composer3_IComposer_default
      -- --abi arm64-v8a
Change-Id: I94fb700704bcbd8543f2a608dd75b9e745e40e37
2023-12-14 06:03:58 +00:00
Ram Indani
730f86fe18 Merge changes from topic "RRN" into main
* changes:
  [Composer3-VTS] Test Composer3-V3 for refreshPeriodNanos and vsyncPeriodNanos
  [HWC3] AIDL change to add refreshPeriodNanos to RefreshRateChangedDebugData
2023-12-13 19:03:18 +00:00
ramindani
a2a6deaf50 [Composer3-VTS] Test Composer3-V3 for refreshPeriodNanos and
vsyncPeriodNanos

Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 314527560
Change-Id: If45c0d8c4b61b8c46c1e4336fe261d11414535e5
2023-12-13 01:14:10 +00:00
ramindani
1eb2ecfe4a [HWC3] AIDL change to add refreshPeriodNanos to RefreshRateChangedDebugData
Test: atest VtsHalGraphicsComposer3_TargetTest and device boots
BUG: 314527560
Change-Id: Iaf961ae6ad118c5cd99b07ec133023297dac7040
2023-12-13 01:07:58 +00:00
Manali Bhutiyani
e11bda9789 [aidl] add hwc batching capability
This CL adds the new aidl/apis for HWC command batching feature.

Bug: 290685621
Test: atest VtsHalGraphicsComposer3_TargetTest
      atest PerInstance/GraphicsComposerAidlBatchedCommandTest

Change-Id: Ibccc2cb30954f5d054f8e45e59a0b831fd15a304
2023-12-13 00:27:53 +00:00
Manali Bhutiyani
38565ccd51 [hwc-batching] AIDL changes for HWC command batching support.
This CL adds the new aidl/apis for HWC command batching feature.

Bug: 290685621
Test: atest VtsHalGraphicsComposer3_TargetTest
      atest PerInstance/GraphicsComposerAidlBatchedCommandTest
Change-Id: I9e8a8afefb03e04a4cd4d8db36d72e29d30e975f
2023-12-09 00:25:42 +00:00
Alec Mouri
8695c7bbc4 Merge "Support extended range fp16 ClientTargets in HWC" into main 2023-12-06 01:59:49 +00:00
Jason Macnak
73e5844464 Remove oneway from onHotplugEvent callback
IIUC, oneway makes the callback a non-blocking call. Hwcomposer
implementations are expected to call onHotplug/onHotplugEvent during
the initial hwcomposer->registerCallback(). However, a oneway callback
would not block and cause the hwcomposer's implementation of
registerCallback() to return immediately. Example log:

11-30 23:32:32.962   508   508 E RanchuHwc: registerCallback
11-30 23:32:32.962   508   508 E RanchuHwc: registerCallback:
display:0
11-30 23:32:32.962   508   508 E RanchuHwc: setCallbacks for display:0
11-30 23:32:32.962   508   508 E RanchuHwc: registerCallback:
display:1
11-30 23:32:32.962   508   508 E RanchuHwc: setCallbacks for display:1
11-30 23:32:32.962   508   508 E RanchuHwc: registerCallback initial
registration, hotplug connecting display:0
11-30 23:32:32.962   508   508 E RanchuHwc: registerCallback initial
registration, hotplug connecting display:1
11-30 23:32:32.962   572   592 E SurfaceFlinger: jasonjason
SurfaceFlinger::onComposerHalHotplugEvent()
11-30 23:32:32.962   572   572 F SurfaceFlinger: Initial display
configuration failed: HWC did not hotplug
11-30 23:32:32.962   572   592 E SurfaceFlinger: jasonjason SurfaceFlinger::onComposerHalHotplugEvent()
<SurfaceFlinger aborts from the Fatal "HWC did not hotplug">

Bug: b/314208907
Test: Launch Cuttlefish with ag/25521493 then
      vts -m VtsHalGraphicsComposer3_TargetTest
Change-Id: Ibfea0b21e1d4c8b0de17bbe25dc55483050700b7
2023-12-01 14:29:50 -08:00
Alec Mouri
8062f1feda Support extended range fp16 ClientTargets in HWC
Introduce the concept of hdrSdrRatio for ClientTargets, so that:

* 1.0 is treated as SDR luminance
* hdrSdrRatio is provided to scale the content into display luminance
  range during composition. That is, 1.0 maps to SDR max, and
  hdrSdrRatio maps to display max luminance

Bug: 236745178
Test: builds
Change-Id: Id82a102eaca82f85bf3982538786dd2ae6cb8e61
2023-11-29 17:32:58 +00:00
Huihong Luo
5569efbc00 Add a new API to report display hotplug events
When a display is connected, error may occur, this new api introduces
an event variable to specify the hotplug event, including errors.

This new api should be used, and the old onHotplug method is deprecated.

Bug: 241286153
Test: manual
Change-Id: I20ea685c5012015836024e7cab4dc0e68ebb835f
2023-11-28 11:46:53 -08:00
ramindani
cdcfcafc63 [VTS] Update validateDisplay with frameIntervalNs
Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 284845445
Change-Id: I4821a535518b113923fac02adadb3f4867ce922e
2023-11-09 10:01:28 -08:00
ramindani
ac6e50ab4c Update ComposerClientWriter::validateDisplay with frameInterval
BUG: 284845445
Test: Manual test
Change-Id: I2f856ae4acd45cb2a9827c367d2d3185da859b8a
2023-11-07 16:54:04 -08:00
ramindani
72edecff8e Update ComposerClientWriter::presentOrValidate with frameInterval
BUG: 284845445
Test: Manual test
Change-Id: I096ef0d0523cf33a3867030339a18f9421b9ad2b
2023-11-07 16:53:45 -08:00
Treehugger Robot
6cd27b6f2a Merge "Reland "Add a DisplayCapability for multi-threaded present"" into main 2023-10-18 02:21:51 +00:00
Joen Chen
e0a962c8e3 Reland "Add a DisplayCapability for multi-threaded present"
Originally landed as I5dbb01fc23abd5e0108c565f96d25e62c77fc16d and
previously reverted in I6265f8de3db31f07506906cee82a91fe3baac0bc due to
timeline constraints.

Add a test presenting from multiple threads. Split up execute() so that
it can be called for a single display. Update MultiThreadedPresent
(test) to offload presentDisplay to a separate thread, similar to how
Ib9d074671e32c95875ef7e0791dd95d6e595e47a does it, as described in
go/multi-threaded-present.

Bug: 259132483
Bug: 284156408
Fixes: 251842321
Fixes: 295841597
Test: VtsHalGraphicsComposer3_TargetTest
Change-Id: If975ee9bb0b9c6f64ef50401e2aee32f934e3f08
2023-10-16 15:23:59 -04:00
Leon Scroggins III
79d7ae8207 Remove deprecated warnings for SKIP_VALIDATE
We deliberately use a deprecated API to test that it is not used. Ignore
warnings from using it in this test.

In PresentDisplayNoLayerStateChanges, remove the check for
SKIP_VALIDATE, removing the other warning. As written, the test would be
skipped without SKIP_VALIDATE support. But devices should *not* claim
Capability::SKIP_VALIDATE, meaning the test would always be skipped. The
docs state that the behavior previously indicated by SKIP_VALIDATE is
now the default, so we should always be running the test.

Bug: NA
Test: atest VtsHalGraphicsComposer3_TargetTest (no warnings)
Change-Id: Icc89a82b4850428c2f0940be0f78f5ebff1881b3
2023-10-12 08:38:12 -04:00
Xin Li
11ee4fea87 Merge android14-tests-dev
Bug: 263910020
Merged-In: I770dc5620648df2eab608e030c5e76cf190f315d
Change-Id: If4fe726d538386d70061e8051299d8fb393ef5df
2023-10-10 16:17:14 -07:00
Alec Mouri
b9556b3aba Merge "Start VTS for color management." into main 2023-10-10 20:40:46 +00:00
Sergiu Ferentz
31b637fd90 Merge "Bump android.hardware.graphics.common V4->V5" into main 2023-10-09 08:27:26 +00:00
Alec Mouri
f6c039a49e Start VTS for color management.
Right now this only makes sure that extended sRGB buffers aren't
corrupted by the time it hits the display. This is especially important
for Ultra HDR, because display compensation is defined by the spec.

Bug: 276331687
Bug: 259144781
Test: VtsHalGraphicsComposer3_ReadbackTest
Change-Id: Ib6c39858289d5559ae76280ca1a0ef756f2daef0
2023-10-06 23:04:15 +00:00