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

Commit bf1b69de authored by Peiyong Lin's avatar Peiyong Lin Committed by android-build-merger
Browse files

Attach color space information when attach and queue buffer. am: 0f6a4129

am: 87d4caef

Change-Id: I9ba78a6f58eee5afc94447b0c948a8e8c0948f29
parents 792c6ea9 87d4caef
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -1935,7 +1935,8 @@ status_t Surface::getAndFlushRemovedBuffers(std::vector<sp<GraphicBuffer>>* out)
    return OK;
}

status_t Surface::attachAndQueueBuffer(Surface* surface, sp<GraphicBuffer> buffer) {
status_t Surface::attachAndQueueBufferWithDataspace(Surface* surface, sp<GraphicBuffer> buffer,
                                                    Dataspace dataspace) {
    if (buffer == nullptr) {
        return BAD_VALUE;
    }
@@ -1944,6 +1945,11 @@ status_t Surface::attachAndQueueBuffer(Surface* surface, sp<GraphicBuffer> buffe
    if (err != OK) {
        return err;
    }
    ui::Dataspace tmpDataspace = surface->getBuffersDataSpace();
    err = surface->setBuffersDataSpace(dataspace);
    if (err != OK) {
        return err;
    }
    err = surface->attachBuffer(buffer->getNativeBuffer());
    if (err != OK) {
        return err;
@@ -1952,6 +1958,10 @@ status_t Surface::attachAndQueueBuffer(Surface* surface, sp<GraphicBuffer> buffe
    if (err != OK) {
        return err;
    }
    err = surface->setBuffersDataSpace(tmpDataspace);
    if (err != OK) {
        return err;
    }
    err = surface->disconnect(NATIVE_WINDOW_API_CPU);
    return err;
}
+2 −1
Original line number Diff line number Diff line
@@ -294,7 +294,8 @@ public:

    ui::Dataspace getBuffersDataSpace();

    static status_t attachAndQueueBuffer(Surface* surface, sp<GraphicBuffer> buffer);
    static status_t attachAndQueueBufferWithDataspace(Surface* surface, sp<GraphicBuffer> buffer,
                                                      ui::Dataspace dataspace);

protected:
    enum { NUM_BUFFER_SLOTS = BufferQueueDefs::NUM_BUFFER_SLOTS };