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

Commit 77589753 authored by Chia-I Wu's avatar Chia-I Wu Committed by android-build-merger
Browse files

Merge "surfaceflinger: use layer drawing dataspace" into pi-dev am: ef38d07d

am: 305d92ac

Change-Id: I09134d37dd8f996e61ccd2d8b5b30aa977e8f75a
parents 9c6a6ac6 305d92ac
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1333,10 +1333,6 @@ bool Layer::setDataSpace(ui::Dataspace dataSpace) {
    return true;
}

ui::Dataspace Layer::getDataSpace() const {
    return mCurrentState.dataSpace;
}

uint32_t Layer::getLayerStack() const {
    auto p = mDrawingParent.promote();
    if (p == nullptr) {
@@ -1429,7 +1425,7 @@ LayerDebugInfo Layer::getLayerDebugInfo() const {
    info.mColor = ds.color;
    info.mFlags = ds.flags;
    info.mPixelFormat = getPixelFormat();
    info.mDataSpace = static_cast<android_dataspace>(getDataSpace());
    info.mDataSpace = static_cast<android_dataspace>(ds.dataSpace);
    info.mMatrix[0][0] = ds.active.transform[0][0];
    info.mMatrix[0][1] = ds.active.transform[0][1];
    info.mMatrix[1][0] = ds.active.transform[1][0];
@@ -1956,7 +1952,7 @@ void Layer::writeToProto(LayerProto* layerInfo, LayerVector::StateSet stateSet)

    layerInfo->set_is_opaque(isOpaque(state));
    layerInfo->set_invalidate(contentDirty);
    layerInfo->set_dataspace(dataspaceDetails(static_cast<android_dataspace>(getDataSpace())));
    layerInfo->set_dataspace(dataspaceDetails(static_cast<android_dataspace>(state.dataSpace)));
    layerInfo->set_pixel_format(decodePixelFormat(getPixelFormat()));
    LayerProtoHelper::writeToProto(getColor(), layerInfo->mutable_color());
    LayerProtoHelper::writeToProto(state.color, layerInfo->mutable_requested_color());
+0 −1
Original line number Diff line number Diff line
@@ -225,7 +225,6 @@ public:
    bool setFlags(uint8_t flags, uint8_t mask);
    bool setLayerStack(uint32_t layerStack);
    bool setDataSpace(ui::Dataspace dataSpace);
    ui::Dataspace getDataSpace() const;
    uint32_t getLayerStack() const;
    void deferTransactionUntil(const sp<IBinder>& barrierHandle, uint64_t frameNumber);
    void deferTransactionUntil(const sp<Layer>& barrierLayer, uint64_t frameNumber);
+5 −5
Original line number Diff line number Diff line
@@ -1871,7 +1871,7 @@ Dataspace SurfaceFlinger::getBestDataspace(
    *outHdrDataSpace = Dataspace::UNKNOWN;

    for (const auto& layer : displayDevice->getVisibleLayersSortedByZ()) {
        switch (layer->getDataSpace()) {
        switch (layer->getDrawingState().dataSpace) {
            case Dataspace::V0_SCRGB:
            case Dataspace::V0_SCRGB_LINEAR:
                bestDataSpace = Dataspace::V0_SCRGB_LINEAR;
@@ -2089,13 +2089,13 @@ void SurfaceFlinger::setUpHWComposer() {
                    "display %zd: %d", displayId, result);
        }
        for (auto& layer : displayDevice->getVisibleLayersSortedByZ()) {
            if ((layer->getDataSpace() == Dataspace::BT2020_PQ ||
                 layer->getDataSpace() == Dataspace::BT2020_ITU_PQ) &&
            if ((layer->getDrawingState().dataSpace == Dataspace::BT2020_PQ ||
                 layer->getDrawingState().dataSpace == Dataspace::BT2020_ITU_PQ) &&
                    !displayDevice->hasHDR10Support()) {
                layer->forceClientComposition(hwcId);
            }
            if ((layer->getDataSpace() == Dataspace::BT2020_HLG ||
                 layer->getDataSpace() == Dataspace::BT2020_ITU_HLG) &&
            if ((layer->getDrawingState().dataSpace == Dataspace::BT2020_HLG ||
                 layer->getDrawingState().dataSpace == Dataspace::BT2020_ITU_HLG) &&
                    !displayDevice->hasHLGSupport()) {
                layer->forceClientComposition(hwcId);
            }