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
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
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
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
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
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
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
Change composer 2.1's ComposerResources to support the new major versions
of IAllocator and IMapper.
Bug: 120493579
Test: vts
Change-Id: I888364d302ba8c7f7ad30070dcad3ed738b4c663
Increase IAllocator and IMapper to 3.0. This patch does not add
any new features.
Bug: 120493579
Test: vts
Change-Id: I84d9887f94d91eca1cc5d845bb11ac1d8affbf62
Comparators should be const. The libc++ update checks for this and
rejects non-const comparators.
Test: m
Bug: None
Change-Id: If2f76c020943b5bcb55803f0742990c9965afd6e
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
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
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
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)
SetVsyncEnabled failure after SetPowerModeVariations on
sailfish
Test: ./VtsHalGraphicsComposerV2_1TargetTest on sailfish
Change-Id: I118988c4ac2b70978267b7c08f20861f4728ff8f
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
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
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
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
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
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
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