Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit db1396ce authored by Emilian Peev's avatar Emilian Peev
Browse files

Camera: Relax RGBA format override

RGBA camera outputs must be overriden to
IMPLEMENTATION_DEFINED format only in case their usage
suggests that the consumer is HW and the SW read flags
are clear.

Bug: 35317944
Test: Camera CTS
Change-Id: I99c6903301b2364ee5b686800950f3898ec973a4
parent e54461ae
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -1073,9 +1073,10 @@ binder::Status CameraDeviceClient::createSurfaceFromGbp(
    }

    // FIXME: remove this override since the default format should be
    //       IMPLEMENTATION_DEFINED. b/9487482
    if (format >= HAL_PIXEL_FORMAT_RGBA_8888 &&
        format <= HAL_PIXEL_FORMAT_BGRA_8888) {
    //       IMPLEMENTATION_DEFINED. b/9487482 & b/35317944
    if ((format >= HAL_PIXEL_FORMAT_RGBA_8888 && format <= HAL_PIXEL_FORMAT_BGRA_8888) &&
            ((consumerUsage & GRALLOC_USAGE_HW_MASK) &&
             ((consumerUsage & GRALLOC_USAGE_SW_READ_MASK) == 0))) {
        ALOGW("%s: Camera %s: Overriding format %#x to IMPLEMENTATION_DEFINED",
                __FUNCTION__, mCameraIdStr.string(), format);
        format = HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED;