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

Commit c66a7aa6 authored by Ady Abraham's avatar Ady Abraham Committed by Android (Google) Code Review
Browse files

Merge "SF: pass Color as float to HWC"

parents 2f412d6f 6e60b140
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -551,10 +551,10 @@ void OutputLayer::writeOutputIndependentPerFrameStateToHWC(

void OutputLayer::writeSolidColorStateToHWC(HWC2::Layer* hwcLayer,
                                            const LayerFECompositionState& outputIndependentState) {
    hal::Color color = {static_cast<uint8_t>(std::round(255.0f * outputIndependentState.color.r)),
                        static_cast<uint8_t>(std::round(255.0f * outputIndependentState.color.g)),
                        static_cast<uint8_t>(std::round(255.0f * outputIndependentState.color.b)),
                        255};
    aidl::android::hardware::graphics::composer3::Color color = {outputIndependentState.color.r,
                                                                 outputIndependentState.color.g,
                                                                 outputIndependentState.color.b,
                                                                 1.0f};

    if (auto error = hwcLayer->setColor(color); error != hal::Error::NONE) {
        ALOGE("[%s] Failed to set color: %s (%d)", getLayerFE().getDebugName(),
+1 −1
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ public:
                       const android::sp<android::Fence>&));
    MOCK_METHOD1(setSurfaceDamage, Error(const android::Region&));
    MOCK_METHOD1(setBlendMode, Error(hal::BlendMode));
    MOCK_METHOD1(setColor, Error(hal::Color));
    MOCK_METHOD1(setColor, Error(aidl::android::hardware::graphics::composer3::Color));
    MOCK_METHOD1(setCompositionType,
                 Error(aidl::android::hardware::graphics::composer3::Composition));
    MOCK_METHOD1(setDataspace, Error(android::ui::Dataspace));
+2 −3
Original line number Diff line number Diff line
@@ -864,9 +864,8 @@ struct OutputLayerWriteStateToHWCTest : public OutputLayerTest {
    }

    void expectSetColorCall() {
        const hal::Color color = {static_cast<uint8_t>(std::round(kColor.r * 255)),
                                  static_cast<uint8_t>(std::round(kColor.g * 255)),
                                  static_cast<uint8_t>(std::round(kColor.b * 255)), 255};
        const aidl::android::hardware::graphics::composer3::Color color = {kColor.r, kColor.g,
                                                                           kColor.b, 1.0f};

        EXPECT_CALL(*mHwcLayer, setColor(ColorEq(color))).WillOnce(Return(kError));
    }
+2 −14
Original line number Diff line number Diff line
@@ -109,16 +109,6 @@ AidlFRect translate(IComposerClient::FRect x) {
    };
}

template <>
Color translate(IComposerClient::Color x) {
    return Color{
            .r = static_cast<int8_t>(x.r),
            .g = static_cast<int8_t>(x.g),
            .b = static_cast<int8_t>(x.b),
            .a = static_cast<int8_t>(x.a),
    };
}

template <>
AidlPerFrameMetadataBlob translate(IComposerClient::PerFrameMetadataBlob x) {
    AidlPerFrameMetadataBlob blob;
@@ -670,10 +660,8 @@ Error AidlComposer::setLayerBlendMode(Display display, Layer layer,
    return Error::NONE;
}

Error AidlComposer::setLayerColor(Display display, Layer layer,
                                  const IComposerClient::Color& color) {
    mWriter.setLayerColor(translate<int64_t>(display), translate<int64_t>(layer),
                          translate<Color>(color));
Error AidlComposer::setLayerColor(Display display, Layer layer, const Color& color) {
    mWriter.setLayerColor(translate<int64_t>(display), translate<int64_t>(layer), color);
    return Error::NONE;
}

+1 −1
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ public:
    Error setLayerSurfaceDamage(Display display, Layer layer,
                                const std::vector<IComposerClient::Rect>& damage) override;
    Error setLayerBlendMode(Display display, Layer layer, IComposerClient::BlendMode mode) override;
    Error setLayerColor(Display display, Layer layer, const IComposerClient::Color& color) override;
    Error setLayerColor(Display display, Layer layer, const Color& color) override;
    Error setLayerCompositionType(
            Display display, Layer layer,
            aidl::android::hardware::graphics::composer3::Composition type) override;
Loading