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

Commit 7038766b authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "[SurfaceFlinger] Checking nullptr for HWC layer."

parents 474b02d2 0874d2b9
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -622,6 +622,9 @@ void BufferLayer::setPerFrameData(const sp<const DisplayDevice>& displayDevice)
    const auto& viewport = displayDevice->getViewport();
    const auto& viewport = displayDevice->getViewport();
    Region visible = tr.transform(visibleRegion.intersect(viewport));
    Region visible = tr.transform(visibleRegion.intersect(viewport));
    auto hwcId = displayDevice->getHwcDisplayId();
    auto hwcId = displayDevice->getHwcDisplayId();
    if (!hasHwcLayer(hwcId)) {
        return;
    }
    auto& hwcInfo = getBE().mHwcLayers[hwcId];
    auto& hwcInfo = getBE().mHwcLayers[hwcId];
    auto& hwcLayer = hwcInfo.layer;
    auto& hwcLayer = hwcInfo.layer;
    auto error = hwcLayer->setVisibleRegion(visible);
    auto error = hwcLayer->setVisibleRegion(visible);
+3 −0
Original line number Original line Diff line number Diff line
@@ -66,6 +66,9 @@ void ColorLayer::setPerFrameData(const sp<const DisplayDevice>& displayDevice) {
    const auto& viewport = displayDevice->getViewport();
    const auto& viewport = displayDevice->getViewport();
    Region visible = tr.transform(visibleRegion.intersect(viewport));
    Region visible = tr.transform(visibleRegion.intersect(viewport));
    auto hwcId = displayDevice->getHwcDisplayId();
    auto hwcId = displayDevice->getHwcDisplayId();
    if (!hasHwcLayer(hwcId)) {
        return;
    }
    auto& hwcInfo = getBE().mHwcLayers[hwcId];
    auto& hwcInfo = getBE().mHwcLayers[hwcId];
    auto& hwcLayer = hwcInfo.layer;
    auto& hwcLayer = hwcInfo.layer;
    auto error = hwcLayer->setVisibleRegion(visible);
    auto error = hwcLayer->setVisibleRegion(visible);
+6 −0
Original line number Original line Diff line number Diff line
@@ -486,6 +486,9 @@ FloatRect Layer::computeCrop(const sp<const DisplayDevice>& hw) const {
void Layer::setGeometry(const sp<const DisplayDevice>& displayDevice, uint32_t z)
void Layer::setGeometry(const sp<const DisplayDevice>& displayDevice, uint32_t z)
{
{
    const auto hwcId = displayDevice->getHwcDisplayId();
    const auto hwcId = displayDevice->getHwcDisplayId();
    if (!hasHwcLayer(hwcId)) {
        return;
    }
    auto& hwcInfo = getBE().mHwcLayers[hwcId];
    auto& hwcInfo = getBE().mHwcLayers[hwcId];


    // enable this layer
    // enable this layer
@@ -1977,6 +1980,9 @@ void Layer::writeToProto(LayerProto* layerInfo, LayerVector::StateSet stateSet)
}
}


void Layer::writeToProto(LayerProto* layerInfo, int32_t hwcId) {
void Layer::writeToProto(LayerProto* layerInfo, int32_t hwcId) {
    if (!hasHwcLayer(hwcId)) {
        return;
    }
    writeToProto(layerInfo, LayerVector::StateSet::Drawing);
    writeToProto(layerInfo, LayerVector::StateSet::Drawing);


    const auto& hwcInfo = getBE().mHwcLayers.at(hwcId);
    const auto& hwcInfo = getBE().mHwcLayers.at(hwcId);