Moving DispSync into Scheduler.
This change is part of go/surface-flinger-scheduler.
Test: SF tests pass.
Change-Id: I073a54c2111fa3146af3eb68f3294c3c5c95543c
diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp
index ab9a2f8..06e8a98 100644
--- a/services/surfaceflinger/BufferQueueLayer.cpp
+++ b/services/surfaceflinger/BufferQueueLayer.cpp
@@ -230,10 +230,13 @@
LayerRejecter r(mDrawingState, getCurrentState(), recomputeVisibleRegions,
getProducerStickyTransform() != 0, mName.string(), mOverrideScalingMode,
getTransformToDisplayInverse(), mFreezeGeometryUpdates);
+
+ const nsecs_t expectedPresentTime = mFlinger->mUseScheduler
+ ? mFlinger->mScheduler->mPrimaryDispSync->expectedPresentTime()
+ : mFlinger->mPrimaryDispSync->expectedPresentTime();
status_t updateResult =
- mConsumer->updateTexImage(&r, mFlinger->mPrimaryDispSync->expectedPresentTime(),
- &mAutoRefresh, &queuedBuffer, mLastFrameNumberReceived,
- releaseFence);
+ mConsumer->updateTexImage(&r, expectedPresentTime, &mAutoRefresh, &queuedBuffer,
+ mLastFrameNumberReceived, releaseFence);
if (updateResult == BufferQueue::PRESENT_LATER) {
// Producer doesn't want buffer to be displayed yet. Signal a
// layer update so we check again at the next opportunity.