diff options
| author | 2022-03-07 16:03:41 -0800 | |
|---|---|---|
| committer | 2022-03-08 00:04:37 +0000 | |
| commit | 302ebed5243a18e85e65038a1ad5608b2f9e735e (patch) | |
| tree | 691fdba01c212ed084c4b9350b02a1328ffd66f5 | |
| parent | 734be1c1cfcd2e314d5aceef127b0ee2054cf183 (diff) | |
SF: add vsyncId to SurfaceFlinger::composite trace
Bug: TBD
Test: systrace
Change-Id: I495748be50f0a1c22e52a3a8791a449ea4f388c1
8 files changed, 11 insertions, 11 deletions
diff --git a/services/surfaceflinger/Scheduler/MessageQueue.cpp b/services/surfaceflinger/Scheduler/MessageQueue.cpp index 712cd5bdf3..f2af85e94a 100644 --- a/services/surfaceflinger/Scheduler/MessageQueue.cpp +++ b/services/surfaceflinger/Scheduler/MessageQueue.cpp @@ -52,7 +52,7 @@ void MessageQueue::Handler::handleMessage(const Message&) { return; } - compositor.composite(frameTime); + compositor.composite(frameTime, mVsyncId); compositor.sample(); } diff --git a/services/surfaceflinger/Scheduler/MessageQueue.h b/services/surfaceflinger/Scheduler/MessageQueue.h index 9532e26a9c..4082e26874 100644 --- a/services/surfaceflinger/Scheduler/MessageQueue.h +++ b/services/surfaceflinger/Scheduler/MessageQueue.h @@ -35,7 +35,7 @@ namespace android { struct ICompositor { virtual bool commit(nsecs_t frameTime, int64_t vsyncId, nsecs_t expectedVsyncTime) = 0; - virtual void composite(nsecs_t frameTime) = 0; + virtual void composite(nsecs_t frameTime, int64_t vsyncId) = 0; virtual void sample() = 0; protected: diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index d4979e8b86..d1ac1d3497 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -2199,8 +2199,8 @@ bool SurfaceFlinger::commit(nsecs_t frameTime, int64_t vsyncId, nsecs_t expected return mustComposite && CC_LIKELY(mBootStage != BootStage::BOOTLOADER); } -void SurfaceFlinger::composite(nsecs_t frameTime) { - ATRACE_CALL(); +void SurfaceFlinger::composite(nsecs_t frameTime, int64_t vsyncId) { + ATRACE_FORMAT("%s %" PRId64, __func__, vsyncId); MainThreadScopedGuard mainThreadGuard(SF_MAIN_THREAD); if (mPowerHintSessionData.sessionEnabled) { mPowerHintSessionData.compositeStart = systemTime(); diff --git a/services/surfaceflinger/SurfaceFlinger.h b/services/surfaceflinger/SurfaceFlinger.h index 0365b3744c..86c83338ff 100644 --- a/services/surfaceflinger/SurfaceFlinger.h +++ b/services/surfaceflinger/SurfaceFlinger.h @@ -671,7 +671,7 @@ private: // Composites a frame for each display. CompositionEngine performs GPU and/or HAL composition // via RenderEngine and the Composer HAL, respectively. - void composite(nsecs_t frameTime) override; + void composite(nsecs_t frameTime, int64_t vsyncId) override; // Samples the composited frame via RegionSamplingThread. void sample() override; diff --git a/services/surfaceflinger/fuzzer/surfaceflinger_fuzzers_utils.h b/services/surfaceflinger/fuzzer/surfaceflinger_fuzzers_utils.h index 2fcf8564fe..b796dfeb1f 100644 --- a/services/surfaceflinger/fuzzer/surfaceflinger_fuzzers_utils.h +++ b/services/surfaceflinger/fuzzer/surfaceflinger_fuzzers_utils.h @@ -271,7 +271,7 @@ public: private: // ICompositor overrides: bool commit(nsecs_t, int64_t, nsecs_t) override { return false; } - void composite(nsecs_t) override {} + void composite(nsecs_t, int64_t) override {} void sample() override {} }; }; // namespace scheduler diff --git a/services/surfaceflinger/tests/unittests/MessageQueueTest.cpp b/services/surfaceflinger/tests/unittests/MessageQueueTest.cpp index 1dd7deaf8d..e0aa0b1768 100644 --- a/services/surfaceflinger/tests/unittests/MessageQueueTest.cpp +++ b/services/surfaceflinger/tests/unittests/MessageQueueTest.cpp @@ -33,7 +33,7 @@ using CallbackToken = scheduler::VSyncDispatch::CallbackToken; struct NoOpCompositor final : ICompositor { bool commit(nsecs_t, int64_t, nsecs_t) override { return false; } - void composite(nsecs_t) override {} + void composite(nsecs_t, int64_t) override {} void sample() override {} } gNoOpCompositor; diff --git a/services/surfaceflinger/tests/unittests/TestableScheduler.h b/services/surfaceflinger/tests/unittests/TestableScheduler.h index 364d8f1411..4708572dc4 100644 --- a/services/surfaceflinger/tests/unittests/TestableScheduler.h +++ b/services/surfaceflinger/tests/unittests/TestableScheduler.h @@ -110,7 +110,7 @@ public: private: // ICompositor overrides: bool commit(nsecs_t, int64_t, nsecs_t) override { return false; } - void composite(nsecs_t) override {} + void composite(nsecs_t, int64_t) override {} void sample() override {} }; diff --git a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h index d83b9bbd40..fe0564e0d3 100644 --- a/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h +++ b/services/surfaceflinger/tests/unittests/TestableSurfaceFlinger.h @@ -334,16 +334,14 @@ public: /* ------------------------------------------------------------------------ * Forwarding for functions being tested */ - nsecs_t commit() { - constexpr int64_t kVsyncId = 123; const nsecs_t now = systemTime(); const nsecs_t expectedVsyncTime = now + 10'000'000; mFlinger->commit(now, kVsyncId, expectedVsyncTime); return now; } - void commitAndComposite() { mFlinger->composite(commit()); } + void commitAndComposite() { mFlinger->composite(commit(), kVsyncId); } auto createDisplay(const String8& displayName, bool secure) { return mFlinger->createDisplay(displayName, secure); @@ -877,6 +875,8 @@ public: }; private: + constexpr static int64_t kVsyncId = 123; + surfaceflinger::test::Factory mFactory; sp<SurfaceFlinger> mFlinger; scheduler::mock::SchedulerCallback mSchedulerCallback; |