Loading libs/ui/include/ui/Fence.h +1 −1 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ public: // getStatus() returns whether the fence has signaled yet. Prefer this to // getSignalTime() or wait() if all you care about is whether the fence has // signaled. inline Status getStatus() { virtual inline Status getStatus() { // The sync_wait call underlying wait() has been measured to be // significantly faster than the sync_fence_info call underlying // getSignalTime(), which might otherwise appear to be the more obvious Loading libs/ui/include_mock/ui/MockFence.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ public: virtual ~MockFence() = default; MOCK_METHOD(nsecs_t, getSignalTime, (), (const, override)); MOCK_METHOD(Status, getStatus, (), (override)); }; }; // namespace android::mock libs/ui/tests/MockFence_test.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -42,4 +42,16 @@ TEST_F(MockFenceTest, getSignalTime) { EXPECT_EQ(1234, fence->getSignalTime()); } TEST_F(MockFenceTest, getStatus) { sp<Fence> fence = getFenceForTesting(); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Unsignaled)); EXPECT_EQ(Fence::Status::Unsignaled, fence->getStatus()); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Signaled)); EXPECT_EQ(Fence::Status::Signaled, fence->getStatus()); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Invalid)); EXPECT_EQ(Fence::Status::Invalid, fence->getStatus()); } } // namespace android::ui services/surfaceflinger/BufferQueueLayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ bool BufferQueueLayer::isBufferDue(nsecs_t expectedPresentTime) const { bool BufferQueueLayer::fenceHasSignaled() const { Mutex::Autolock lock(mQueueItemLock); if (SurfaceFlinger::enableLatchUnsignaled) { if (SurfaceFlinger::enableLatchUnsignaledConfig != LatchUnsignaledConfig::Disabled) { return true; } Loading services/surfaceflinger/BufferStateLayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -630,7 +630,7 @@ FloatRect BufferStateLayer::computeSourceBounds(const FloatRect& parentBounds) c // Interface implementation for BufferLayer // ----------------------------------------------------------------------- bool BufferStateLayer::fenceHasSignaled() const { if (SurfaceFlinger::enableLatchUnsignaled) { if (SurfaceFlinger::enableLatchUnsignaledConfig != LatchUnsignaledConfig::Disabled) { return true; } Loading Loading
libs/ui/include/ui/Fence.h +1 −1 Original line number Diff line number Diff line Loading @@ -124,7 +124,7 @@ public: // getStatus() returns whether the fence has signaled yet. Prefer this to // getSignalTime() or wait() if all you care about is whether the fence has // signaled. inline Status getStatus() { virtual inline Status getStatus() { // The sync_wait call underlying wait() has been measured to be // significantly faster than the sync_fence_info call underlying // getSignalTime(), which might otherwise appear to be the more obvious Loading
libs/ui/include_mock/ui/MockFence.h +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ public: virtual ~MockFence() = default; MOCK_METHOD(nsecs_t, getSignalTime, (), (const, override)); MOCK_METHOD(Status, getStatus, (), (override)); }; }; // namespace android::mock
libs/ui/tests/MockFence_test.cpp +12 −0 Original line number Diff line number Diff line Loading @@ -42,4 +42,16 @@ TEST_F(MockFenceTest, getSignalTime) { EXPECT_EQ(1234, fence->getSignalTime()); } TEST_F(MockFenceTest, getStatus) { sp<Fence> fence = getFenceForTesting(); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Unsignaled)); EXPECT_EQ(Fence::Status::Unsignaled, fence->getStatus()); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Signaled)); EXPECT_EQ(Fence::Status::Signaled, fence->getStatus()); EXPECT_CALL(getMockFence(), getStatus).WillOnce(Return(Fence::Status::Invalid)); EXPECT_EQ(Fence::Status::Invalid, fence->getStatus()); } } // namespace android::ui
services/surfaceflinger/BufferQueueLayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -118,7 +118,7 @@ bool BufferQueueLayer::isBufferDue(nsecs_t expectedPresentTime) const { bool BufferQueueLayer::fenceHasSignaled() const { Mutex::Autolock lock(mQueueItemLock); if (SurfaceFlinger::enableLatchUnsignaled) { if (SurfaceFlinger::enableLatchUnsignaledConfig != LatchUnsignaledConfig::Disabled) { return true; } Loading
services/surfaceflinger/BufferStateLayer.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -630,7 +630,7 @@ FloatRect BufferStateLayer::computeSourceBounds(const FloatRect& parentBounds) c // Interface implementation for BufferLayer // ----------------------------------------------------------------------- bool BufferStateLayer::fenceHasSignaled() const { if (SurfaceFlinger::enableLatchUnsignaled) { if (SurfaceFlinger::enableLatchUnsignaledConfig != LatchUnsignaledConfig::Disabled) { return true; } Loading