Commit graph

450 commits

Author SHA1 Message Date
Kevin DuBois
1ec0b52d17 graphics.common: add HSV format definition to 1.2
Adds HSV format used in some color sampling engines to the list
of pixel formats. Rev the sampling engine in composer to reference
the new format revision.

Test: built image, with new format reported in vendor code.
Test: VtsHalGraphicsComposerV2_3TargetTest
Fixes: 122943743

Roll-forward of build-breaking topic commit. No changes were
needed in this patch. see bug 123404649 for breakage details.
This reverts commit e2f69f2228.

Change-Id: I38ac5cafeb6a07e683352c8d297892a681e24702
2019-01-25 20:54:03 +00:00
Kevin DuBois
d32c733fb7 Merge "Revert "graphics.common: add HSV format definition to 1.2"" 2019-01-25 17:12:11 +00:00
Kevin DuBois
e2f69f2228 Revert "graphics.common: add HSV format definition to 1.2"
This reverts commit 97e1a932ec.

Reason for revert: broke build 

Change-Id: Ib264957e9a1de83c37e4129471b3c75522e21d08
2019-01-25 17:06:01 +00:00
Kevin DuBois
8d4e68ffa2 Merge "graphics.common: add HSV format definition to 1.2" 2019-01-25 16:14:01 +00:00
Kevin DuBois
97e1a932ec graphics.common: add HSV format definition to 1.2
Adds HSV format used in some color sampling engines to the list
of pixel formats. Rev the sampling engine in composer to reference
the new format revision.

Test: built image, with new format reported in vendor code.
Test: VtsHalGraphicsComposerV2_3TargetTest
Fixes: 122943743

Change-Id: I1b454a86f464f38e3c2cbeef5379a187ff38ab06
2019-01-24 10:05:28 -08:00
Sean Callanan
51c11c6936 Merge "mapper-passthrough: filter two usages for gralloc1" 2019-01-24 00:55:08 +00:00
Marissa Wall
2a1a695599 allocator: require optimal allocations
Add a clarification the documentation that all buffer allocations
should be optimized for the usage bits provided in the descriptor.
This was always assumed to be a requirement of buffer allocations
but it was not explicitly documented.

Bug: 120493579
Test: N/A
Change-Id: Id9e3e1df861d0f32c995f18cabe37d62e7e5ce5c
2019-01-22 22:10:22 +00:00
Marissa Wall
a6a30b1aec mapper: add isSupported
Add a function to the mapper hal that checks if a BufferDescriptorInfo
is ever supported on a device. This value can be cached by the client.
The client can use this information to make decisions on what type of
buffers should attempt to allocate.

Bug: 120493579
Test: vts
Change-Id: I6bd7909e40d6462524bf49cf0d4e7af721e701ed
2019-01-22 22:09:59 +00:00
Marissa Wall
69292faf0b mapper: update lock's return values
Require mapper to return more information when locking a buffer.
Opaque vendor formats make it difficult to manipulate a locked
buffer. The pointer to the buffer's data is always at the top
left hand corner of the buffer. It can be impossible to know
where the locked region begins.

The mapper now must return the bytes per pixel and bytes
per stride of a locked buffer when the values are consistent
and known.

Bug: 120493579
Test: vts
Change-Id: Id0921f191f1e388d4950ecef73acab6a34010dc4
2019-01-22 22:07:10 +00:00
Marissa Wall
2f43f46211 mapper: update documentation on locking
Update the locking documentation to require all 1D buffers
"lock in place". Previously, the framework was able to get 1D
buffers that locked in place via ion. The ion interface is no
longer directly accessible. Some framework use cases still need
1D buffers that lock in place so add the requirement to mapper.

Bug: 120493579
Test: N/A
Change-Id: Ib903efdbeeb8c44ed70c3c6022d6792d05df1a63
2019-01-22 22:03:58 +00:00
Sean Callanan
fecf455068 mapper-passthrough: filter two usages for gralloc1
GPU_CUBE_MAP and GPU_MIPMAP_COMPLETE both do not exist in gralloc1,
so don't try to allocate buffers that have those usages.  Report an
error instead.

Bug: 66876469
Test: CTSNativeHardwareTestCases on Taimen
Change-Id: I1a6bd209faf5ffad93dbac0ab887bb1447a44aac
2019-01-17 16:37:40 -08:00
TreeHugger Robot
1be67b368a Merge changes from topic "IA/IM-3.0"
* changes:
  graphics: change composer 2.1 to support allocator/mapper 3.0
  graphics: rev IAllocator and IMapper
2019-01-15 23:21:27 +00:00
Dan Albert
5ebf56d092 Fix comparator operator() definition. am: a6a529236e am: 3df110feae
am: b21cdfb866

Change-Id: Id0f1912c6b05481f5d720a490cb7044d7accfc26
2019-01-13 01:57:42 -08:00
Marissa Wall
e20b112787 graphics: change composer 2.1 to support allocator/mapper 3.0
Change composer 2.1's ComposerResources to support the new major versions
of IAllocator and IMapper.

Bug: 120493579
Test: vts
Change-Id: I888364d302ba8c7f7ad30070dcad3ed738b4c663
2019-01-12 15:40:04 -08:00
Marissa Wall
bd1ca51841 graphics: rev IAllocator and IMapper
Increase IAllocator and IMapper to 3.0. This patch does not add
any new features.

Bug: 120493579
Test: vts
Change-Id: I84d9887f94d91eca1cc5d845bb11ac1d8affbf62
2019-01-12 15:40:02 -08:00
Dan Albert
a6a529236e Fix comparator operator() definition.
Comparators should be const. The libc++ update checks for this and
rejects non-const comparators.

Test: m
Bug: None
Change-Id: If2f76c020943b5bcb55803f0742990c9965afd6e
2019-01-11 14:48:55 -08:00
Marissa Wall
889c94dabc graphics: update owners am: 104ecb9e60 am: af56d35175
am: 88d9ae03c4

Change-Id: I596f312798b61afe4a6f12d293e2de95b6e2d193
2019-01-11 10:51:25 -08:00
TreeHugger Robot
aa2c2714ee Merge "graphics: update owners" 2019-01-11 01:23:15 +00: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
Marissa Wall
5a12e9b268 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: Icc8931966e13520526174752c56a21060c8054f8
2019-01-10 14:27:15 -08:00
TreeHugger Robot
4eba392a01 Merge "[Graphics] Add lpy@ and vhau@ to OWNER file." 2019-01-04 03:19:39 +00:00
Valerie Hau
7de0be5cd4 Adding/modifying tests for new 2.3 API
Adding new tests for getPerFrameMetadataKeys_2_3 and
getHdrCapabilities_2_3.  Modifying for optional API
to not error on UNSUPPORTED

Bug: 118343714
Test: ./VtsHalGraphicsComposerV2_3TargetTest
Change-Id: I66e28cc1cb51b8c26d3e7777311a168086f938ca
2019-01-02 08:09:12 -08:00
Valerie Hau
c25748d22f Adding HDR10+ Dynamic Metadata Support
Bug: 118343714
Test: build, flash, boot
Test: VtsGraphicsComposerV2_3TargetTest should pass
Change-Id: Iee78818bc2704f4045b62251ea2cc75af72a0609
2018-12-20 13:15:37 -08:00
Chih-hung Hsieh
df66e3cb29 Merge "Fix performance-for-range-copy warnings" am: d01f7050ac am: 51e835ce22
am: 86fefab5e9

Change-Id: Ib139d710d47a7a51e24ba8ba582b252f5ff6e244
2018-12-17 14:09:52 -08:00
Chih-Hung Hsieh
65ab67312b Fix performance-for-range-copy warnings
Bug: 30413223
Test: make with WITH_TIDY=1 DEFAULT_GLOBAL_TIDY_CHECKS=-*,performance*
Change-Id: I1b76a22eab100a31e77048626e48169fe7eeaf92
2018-12-17 19:57:21 +00:00
Treehugger Robot
001a2cc09e Merge "HWC2OnFbAdapter: don't claim present fences work" 2018-12-12 20:35:03 +00:00
Chris Forbes
bdf93d0e68 HWC2OnFbAdapter: don't claim present fences work
We never produce real present fences, so indicate this to the
compositor. This will prevent GOOGLE_display_timing & friends from being
exposed in the client APIs.

Similar to previous change in HWC2On1Adapter.

Bug: b/111505197
Change-Id: I601a7f5628d4b218431fc0f1abb4807c9941ce64
(cherry picked from commit 3fac35a98a)
2018-12-11 18:31:06 -08:00
Keun Soo YIM
68ae05dd2d pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Merged-In: I363450d205868f900e4925ccff1430e2a569f2a4
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-12-07 10:49:56 -08:00
Peiyong Lin
e84a7ff235 [Graphics] Add lpy@ and vhau@ to OWNER file.
BUG: N/A
Test: N/A
Change-Id: Ifca0bb859d7f2b970638627321921e1c439678bb
2018-12-05 18:52:48 -08:00
TreeHugger Robot
55c3df3e70 Merge "[Graphics] Fix some wordings." 2018-12-05 23:54:23 +00:00
Peiyong Lin
02dd3d3ae0 [Graphics] Fix some wordings.
BUG: 111562338
Test: N/A
Change-Id: If7e7141dc033dcce493eca408b302d7c57036144
2018-12-05 06:59:39 -08:00
Valerie Hau
467d88e1d0 Merge "Setting PowerMode to ON after SetPowerModeVariations" 2018-12-04 21:13:07 +00:00
Valerie Hau
ab3195bf21 Setting PowerMode to ON after SetPowerModeVariations
SetVsyncEnabled failure after SetPowerModeVariations on
sailfish
Test: ./VtsHalGraphicsComposerV2_1TargetTest on sailfish

Change-Id: I118988c4ac2b70978267b7c08f20861f4728ff8f
2018-12-03 10:29:47 -08:00
Peiyong Lin
55d50d6b77 [Graphics] Introduce per display capability.
Previously, the capability of skipping client color transform is global that
will apply on all displays. However, some hardwares are not capable of managing
it for all displays. This patch introduced a per display capability.

BUG: 69911676
Test: Build with mmma hardware/interfaces
Change-Id: I4a143ea89d06bd30ad2bf3f5307c8af9b17f0890
2018-11-29 00:23:44 -08:00
Keun Soo YIM
ff84c37bc1 pack VTS cc_test binaries as general-tests
Test: make general-tests
Bug: 120093339
Change-Id: I363450d205868f900e4925ccff1430e2a569f2a4
2018-11-27 16:11:41 -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
Kevin DuBois
e52f011f42 Merge "graphics: Add display color sampling interface." 2018-11-07 17:39:04 +00:00
Kevin DuBois
bf141483fa graphics: Add display color sampling interface.
Add a graphics.composer@2.3 interface that will expose
color sampling hardware present on some devices to the
framework. Adds:
  getDisplayedContentSamplingAttributes
  setDisplayedContentSamplingEnabled
  getDisplayedContentSample

Test: boot up pixel3
Test: VtsHalGraphicsComposerV2_3TargetTest on revved Pixel3 hwcomposer
Bug: 116028976
Change-Id: I88455f200590926f677c47efc39e9b6678e2318c
2018-11-05 14:32:49 -08:00
Lloyd Pique
79d6d0c1d0 graphics: Base resource classes need virtual dtor
ComposerResources allows a derived class to define specializations of
the ComposerDisplayResource and ComposerLayerResource classes, which are
returned by overrides of the createDisplayResources() and
createLayerResources() member functions. The pointers are wrapped using
a std::unique_ptr, which destroys the owned instance via the base class
destructor.

As the destructor was not virtual, this meant that only the base class
destructor functionality would be used. Any additional cleanup done by
the derived class destructor would not be run!

This impacts the composer-hal 2.2 utility code for example, which adds a
readback buffer cache as a display resource. Any readback buffers that
are imported there will not be released, effectively leaking graphic
buffer memory.

It also affected an ARC++ specialization where a similar per-layer buffer
resource cache was added, and where the leak was observable since layers
are created and destroyed much more often than displays.

Bug: 117877825
Test: No leaks for ARC++ devices
Change-Id: I6e604b415d3ed787c2e51729a77278594e41e7a9
2018-11-02 23:08:08 +00:00
TreeHugger Robot
c1d5e507e6 Merge "remove USES_DISPLAY_RENDER_INTENTS from vts2.3" 2018-10-25 21:59:24 +00:00
Kevin DuBois
e4d3d5466d remove USES_DISPLAY_RENDER_INTENTS from vts2.3
Removes the USES_DISPLAY_RENDER_INTENTS macro from the 2.3 vts
suite.

Test: ./VtsHalGraphicsComposerV2_3TargetTest (passes same # of tests
Test: before and after)
Bug: 118434553

Change-Id: I32fbbf4f09d5ead1143af56f39bdf9e8dc2bfc4c
2018-10-25 09:48:59 -07:00
Pawin Vongmasa
95674af0c2 HAL interface for IGraphicBufferProducer V2
Test: Builds

Bug: 112508112

Change-Id: Ic3afaa1e27116d4ff9e5035dfce5c20de3d876e5
2018-10-23 17:33:22 -07:00
Valerie Hau
ec98306549 Adding Dataspace BT2020_SRGB and ColorMode BT2020_SRGB
BT2020_SRGB is BT2020 with SRGB transfer function.  Adding to types V1.2
and upgrading methods that utilize Dataspace and ColorMode

Bug: 115335239
Test: ./libsurfaceflinger_unittest --gtest_filter=GetBestColorMode.*
Change-Id: Ic807183ae2bd0212cd8c5d7a24c93db0a1bc28fb
2018-10-22 11:19:52 -07:00
Bill Yi
5989a2f631 Merge pi-dr1-dev to aosp-master
Change-Id: Ida0bc98526f4fc7a1c20f5bbd3210b2f6156d459
2018-10-19 12:20:42 -07:00
Chia-I Wu
7d49f30d3e graphics: composer@2.2 does not require mapper@2.1
am: 0eafa742c6

Change-Id: I6f045113a3c0218a4b8f2c8e794892a21c1fc306
2018-10-19 11:48:36 -07:00
Chia-I Wu
0eafa742c6 graphics: composer@2.2 does not require mapper@2.1
Fix composer@2.2 VTS to not require mapper@2.1.  We will need a
better test infra before things get too complex.

Bug: 112248843
Test: manual
Change-Id: Ia71a102742fd26f14e8edf3f43f3351786350ccd
Merged-In: Ia71a102742fd26f14e8edf3f43f3351786350ccd
2018-10-18 11:22:09 -07:00
Valerie Hau
babe4eb0de Fixing Readback Test failures related to auto-succeed
Prior implementation failed to clear command reader, causing test to
fail in TearDown.  Transform Readback Tests failed to return if readback
was not supported, moved GTEST_SUCCEED into test body from SetUp

Bug: 111563608
Test: ./VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I4647f94efa216b219d0ef345df1ec3aa81dab4c0
2018-10-05 11:29:06 -07:00
Valerie Hau
55b73312d7 Merge "Adding more Readback tests and refactoring" 2018-10-03 23:37:07 +00:00
Valerie Hau
cfb29a4e7b Adding more Readback tests and refactoring
Bug: 111563608
Test: ./VtsHalGraphicsComposerV2_2TargetTest
--gtest_filter=GraphicsComposerReadbackTest.*

Change-Id: I0e4a8212bf08c2890747f99d5754f92821c2e2f4
2018-10-02 15:39:34 -07:00
Valerie Hau
f3440b34dd Merge "Adding command tests for VTS V2_1 HWC" 2018-09-20 22:59:08 +00:00