Commit graph

459 commits

Author SHA1 Message Date
Steven Moreland
7f4e21adda Merge "Update makefies: no 'types'" am: 4ee5ec1469 am: bab622f6a6
am: 7224bc9bcf

Change-Id: I434939e0770afa436c532a945542fce30a71ef7d
2019-03-04 16:05:59 -08:00
Steven Moreland
a878aee9ab Update makefies: no 'types'
Bug: 123976090
Test: N/A
Change-Id: I30fb04c81889b62775e1b764b965fdb0f893de17
2019-03-04 11:27:17 -08:00
Peiyong Lin
3e7205d006 [composer] Remove implication. am: 849c980804 am: b48a6fa60a
am: d581ab1940

Change-Id: I5c38b7a6b15fbb52d11e27e334dd03c54784de35
2019-02-28 20:06:32 -08:00
Peiyong Lin
849c980804 [composer] Remove implication.
The spec of setLayerDataspace never specifies the types of layer it should be
call on, however, the spec has the implication that this method will only work
for layers with buffer, which is mis-leading. This patch changes the wording of
setLayerDataspace spec, removes the implication. Note that this change won't
break backward compatability.

BUG: 126713799
Test: N/A
Change-Id: I97f22469897cb687dcb64a3d419bcb48a3668e5a
2019-02-28 17:00:30 -08:00
Steven Moreland
f8a47b7f01 Update makefiles.
Bug: 123976090
Test: N/A
Change-Id: I5fb6c126a090a3fe0fa4829ea9224564133dc1ae
2019-02-11 21:14:16 -08:00
Shuzhen Wang
55386823a3 Camera: Add HAL interface change for HEIC
- Add new usage flag to indicate the consumer of the buffer is HEIC
encoder.
- Add new data space to indicate that the BLOB buffer is HEIC encoded.
- Add new BlobId to specify JPEG APPs segments.

Test: testHeic CTS test
Bug: 79465976
Change-Id: Iaa6a1d017223e84fc1c5dd0a9d90d9f09240e827
2019-02-04 16:44:16 -08:00
TreeHugger Robot
f5913f812a Merge "Camera: Add dynamic depth tags and dataspace" 2019-01-28 22:21:52 +00:00
Huihong Luo
1ca066eb55 Add interface tag
so other components can start the hal interface when needed.

Test: manual
Change-Id: I61a4d396e86ec8dbda2cbabcc7afca7be7628f26
(cherry picked from commit c4f493977b6315d3dfe8e05f0c2516e2b00feca4)
2019-01-28 17:55:01 +00:00
Emilian Peev
5f103998ff Camera: Add dynamic depth tags and dataspace
Add necessary metadata tags for supporting dynamic depth
streams.
Includes minor gfx fix which should help eliminate build
errors after HIDL header autogen.

Bug: 109735087
Test: vts-tradefed run commandAndExit vts --skip-all-system-status-check
    --skip-preconditions --module VtsHalCameraProviderV2_4Target -l INFO
Change-Id: Ia476b195095ae7a29bc740174331dfbfdaa6d320
2019-01-27 20:06:11 -08:00
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