Commit Graph

36 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Chong Zhang
86e1aebad1 [RenderEngine] Fix test build for RenderEngine refactor
Fix build after refactor of creation flags.

BUG: 142331374
Test: build, flash and boot
Change-Id: I59c2858f8e35426e2eb08c91e8797efd738a3922
2019-10-23 12:28:08 -07:00
Marissa Wall
53aff11b36 composer-vts: support gralloc 4
Add support for gralloc 4.0 to composer-vts.

Bug: 136016160
Test: Compiles and boots

Change-Id: Ibfa802023ddeb3b4d09a7b69bbc796b67c4ee62d
2019-08-20 10:07:06 -07:00
Marissa Wall
a8c3130a34 composer: refactor ComposerResources into shared library
composer@2.x-hal is a header library. Any of the shared
libraries it depends on must also be included by anyone
who includes composer@2.x-hal. This means when we add a new
version of mapper, anyone who uses composer@2.x-hal must
also include the new version of the mapper. Vendors
that depend on composer@2.x-hal are broken every time we
add a new mapper.

This patch refactors ComposerResources into a seperate
shared library. ComposerResources contains all of the
mapper code. composer@2.x-hal will depend on the new
composer@2.x-resource hal. Everyone downstream must
also add the composer@2.x-resource file now. However,
they will not be broken again when we add a new mapper
version.

Bug: 136016160
Test: Compiles and boots

Change-Id: I208a954a941ed65938074cd3efb8a6893a2bc1eb
2019-08-16 10:48:37 -07:00
Adam Bodnar
d0aef4dfe5 Add more HWC vs RenderEngine tests to composer vts
Bug: 133411821
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I19322f75b098813b1e4acf31cb6bae9e15fb8915
2019-08-14 15:06:45 -07:00
Valerie Hau
92d1226f9c Setting layer dataspace to match the color mode
Bug: 135045017
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I7188c53ca92895a98da062a248f6b781202671b8
2019-07-22 10:29:40 -07:00
Valerie Hau
37edd052ce Fixing client composition setup on non-SRGB color mode displays
Fixing client composition behavior to match SF - dataspace of client
composition is determined by the color mode of the display

Bug: 135045017
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I88371d173501875b59bf40092943cebff3d22b06
2019-07-12 09:14:39 -07:00
Peiyong Lin
1b5692ea05 [Cleanup] Properly export lib headers.
Properly export lib headers to avoid copying everything when upgrade composer
version. Minor: Remove VTS team as OWNERS of non-VTS directory.

BUG: 135929065
Test: build and boot
Change-Id: I4c3544490fcf043ff6bda2312a00aed015d0d5fc
2019-07-02 18:23:14 -07:00
Adam Bodnar
5bf9dc69ac Validate Render Engine output in composer VTS 2.2
Bug: 133411821
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: Ie95c197d702977738a75e29954c541fe1b7baa38
2019-07-02 12:18:18 -07:00
Valerie Hau
7c8eb68002 Add support for different color modes for readback
Bug: 135045017
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I07868d95120068bee1d98432888109313da33119
2019-06-26 15:21:04 -07:00
Valerie Hau
c1dc31340e Adding support for different Mapper versions in IComposer VTS tests
Bug: 135139498
Test: build, boot, VtsHalGraphicsComposerV2_<1,2,3>TargetTest,
Change-Id: I05e2832c64d4c06eb4afd64c3323d7edbd19a5f4
2019-06-19 13:56:04 -07:00
Valerie Hau
b019fd7a9a Clean up Readback test
Readback will be used in RenderEngine testing.  Clean up test files and
extract common classes

Bug: 133411821
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I45b4666348ae0137dd2a7825b5cfd627a1e1aa58
2019-05-23 14:39:21 -07:00
Marissa Wall
889c94dabc graphics: update owners am: 104ecb9e60 am: af56d35175
am: 88d9ae03c4

Change-Id: I596f312798b61afe4a6f12d293e2de95b6e2d193
2019-01-11 10:51:25 -08:00
Marissa Wall
104ecb9e60 graphics: update owners
With olv@ no longer on the graphics team we need to update the
owners file to remove him and add new owners.

For composer the new owners are: lpy@ and vhau@
For allocator/mapper the new owner is: marissaw@

Test: N/A
Change-Id: Ied297e9446d480629155e1d9a96575ee518c2135
2019-01-10 14:27:55 -08:00
Valerie Hau
01c541c93f Removing USES_DISPLAY_RENDER_INTENTS check in ComposerClient.h
Test: ./VtsHalGraphicsComposerV2_2TargetTest
Change-Id: Ibe5800c22927c16619db864193594f70dc2a4b7f
2018-11-19 10:50:02 -08:00
Valerie Hau
cbe8e9ab03 Clearing reader and writer queues in executeCommands for HWC VTS Tests
Test: ./VtsHalGraphicsComposerV2_1TargetTest,
./VtsHalGraphicsComposerV2_2TargetTest

Change-Id: Ie47e486d191da30be47cde47d768d3cdde8e04e9
2018-09-17 10:58:03 -07:00
Valerie Hau
e6683e2b06 Fixing execute bug in VTS tests for hardware composer
Bug: 113532117
Test: ./VtsHalGraphicsComposerV2_1TargetTest &&
./VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I5c3485d45c798c40377e4567ab14cce667dd17ea
2018-08-31 10:47:50 -07:00
Valerie Hau
667f11ab3a Hardware composer VTS test harness
Bug: 111563608
Test: VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I965efe8811e45a114978a9c8dd7a440c759787ec
2018-08-20 13:48:22 -07:00
Chia-I Wu
09782444e3 graphics: fix readback buffer tests
Make readback buffer support optional.  Fix incorrect use of
setReadbackBuffer and getReadbackBufferFence.

Bug:  80030364
Test: VTS
Change-Id: I278a031c3c086ac38c460b7076a2952db57a91a4
Merged-In: I278a031c3c086ac38c460b7076a2952db57a91a4
2018-05-22 15:17:50 -07:00
Chia-I Wu
76630c6567 graphics: fix readback buffer tests
Make readback buffer support optional.  Fix incorrect use of
setReadbackBuffer and getReadbackBufferFence.

Bug:  80030364
Test: VTS
Change-Id: I278a031c3c086ac38c460b7076a2952db57a91a4
2018-05-22 13:05:26 -07:00
Dominik Laskowski
0c41558bdf graphics: Clean up VTS boilerplate for composer
This CL makes the V2_1::vts::Composer class more reusable, and cleans up
the 2.2 boilerplate.

Bug: 74619554
Test: VtsHalGraphicsComposerV2_2TargetTest
Change-Id: Iff2905d40afe16a0b9ce735f1285d5bdc6b4cec7
2018-04-05 15:21:28 -07:00
Peiyong Lin
a2acfa2219 [Graphics] Update CommandWriter APIs to common::V1_1::* enum.
Previously we introduced Dataspace V1.1 and PixelFormat V1.1, thus APIs
accepting Dataspace should also be updated to accept V1_1::Dataspace and
V1_1::PixelFormat.

BUG: 77156734
Test: adb shell /data/nativetest/VtsHalGraphicsComposerV2_2TargetTest/VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I00d00749f2895b727a18a28903256128a33e8b97
2018-04-02 15:56:45 -07:00
Chia-I Wu
6c8257feca graphics: add RenderIntent and better HDR support
This adds

  ColorMode::BT2020
  ColorMode::BT2100_PQ
  ColorMode::BT2100_HLG
  Dataspace::BT2020_HLG
  Dataspace::BT2020_ITU_HLG
  RenderIntent::COLORIMETRIC
  RenderIntent::ENHANCE
  RenderIntent::TONE_MAP_COLORIMETRIC
  RenderIntent::TONE_MAP_ENHANCE

and fixes per-frame metadata to be per-layer.  It also clarifies how
the composer should treat certain dataspaces and makes the
corresponding composer changes.

Bug: 73824924
Bug: 32148660
Test: manual
Change-Id: I5d12f50190522103c2ac97ee8dc2d5f6a2dabffe
2018-04-02 13:04:33 -07:00
Chia-I Wu
de0bd95d57 graphics: add composer 2.2 default impl
This adds

  android.hardware.graphics.composer@2.2-hal
  android.hardware.graphics.composer@2.2-passthrough
  android.hardware.graphics.composer@2.2-service

The -hal module makes it easier to write composer 2.2 HAL and is
reusable by vendors.  The -passthrough module provides a HwcHal
class that implements ComposerHal 2.2 on top of hwcomposer2, and is
also resuable by vendors.  Finally, the -service module provides a
(stub) default implementation.

Test: boots and VTS
Change-Id: I4f940a9dea656abc7d9d485bf48d852c13d2ed56
2018-02-21 12:23:41 -08:00
Chia-I Wu
96a098a80d graphics: more reusable libVtsHalGraphicsComposerTestUtils
Versioned library names, versioned include paths, and others.

Test: make VtsHalGraphicsComposerV2_1TargetTest
Change-Id: Ic266763c9ef25e09bc2c97026f2e1324609f48c6
2018-02-21 11:03:04 -08:00
Chia-I Wu
8b20c5c881 graphics: clang-format composer VTS
Test: make VtsHalGraphicsComposerV2_1TargetTest
Change-Id: I8df7090dd3cebbf36257f3df76f0e8aced0c60bd
2018-02-21 11:03:04 -08:00
Chia-I Wu
5ff97474de graphics: move libVtsHalGraphicsComposerTestUtils
Move libVtsHalGraphicsComposerTestUtils from vts/functional to
utils/vts.

Test: make VtsHalGraphicsComposerV2_1TargetTest
Change-Id: Ic3042aa7f2578d099fbe79039b60892bd0e87f25
2018-02-21 11:03:04 -08:00
Peiyong Lin
ab505aaf90 [HWC] Add setLayerFloatColor API into HAL.
This patch:

1. Adds setLayerFloatColor API into HAL to enable setting more bits of color on
ColorLayer;
2. Adds VTS tests for setLayerFloatColor.

BUG: 69970838
Test: adb shell /data/nativetest/VtsHalGraphicsComposerV2_2TargetTest/VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I439e35cb2505ee47b8e9a8dd1c19a3f3f2cf9c2f
2018-01-25 05:58:32 +00:00
Courtney Goeltzenleuchter
be92bb9fae Add new HWC HAL methods for Android P.
Add new methods to support HDR, video readback mechanism and
additional power mode.

Test: adb shell /data/nativetest/VtsHalGraphicsComposerV2_2TargetTest/VtsHalGraphicsComposerV2_2TargetTest
Bug: 71513501
Change-Id: I45596df6c5a2a726e12f524e82681aef4bcbe180
2018-01-24 17:19:55 -08:00