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

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

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

parents 1236c388 e1043320
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -1337,10 +1337,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) {
@@ -1433,7 +1429,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];
@@ -1960,7 +1956,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
@@ -288,7 +288,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
@@ -1870,7 +1870,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);
            }