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
the composer HAL should be in the system-background cpuset, but hwc 2.3 is not
in any cpuset. This patch restricts it to system-background.
BUG: 132559090
Test: Build, flash and boot.
Change-Id: I1739a6c049e195f6cc79b81fcba7a6fcb55b546a
Set composition type to Cursor
Bug: 132057336, 131181758
Test: VtsHalGraphicsComposerV2_1TargetTest
Change-Id: I03ae799358abcdbd0a1c39a13d30d76aa7712004
Old test checked error code when calling getBrightnessSupport in the
getDisplayCapabilitiesBasic test. However, it is possible that the
function is not implemented (UNSUPPORTED). We want to return normally
and use the returned supported boolean to check this instead.
Bug: 132043561, 132056857
Test: VtsHalGraphicsComposerV2_3TargetTest
Change-Id: I94f8f39ba9129c4a8d939a5385538db3489c46b9
If getDisplayBrightnessSupport is not registered, there are two possibilities,
one is it's not supported at all, the other is that the support is returned in
getDisplayCapabilities. And thus we need to check getDisplayCapabilities, and
we return UNSUPPORTED always in this case. This patch also allows
getPerFrameMetadataKeys to return UNSUPPORTED on non-HDR capable devices.
BUG: 131595097
Test: Build, boot.
Change-Id: Ied302b1ac702dd94e039f1081d5420395c1bfbf4
After adding validateBufferSize and getTransportSize,
call into these functions if they have been implemented
This reverts commit 5e01b1411a.
Reason for revert: Merge once targets w/ gralloc0 dependency have been updated
Bug: 130669566
Test: build, boot
Change-Id: Ic20a62c5e73f517028a358548442d59c9cf91cdf
After adding validateBufferSize and getTransportSize,
call into these functions if they have been implemented
Bug: 130669566
Test: build, boot
Change-Id: I445cb6122107a514bc0bf433a9e140dbe3122573
hidl-generated makefiles are now generated such that bpfmt(file) == file.
Bug: 67417008
Test: enable bpfmt hook
Change-Id: I53e5bf67a0d314e1b10c0ba0c7172a7af358ddcc
hidl-generated makefiles are now generated such that bpfmt(file) == file.
Bug: 67417008
Test: enable bpfmt hook
Change-Id: I1f69d292bc23a7cc293a66110cb02d597e1019ad
Brightness is already a per display capability, we don't need this API.
BUG: 130313275
Test: build
Change-Id: I0a669aca19a2873df41bee82bd0e5e2775af8101
Some required APIs must be implemented, and thus passthrough will always assume
the function pointers exist.
BUG: 130195295
Test: atest VtsHalGraphicsComposerV2_3Target
Change-Id: Ic2790363fcb116e66438697b1a2e64e71ffc8ac6
Update IMapper to use usage and format from
android.hardware.graphics.common@1.2. This enables support for
the usage HW_IMAGE_ENCODER and the format HSV_888 which is
already being defined and used.
Test: IMapper VTS tests
Bug: 79465976
Change-Id: I680beb6e5b1cd246c28d17f855f5c76a5831ce06
This reverts commit 6f5a48f7af.
Reason for revert: Reinstating with fix
Below is the original commit message:
SET_LAYER_COLOR_TRANSFORM is an optional API, and thus when it's not
implemented. we want to make sure we follow the spec to mark those layers as
client composition and add them into changed layers list proactively.
BUG: 115554640
Test: Verify with setting color transform manually.
Change-Id: Ia2e8634b01ee1b5c99893e86ef451f90337ef90f
Change the error message that prints when IMapper 3.0 isn't present.
The old warning was causing unnecessary concerns.
Bug: 128013727
Test: compile
Change-Id: I197cd953d08a8e9f3bdee92cede973bf1b97dfe2
(cherry picked from commit ccbd24f633)
SET_LAYER_COLOR_TRANSFORM is an optional API, and thus when it's not
implemented. we want to make sure we follow the spec to mark those layers as
client composition and add them into changed layers list proactively.
BUG: 115554640
Test: Verify with setting color transform manually.
Change-Id: I53b4039eb63cccd1b174e3c6da3b6336b85e0321
Existing Android framework code (and transitively, CTS test) require
that an accessRegion of (0,0,0,0) is treated the same as an
accessRegion covering the entire buffer, when calling lock() or
lockYCbCr().
Document this so that there is no confusion about this going forward,
since this requirement pre-dates the HIDL HALs.
Bug: 119440345
Test: Builds
Change-Id: Id16831d3da4ec3dc74dbdca18447581a50ee1193
attachBuffer() should take a generation number and requestBuffer()
should return a generation number because AHardwareBuffer does not carry
the generation number.
Test: make cts -j123 && cts-tradefed run cts-dev -m \
CtsMediaTestCases --compatibility:module-arg \
CtsMediaTestCases:include-annotation:\
android.platform.test.annotations.RequiresDevice
Bug: 127778192
Change-Id: I201f84cf66f0e19b794a05c5ba88066360a37d96
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
- 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
so other components can start the hal interface when needed.
Test: manual
Change-Id: I61a4d396e86ec8dbda2cbabcc7afca7be7628f26
(cherry picked from commit c4f493977b6315d3dfe8e05f0c2516e2b00feca4)
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
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