Commit graph

396 commits

Author SHA1 Message Date
Ady Abraham
9c1d0adb3f composer: vts: check that refresh rate stays the same on inactivity
Bug: 147890947
Test: adb shell data/nativetest64/VtsHalGraphicsComposerV2_4TargetTest/VtsHalGraphicsComposerV2_4TargetTest
Change-Id: I9e1bc1325701ca1603251cc499712f11aa86d30e
2020-02-25 17:44:31 -08:00
Adam Bodnar
6c3929cc33 Explicitly destroy render engine in RenderEngineVts
The GLES driver appears to be left in a bad state without destroying the
render engine instance explicitly after every test case.

Bug: 149043811
Test: build, adb push out/target/product/<platform>/testcases/VtsHalGraphicsComposerV2_2TargetTest/<abi>/VtsHalGraphicsComposerV2_2TargetTest /data/local/tmp && adb shell /data/local/tmp/VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I8e3c4e30eaa2ef3b9831da7b335b9a830be4b4ed
2020-02-18 13:34:27 -08:00
Ady Abraham
f6820b2b44 composer: add TestCommandReader to 2.4
Add a TestCommandReader to composer 2.4 VTS to parse correctly the
new commands introduced in 2.4.

Test: adb shell /data/nativetest64/VtsHalGraphicsComposerV2_4TargetTest/VtsHalGraphicsComposerV2_4TargetTest
Bug: 149124892
Change-Id: Ide4f98fa3bfc771e4095cc672f59b87e1aa03427
2020-02-10 11:24:04 -08:00
Dan Shi
b5fd31a128 Remove reference of VtsHalHidlTargetTestBase
All grahpics composer HAL tests have been converted to parameterized
gtest.

Bug: 147894326
Test: atest VtsHalGraphicsComposerV2_1TargetTest \
  VtsHalGraphicsComposerV2_2TargetTest \
  VtsHalGraphicsComposerV2_3TargetTest \
  VtsHalGraphicsComposerV2_4TargetTest

Change-Id: I84515a5698035d7ceb299a5cc140ecd7bb28fe84
2020-02-01 13:27:55 -08:00
TreeHugger Robot
a207171b50 Merge "Add generic layer metadata to Composer 2.4" 2020-01-23 15:35:44 +00:00
Vishnu Nair
4d3f559655 Merge "Change RenderEngine::drawLayers to take a vector of LayerSettings pointers" 2020-01-23 15:22:56 +00:00
Dan Stoza
a4bea0eac9 Add generic layer metadata to Composer 2.4
Bug: 139747351
Test: VtsHalGraphicsComposerV2_4TargetTest
Test: Manual verification with a modified Composer implementation
Change-Id: I800841ab1348a93c73c25c5f8bcf2254d9dc22e8
2020-01-22 13:16:09 -08:00
Peiyong Lin
015b7d98ff Merge "Add getClientTargetProperty API entry." 2020-01-18 01:08:18 +00:00
Vishnu Nair
02da997fab Change RenderEngine::drawLayers to take a vector of LayerSettings pointers
Prework for the client composition cache logic which extends
LayerSettings. Passing in a set of pointers will reduce the
amount of copying needed when passing the LayerSettings to
RenderEngine.

Bug: 136561771
Test: atest librenderengine_test libcompositionengine_test
Test: atest VtsHalGraphicsComposerV2_2TargetTest
Test: go/wm-smoke

Change-Id: I0581be7762bf56cd7a3aab0511adf95cd6e2df76
2020-01-18 00:55:51 +00:00
Peiyong Lin
bc51e08596 Add getClientTargetProperty API entry.
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.

BUG: b/145968912
Test: mmma -j32 hardware/interfaces/graphics/composer/2.4/
Change-Id: I055f46b1eeba1d3e20d6a92a9d50a83e0f1ee694
2020-01-16 10:05:54 -08:00
Ady Abraham
5f9f9a45ae composer: vts: send a refresh command when required + test fix
When calling to setActiveConfigWithConstraints, the implementation may
need the client to send a refresh frame before the active config can be
changed. In addition, testing with a device with composer 2.4 revealed
few bugs which are fixed by this change.

Fix: 143775556
Test: adb shell data/nativetest64/VtsHalGraphicsComposerV2_4TargetTest/VtsHalGraphicsComposerV2_4TargetTest
Change-Id: Iafa1e85de60d99190d5d813f1d42924a62d94cc5
2020-01-13 14:26:49 -08:00
TreeHugger Robot
eea8c32428 Merge "[composer] Add createCommandWriter to command engine." 2020-01-11 01:25:29 +00:00
Ady Abraham
f81e0f7c05 Merge "composer: add seamlessPossible callback to composer 2.4" 2020-01-11 00:29:58 +00:00
Peiyong Lin
ad96dd9f12 [composer] Add createCommandWriter to command engine.
Command engine always uses V2.1 CommandWriterBase, change the creation of
command writer inside command engine so that we can use the right version of
command writer.

BUG: b/147365206
Test: build and boot.
Change-Id: I61fbbce19a44244725621e9a1cef750bd4c78b4d
2020-01-09 13:48:16 -08:00
Peiyong Lin
2be3570bc9 Make sure passthrough fails initialization if required interfaces can not be initialized.
All required interfaces must be able to initialized, make sure passthrough
fails if the requirement is not met.

BUG: b/147365206
Test: boot
Change-Id: I148655bc5392b1c0bc45f33ea3d2020824bb6f4b
2020-01-09 13:44:12 -08:00
Ady Abraham
30d818e8b3 composer: add seamlessPossible callback to composer 2.4
Add a callback to notify the client it should retry a
setActiveConfigWithConstraints call in case of SEAMLESS_NOT_POSSIBLE error.

Test: rev up composer to 2.4
Bug: 141329414
Change-Id: I6176638fde937e3916f58cc577d50cb755997c61
2020-01-08 17:19:08 -08:00
Peiyong Lin
96ee56bcd8 Remove beginCommand variants with a helper template.
BUG: b/147365206
Test: boot
Change-Id: I30715fe3e1c221ba366bf521fbd531636136f0c9
2020-01-08 14:55:20 -08:00
TreeHugger Robot
bd0827aa2f Merge "composer: register only vsync_2_4 callback" 2020-01-07 01:01:30 +00:00
TreeHugger Robot
9043f4e51b Merge "Add controls for ALLM and Content Types to composer hal" 2019-12-25 13:14:51 +00:00
TreeHugger Robot
d97b9ab2e2 Merge "composer 2.4: Add new test case for getDisplayCapabilities" 2019-12-23 11:38:00 +00:00
Yichi Chen
7337e0581b composer 2.4: Add new test case for getDisplayCapabilities
The original test case was only tested with bad display. The patch adds the
test case with normal displays.

Test: atest VtsHalGraphicsComposerV2_4TargetTest
Bug: 145566569
Change-Id: Id6a25ebc1f63092194ca1d8837cd450e5bc19def
2019-12-17 21:06:55 +08:00
Galia Peycheva
a0973458f5 Add controls for ALLM and Content Types to composer hal
Also extending the passthrough interface with setLowLatencyMode
and setContentType.

Bug:132731049

Test: make -j$(nproc)
Test: vts-tradefed run vts-hal --skip-device-info -m
VtsHalGraphicsComposerV2_4Target

Change-Id: I14dd61a3d9c60fdb06f9028ccd6f49797267e9f4
2019-12-17 13:50:58 +01:00
Robin Lee
8376bc7a10 Merge "Revert submission" 2019-12-14 03:06:24 +00:00
Hansong Zhang
517ac2ecae Revert submission
Based on Forrest run with earlier base build 6069142, the build with this submission failed apct/bluetooth/instrumentation_test 

Reason for revert: Break tests

Change-Id: I4f59a7e3d5c5f401a260f3c8ab3457cf4e2fe386
2019-12-13 22:03:10 +00:00
Galia Peycheva
54623045b9 Merge "Add controls for ALLM and Content Types to composer hal" 2019-12-13 10:09:00 +00:00
Automerger Merge Worker
dfb544e056 Merge "graphics: hwc2on1adapter: Buffer hotplug event after display creation" am: 74033a720b am: 076f84098e am: 43eedd211e
Change-Id: Ifa0eef52e8e439bddbbb2901008f3702d08f5c5c
2019-12-12 19:13:16 +00:00
Treehugger Robot
74033a720b Merge "graphics: hwc2on1adapter: Buffer hotplug event after display creation" 2019-12-12 18:28:05 +00:00
Galia Peycheva
2bd7d43325 Add controls for ALLM and Content Types to composer hal
Also extending the passthrough interface with setLowLatencyMode
and setContentType.

Bug:132731049

Test: make -j$(nproc)
Test: vts-tradefed run vts-hal --skip-device-info -m
VtsHalGraphicsComposerV2_4Target

Change-Id: I0ec5a5be796700074bdd8cac75cd67f96cd5df58
2019-12-10 11:43:06 +01:00
Dan Shi
9113168001 Merge "Convert VtsHalGraphicsComposerV2_3TargetTest to be parameterized test" 2019-12-06 04:24:58 +00:00
Dan Shi
fd7bbc366a Merge "Convert VtsHalGraphicsComposerV2_2TargetTest to be parameterized test" 2019-12-04 01:25:27 +00:00
Dan Shi
ae5d68fd11 Convert VtsHalGraphicsComposerV2_3TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalGraphicsComposerV2_3TargetTest
Change-Id: Id9ace8eaac026df03f26ec22fbef078f9ff53728
2019-12-03 12:37:28 -08:00
Dan Shi
f2ee9c19df Convert VtsHalGraphicsComposerV2_2TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I85cfd932f420a73a4fbf1853313b8d0127157757
2019-12-03 12:31:26 -08:00
Ady Abraham
2391e8c16e composer: register only vsync_2_4 callback
Composer 2.4 extends vsync callback by exposing a new vsync_2_4
callback. Both should not be registered at the same time.

Test: rev up composer to 2.4 and test refresh rate switching
Bug: 141329414
Change-Id: If41f45cab21ed16a7b2f36b3b95fb3591b04c900
2019-12-03 11:04:11 -08:00
Peiyong Lin
425b39f877 Merge "Fix bad command length calculation" am: b44c4d4cd3 am: 97a0f117e1
am: 7fcc448a64

Change-Id: Id84ccd01a2aff67986796b96fa423e2cc7ccea8c
2019-12-02 14:49:41 -08:00
TreeHugger Robot
7a8f64c17b Merge "graphics: fix failed VTS cases" 2019-11-27 20:34:30 +00:00
Peiyong Lin
a5aedc3293 Clean up BeginCommand.
BUG: N/A
Test: build, flash and boot
Change-Id: Ife6132307152e271548a54e11a472751c52d95e4
2019-11-25 16:18:58 -08:00
TreeHugger Robot
83f69f0da0 Merge "gralloc: update lock and lockYCbCr" 2019-11-25 17:44:53 +00:00
Marissa Wall
9c5ebfc5ba gralloc: update lock and lockYCbCr
IMapper 4.0 does support lockYCbCr functionality through lock and
BufferMetadata getters. However, we will wait to add the support in
one central gralloc library. For now just stub out the call so
there aren't any compiler errors.

Bug: 141631415
Test: Compiles

Change-Id: I9d2f70c87412f8ac2114db85eb6dc01539876e2b
2019-11-21 17:43:41 -08:00
Ady Abraham
a1df7c3d1f composer: few changes for refresh rate switching
- getDisplayConfigs is required to remain backward compatible with
   composer@2.3 and older versions. To keep it that way a new config
   attribute was added to group similar configs.
 - getSupportedDisplayVsyncPeriods was removed as the vsync period
   can be obtained by getDisplayAttribute for each individual config.
 - renamed setActiveConfigAndVsyncPeriod -> setActiveConfigWithConstraints
   to better describe what this function does.
 - added VsyncPeriodChangeTimeline and onVsyncPeriodTimingChanged

With these changes composer is expected to return all possible
configurations when getDisplayConfigs (similar to older composer versions).
The client knows whether a seamless vsync period is possible or not by
the config groups.

Test: rev up composer to 2.4 and test refresh rate switching
Bug: 141329414
Change-Id: I1b4525f7e00b62cdaf260274abe4a6a5962ed1ab
2019-11-20 18:30:34 +00:00
Long Ling
0d3fe0857a graphics: fix failed VTS cases
Return BAD_DISPLAY or BAD_PARAMETER as expected.

Bug: 140158240
Test: run vts -m VtsHalGraphicsComposerV2_2Target
Change-Id: I0f5a7103bc134ed87984bd13248aee7597a95d68
2019-11-14 11:27:00 -08:00
o.v.yevtushenko
8f76b5cfe6 Fix bad command length calculation
SET_LAYER_PER_FRAME_METADATA_BLOBS command length
was calculated wrong. With wrong length
it's impossible to read current and any next commands right.

Test: manual
Bug: 144367999

Change-Id: I09a23bbf507996972ce7de0634f8866bbb13152a
Signed-off-by: o.v.yevtushenko <o.v.yevtushenko@globallogic.com>
2019-11-13 12:18:55 +00:00
Colin Cross
3df543380c Merge "Replace -Weverything with -Wextra" am: 8c63655c3d am: 1ec7613f7f
am: fbdb441d7b

Change-Id: I7f54191688adfe167f48deb18aba0f34bd8ad292
2019-11-08 15:26:09 -08:00
Colin Cross
d180b2b83b Replace -Weverything with -Wextra
-Weverything is not recommended, use -Wextra.

Bug: 143713277
Test: mma
Change-Id: Ic5957015ebc0030b8339b263730c8d0540cf088a
2019-11-08 13:09:00 -08:00
Dan Shi
776ca95863 Merge "Convert VtsHalGraphicsComposerV2_4TargetTest to be parameterized test" 2019-11-07 18:33:45 +00:00
Nick Desaulniers
daedbd7e47 [hardware][interfaces][graphics] fix -Wimplicit-int-float-conversion
IEEE 754 single precision cannot precisely represent the value of large
32b integrals. Accept the imprecision from implicit casts by making the
casts explicit.

One case is comparing the value before and after converting a float to
an int32_t and back, the other is used when printing a value.

Bug: 139945549
Test: mm
Change-Id: I23375d73cd16be0741defc6395046bd3b22d1335
Merged-in: Id30edce2cd29c0f9c24cd52ba5fb33f7c56a3100
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2019-11-05 14:54:06 -08:00
Nick Desaulniers
de2a5dcd48 [hardware][interfaces][graphics] fix -Wimplicit-int-float-conversion
IEEE 754 single precision cannot precisely represent the value of large
32b integrals. Accept the imprecision from implicit casts by making the
casts explicit.

One case is comparing the value before and after converting a float to
an int32_t and back, the other is used when printing a value.

Bug: 139945549
Test: mm
Change-Id: Id30edce2cd29c0f9c24cd52ba5fb33f7c56a3100
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
2019-11-05 13:18:26 -08:00
Dan Shi
93a389c708 Convert VtsHalGraphicsComposerV2_4TargetTest to be parameterized test
Bug: 142397658
Test: TODO
Change-Id: I8aaada238d70fbcb7619f894d6aa174a2d8471c7
2019-11-01 20:08:24 -07:00
Dan Shi
1fc6aec652 Merge "Convert VtsHalGraphicsComposerV2_*TargetTest to be parameterized test" 2019-11-01 05:33:20 +00:00
Dan Shi
ff7462064d Convert VtsHalGraphicsComposerV2_*TargetTest to be parameterized test
Bug: 142397658
Test: atest VtsHalGraphicsComposerV2_1TargetTest
Change-Id: Idd6b0a0314be706e06f7812fbf8eb787edd078b1
2019-10-30 11:27:11 -07:00
TreeHugger Robot
0291840f76 Merge "composer 2.4: add api to control vsync period" 2019-10-29 19:07:42 +00:00