Loading include/gui/BufferQueueCore.h +2 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,8 @@ private: OccupancyTracker mOccupancyTracker; const uint64_t mUniqueId; }; // class BufferQueueCore } // namespace android Loading include/gui/BufferQueueProducer.h +3 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,9 @@ public: virtual bool getFrameTimestamps(uint64_t frameNumber, FrameTimestamps* outTimestamps) const override; // See IGraphicBufferProducer::getUniqueId virtual status_t getUniqueId(uint64_t* outId) const override; private: // This is required by the IBinder::DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); Loading include/gui/IGraphicBufferProducer.h +3 −0 Original line number Diff line number Diff line Loading @@ -578,6 +578,9 @@ public: // If a fence has not yet signaled the timestamp returned will be 0; virtual bool getFrameTimestamps(uint64_t /*frameNumber*/, FrameTimestamps* /*outTimestamps*/) const { return false; } // Returns a unique id for this BufferQueue virtual status_t getUniqueId(uint64_t* outId) const = 0; }; // ---------------------------------------------------------------------------- Loading include/gui/Surface.h +2 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,8 @@ public: nsecs_t* outGlCompositionDoneTime, nsecs_t* outDisplayRetireTime, nsecs_t* outReleaseTime); status_t getUniqueId(uint64_t* outId) const; protected: virtual ~Surface(); Loading libs/gui/BufferQueueCore.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,12 @@ static String8 getUniqueName() { android_atomic_inc(&counter)); } static uint64_t getUniqueId() { static std::atomic<uint32_t> counter{0}; static uint64_t id = static_cast<uint64_t>(getpid()) << 32; return id | counter++; } BufferQueueCore::BufferQueueCore(const sp<IGraphicBufferAlloc>& allocator) : mAllocator(allocator), mMutex(), Loading Loading @@ -82,7 +88,8 @@ BufferQueueCore::BufferQueueCore(const sp<IGraphicBufferAlloc>& allocator) : mAutoRefresh(false), mSharedBufferSlot(INVALID_BUFFER_SLOT), mSharedBufferCache(Rect::INVALID_RECT, 0, NATIVE_WINDOW_SCALING_MODE_FREEZE, HAL_DATASPACE_UNKNOWN) HAL_DATASPACE_UNKNOWN), mUniqueId(getUniqueId()) { if (allocator == NULL) { sp<ISurfaceComposer> composer(ComposerService::getComposerService()); Loading Loading
include/gui/BufferQueueCore.h +2 −0 Original line number Diff line number Diff line Loading @@ -325,6 +325,8 @@ private: OccupancyTracker mOccupancyTracker; const uint64_t mUniqueId; }; // class BufferQueueCore } // namespace android Loading
include/gui/BufferQueueProducer.h +3 −0 Original line number Diff line number Diff line Loading @@ -190,6 +190,9 @@ public: virtual bool getFrameTimestamps(uint64_t frameNumber, FrameTimestamps* outTimestamps) const override; // See IGraphicBufferProducer::getUniqueId virtual status_t getUniqueId(uint64_t* outId) const override; private: // This is required by the IBinder::DeathRecipient interface virtual void binderDied(const wp<IBinder>& who); Loading
include/gui/IGraphicBufferProducer.h +3 −0 Original line number Diff line number Diff line Loading @@ -578,6 +578,9 @@ public: // If a fence has not yet signaled the timestamp returned will be 0; virtual bool getFrameTimestamps(uint64_t /*frameNumber*/, FrameTimestamps* /*outTimestamps*/) const { return false; } // Returns a unique id for this BufferQueue virtual status_t getUniqueId(uint64_t* outId) const = 0; }; // ---------------------------------------------------------------------------- Loading
include/gui/Surface.h +2 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,8 @@ public: nsecs_t* outGlCompositionDoneTime, nsecs_t* outDisplayRetireTime, nsecs_t* outReleaseTime); status_t getUniqueId(uint64_t* outId) const; protected: virtual ~Surface(); Loading
libs/gui/BufferQueueCore.cpp +8 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,12 @@ static String8 getUniqueName() { android_atomic_inc(&counter)); } static uint64_t getUniqueId() { static std::atomic<uint32_t> counter{0}; static uint64_t id = static_cast<uint64_t>(getpid()) << 32; return id | counter++; } BufferQueueCore::BufferQueueCore(const sp<IGraphicBufferAlloc>& allocator) : mAllocator(allocator), mMutex(), Loading Loading @@ -82,7 +88,8 @@ BufferQueueCore::BufferQueueCore(const sp<IGraphicBufferAlloc>& allocator) : mAutoRefresh(false), mSharedBufferSlot(INVALID_BUFFER_SLOT), mSharedBufferCache(Rect::INVALID_RECT, 0, NATIVE_WINDOW_SCALING_MODE_FREEZE, HAL_DATASPACE_UNKNOWN) HAL_DATASPACE_UNKNOWN), mUniqueId(getUniqueId()) { if (allocator == NULL) { sp<ISurfaceComposer> composer(ComposerService::getComposerService()); Loading