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

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

Merge "BufferHub{Buffer,Metadata}: Some other minor changes"

parents 15bece0d 1850da23
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -41,7 +41,6 @@


#include <poll.h>
#include <poll.h>


using android::dvr::BufferHubMetadata;
using android::dvr::BufferTraits;
using android::dvr::BufferTraits;
using android::dvr::DetachedBufferRPC;
using android::dvr::DetachedBufferRPC;
using android::dvr::NativeHandleWrapper;
using android::dvr::NativeHandleWrapper;
@@ -160,7 +159,7 @@ int BufferHubBuffer::ImportGraphicBuffer() {


    // If all imports succeed, replace the previous buffer and id.
    // If all imports succeed, replace the previous buffer and id.
    mId = bufferId;
    mId = bufferId;
    mBfferStateBit = bufferTraits.buffer_state_bit();
    mBufferStateBit = bufferTraits.buffer_state_bit();


    // TODO(b/112012161) Set up shared fences.
    // TODO(b/112012161) Set up shared fences.
    ALOGD("BufferHubBuffer::ImportGraphicBuffer: id=%d, buffer_state=%" PRIx64 ".", id(),
    ALOGD("BufferHubBuffer::ImportGraphicBuffer: id=%d, buffer_state=%" PRIx64 ".", id(),
+2 −4
Original line number Original line Diff line number Diff line
@@ -22,7 +22,6 @@
#include <ui/BufferHubMetadata.h>
#include <ui/BufferHubMetadata.h>


namespace android {
namespace android {
namespace dvr {


namespace {
namespace {


@@ -30,8 +29,8 @@ static const int kAshmemProt = PROT_READ | PROT_WRITE;


} // namespace
} // namespace


using BufferHubDefs::kMetadataHeaderSize;
using dvr::BufferHubDefs::kMetadataHeaderSize;
using BufferHubDefs::MetadataHeader;
using dvr::BufferHubDefs::MetadataHeader;


/* static */
/* static */
BufferHubMetadata BufferHubMetadata::Create(size_t userMetadataSize) {
BufferHubMetadata BufferHubMetadata::Create(size_t userMetadataSize) {
@@ -101,5 +100,4 @@ BufferHubMetadata::~BufferHubMetadata() {
    }
    }
}
}


} // namespace dvr
} // namespace android
} // namespace android
+4 −4
Original line number Original line Diff line number Diff line
@@ -88,7 +88,7 @@ public:


    // A state mask which is unique to a buffer hub client among all its siblings sharing the same
    // A state mask which is unique to a buffer hub client among all its siblings sharing the same
    // concrete graphic buffer.
    // concrete graphic buffer.
    uint64_t buffer_state_bit() const { return mBfferStateBit; }
    uint64_t buffer_state_bit() const { return mBufferStateBit; }


    size_t user_metadata_size() const { return mMetadata.user_metadata_size(); }
    size_t user_metadata_size() const { return mMetadata.user_metadata_size(); }


@@ -130,15 +130,15 @@ private:
    int ImportGraphicBuffer();
    int ImportGraphicBuffer();


    // Global id for the buffer that is consistent across processes.
    // Global id for the buffer that is consistent across processes.
    int mId;
    int mId = -1;
    uint64_t mBfferStateBit;
    uint64_t mBufferStateBit = 0;


    // Wrapps the gralloc buffer handle of this buffer.
    // Wrapps the gralloc buffer handle of this buffer.
    dvr::NativeHandleWrapper<pdx::LocalHandle> mBufferHandle;
    dvr::NativeHandleWrapper<pdx::LocalHandle> mBufferHandle;


    // An ashmem-based metadata object. The same shared memory are mapped to the
    // An ashmem-based metadata object. The same shared memory are mapped to the
    // bufferhubd daemon and all buffer clients.
    // bufferhubd daemon and all buffer clients.
    dvr::BufferHubMetadata mMetadata;
    BufferHubMetadata mMetadata;


    // PDX backend.
    // PDX backend.
    BufferHubClient mClient;
    BufferHubClient mClient;
+6 −6
Original line number Original line Diff line number Diff line
@@ -38,7 +38,6 @@
#pragma clang diagnostic pop
#pragma clang diagnostic pop


namespace android {
namespace android {
namespace dvr {


class BufferHubMetadata {
class BufferHubMetadata {
public:
public:
@@ -83,24 +82,25 @@ public:
    bool IsValid() const { return mAshmemHandle.IsValid() && mMetadataHeader != nullptr; }
    bool IsValid() const { return mAshmemHandle.IsValid() && mMetadataHeader != nullptr; }


    size_t user_metadata_size() const { return mUserMetadataSize; }
    size_t user_metadata_size() const { return mUserMetadataSize; }
    size_t metadata_size() const { return mUserMetadataSize + BufferHubDefs::kMetadataHeaderSize; }
    size_t metadata_size() const {
        return mUserMetadataSize + dvr::BufferHubDefs::kMetadataHeaderSize;
    }


    const pdx::LocalHandle& ashmem_handle() const { return mAshmemHandle; }
    const pdx::LocalHandle& ashmem_handle() const { return mAshmemHandle; }
    BufferHubDefs::MetadataHeader* metadata_header() { return mMetadataHeader; }
    dvr::BufferHubDefs::MetadataHeader* metadata_header() { return mMetadataHeader; }


private:
private:
    BufferHubMetadata(size_t userMetadataSize, pdx::LocalHandle ashmemHandle,
    BufferHubMetadata(size_t userMetadataSize, pdx::LocalHandle ashmemHandle,
                      BufferHubDefs::MetadataHeader* metadataHeader);
                      dvr::BufferHubDefs::MetadataHeader* metadataHeader);


    BufferHubMetadata(const BufferHubMetadata&) = delete;
    BufferHubMetadata(const BufferHubMetadata&) = delete;
    void operator=(const BufferHubMetadata&) = delete;
    void operator=(const BufferHubMetadata&) = delete;


    size_t mUserMetadataSize = 0;
    size_t mUserMetadataSize = 0;
    pdx::LocalHandle mAshmemHandle;
    pdx::LocalHandle mAshmemHandle;
    BufferHubDefs::MetadataHeader* mMetadataHeader = nullptr;
    dvr::BufferHubDefs::MetadataHeader* mMetadataHeader = nullptr;
};
};


} // namespace dvr
} // namespace android
} // namespace android


#endif // ANDROID_BUFFER_HUB_METADATA_H_
#endif // ANDROID_BUFFER_HUB_METADATA_H_