Merge "Support P010 with Gralloc2 on Gralloc1 passthrough" am: 89142b4935 am: 96ee08d953 am: a0f7f8486e am: 68dc613d33 am: 8f0d5f67c8

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2208777

Change-Id: I7082256539c21ec1fa8a70f679a9b46754638899
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jason Macnak
2022-09-15 17:53:51 +00:00
committed by Automerger Merge Worker

View File

@@ -259,19 +259,22 @@ class Gralloc1HalImpl : public Hal {
for (int i = 0; i < 3; i++) {
const auto& plane = flex.planes[i];
// must have 8-bit depth
if (plane.bits_per_component != 8 || plane.bits_used != 8) {
// Must be a positive multiple of 8.
if (plane.bits_per_component <= 0 || (plane.bits_per_component % 8) != 0) {
return false;
}
// Must be between 1 and bits_per_component, inclusive.
if (plane.bits_used < 1 || plane.bits_used > plane.bits_per_component) {
return false;
}
if (plane.component == FLEX_COMPONENT_Y) {
// Y must not be interleaved
if (plane.h_increment != 1) {
if (plane.h_increment != 1 && plane.h_increment != 2) {
return false;
}
} else {
// Cb and Cr can be interleaved
if (plane.h_increment != 1 && plane.h_increment != 2) {
if (plane.h_increment != 1 && plane.h_increment != 2 && plane.h_increment != 4) {
return false;
}
}