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

Commit 28f9c86b authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[HWC2on1Adapter]: Add support for HWC2_PFN_GET_CLIENT_TARGET_SUPPORT"

parents 757b4ec4 9e45be3f
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -245,6 +245,11 @@ hwc2_function_pointer_t HWC2On1Adapter::doGetFunction(
            return asFP<HWC2_PFN_VALIDATE_DISPLAY>(
                    displayHook<decltype(&Display::validate),
                    &Display::validate, uint32_t*, uint32_t*>);
        case FunctionDescriptor::GetClientTargetSupport:
            return asFP<HWC2_PFN_GET_CLIENT_TARGET_SUPPORT>(
                    displayHook<decltype(&Display::getClientTargetSupport),
                    &Display::getClientTargetSupport, uint32_t, uint32_t,
                                                      int32_t, int32_t>);

        // Layer functions
        case FunctionDescriptor::SetCursorPosition:
@@ -1009,6 +1014,22 @@ Error HWC2On1Adapter::Display::updateLayerZ(hwc2_layer_t layerId, uint32_t z) {
    return Error::None;
}

Error HWC2On1Adapter::Display::getClientTargetSupport(uint32_t width, uint32_t height,
                                      int32_t format, int32_t dataspace){
    if (mActiveConfig == nullptr) {
        return Error::Unsupported;
    }

    if (width == mActiveConfig->getAttribute(Attribute::Width) &&
            height == mActiveConfig->getAttribute(Attribute::Height) &&
            format == HAL_PIXEL_FORMAT_RGBA_8888 &&
            dataspace == HAL_DATASPACE_UNKNOWN) {
        return Error::None;
    }

    return Error::Unsupported;
}

static constexpr uint32_t ATTRIBUTES_WITH_COLOR[] = {
    HWC_DISPLAY_VSYNC_PERIOD,
    HWC_DISPLAY_WIDTH,
+3 −0
Original line number Diff line number Diff line
@@ -248,6 +248,9 @@ private:

            HWC2::Error updateLayerZ(hwc2_layer_t layerId, uint32_t z);

            HWC2::Error getClientTargetSupport(uint32_t width, uint32_t height,
                     int32_t format, int32_t dataspace);

            // Read configs from HWC1 device
            void populateConfigs();