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

Commit d37343ba authored by Vishnu Nair's avatar Vishnu Nair
Browse files

SF: Add new fields to transactions proto

- track layer handle removal so layer lifecycle
  can be recreated accurately when rebuilding layer
  state
- track buffer format since it affects opacity
- track transaction ids to track transactions
  across the system
- also fixes relative z tracking

Test: atest TransactionProtoParserTest
Bug: 200284593
Change-Id: I037e40219f9fee8957051352beeba88681b8cf43
parent 30dfc654
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -227,7 +227,6 @@ cc_defaults {
        "libcutils",
        "libcutils",
        "libdisplayservicehidl",
        "libdisplayservicehidl",
        "libhidlbase",
        "libhidlbase",
        "liblayers_proto",
        "liblog",
        "liblog",
        "libprocessgroup",
        "libprocessgroup",
        "libsync",
        "libsync",
+4 −0
Original line number Original line Diff line number Diff line
@@ -820,6 +820,10 @@ bool BufferLayer::bufferNeedsFiltering() const {
    return isFixedSize();
    return isFixedSize();
}
}


const std::shared_ptr<renderengine::ExternalTexture>& BufferLayer::getExternalTexture() const {
    return mBufferInfo.mBuffer;
}

} // namespace android
} // namespace android


#if defined(__gl_h_)
#if defined(__gl_h_)
+1 −0
Original line number Original line Diff line number Diff line
@@ -111,6 +111,7 @@ public:
    ui::Dataspace getDataSpace() const override;
    ui::Dataspace getDataSpace() const override;


    sp<GraphicBuffer> getBuffer() const override;
    sp<GraphicBuffer> getBuffer() const override;
    const std::shared_ptr<renderengine::ExternalTexture>& getExternalTexture() const override;


    ui::Transform::RotationFlags getTransformHint() const override { return mTransformHint; }
    ui::Transform::RotationFlags getTransformHint() const override { return mTransformHint; }


+2 −2
Original line number Original line Diff line number Diff line
@@ -2022,9 +2022,9 @@ LayerProto* Layer::writeToProto(LayersProto& layersProto, uint32_t traceFlags,
void Layer::writeToProtoDrawingState(LayerProto* layerInfo, uint32_t traceFlags,
void Layer::writeToProtoDrawingState(LayerProto* layerInfo, uint32_t traceFlags,
                                     const DisplayDevice* display) {
                                     const DisplayDevice* display) {
    const ui::Transform transform = getTransform();
    const ui::Transform transform = getTransform();
    auto buffer = getBuffer();
    auto buffer = getExternalTexture();
    if (buffer != nullptr) {
    if (buffer != nullptr) {
        LayerProtoHelper::writeToProto(buffer,
        LayerProtoHelper::writeToProto(*buffer,
                                       [&]() { return layerInfo->mutable_active_buffer(); });
                                       [&]() { return layerInfo->mutable_active_buffer(); });
        LayerProtoHelper::writeToProtoDeprecated(ui::Transform(getBufferTransform()),
        LayerProtoHelper::writeToProtoDeprecated(ui::Transform(getBufferTransform()),
                                                 layerInfo->mutable_buffer_transform());
                                                 layerInfo->mutable_buffer_transform());
+3 −0
Original line number Original line Diff line number Diff line
@@ -565,6 +565,9 @@ public:
    virtual uint32_t getBufferTransform() const { return 0; }
    virtual uint32_t getBufferTransform() const { return 0; }


    virtual sp<GraphicBuffer> getBuffer() const { return nullptr; }
    virtual sp<GraphicBuffer> getBuffer() const { return nullptr; }
    virtual const std::shared_ptr<renderengine::ExternalTexture>& getExternalTexture() const {
        return mDrawingState.buffer;
    };


    virtual ui::Transform::RotationFlags getTransformHint() const { return ui::Transform::ROT_0; }
    virtual ui::Transform::RotationFlags getTransformHint() const { return ui::Transform::ROT_0; }


Loading