Loading services/surfaceflinger/BufferLayer.cpp +28 −26 Original line number Diff line number Diff line Loading @@ -421,8 +421,10 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mFrameTracker.setFrameReadyTime(desiredPresentTime); } if (display) { const Fps refreshRate = display->refreshRateConfigs().getCurrentRefreshRate().getFps(); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); if (presentFence->isValid()) { mFlinger->mTimeStats->setPresentFence(layerId, mCurrentFrameNumber, presentFence, refreshRate, renderRate, Loading @@ -430,10 +432,9 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceFence(layerId, getCurrentBufferId(), mCurrentFrameNumber, presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentFence(std::shared_ptr<FenceTime>(presentFence)); } else if (!display) { // Do nothing. } else if (const auto displayId = PhysicalDisplayId::tryCast(display->getId()); displayId && mFlinger->getHwComposer().isConnected(*displayId)) { // The HWC doesn't support present fences, so use the refresh Loading @@ -444,11 +445,12 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, frameRateToSetFrameRateVotePayload( mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentTime(actualPresentTime); } } mFrameTracker.advanceFrame(); mBufferInfo.mFrameLatencyNeeded = false; Loading Loading
services/surfaceflinger/BufferLayer.cpp +28 −26 Original line number Diff line number Diff line Loading @@ -421,8 +421,10 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mFrameTracker.setFrameReadyTime(desiredPresentTime); } if (display) { const Fps refreshRate = display->refreshRateConfigs().getCurrentRefreshRate().getFps(); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); const std::optional<Fps> renderRate = mFlinger->mScheduler->getFrameRateOverride(getOwnerUid()); if (presentFence->isValid()) { mFlinger->mTimeStats->setPresentFence(layerId, mCurrentFrameNumber, presentFence, refreshRate, renderRate, Loading @@ -430,10 +432,9 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceFence(layerId, getCurrentBufferId(), mCurrentFrameNumber, presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); presentFence, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentFence(std::shared_ptr<FenceTime>(presentFence)); } else if (!display) { // Do nothing. } else if (const auto displayId = PhysicalDisplayId::tryCast(display->getId()); displayId && mFlinger->getHwComposer().isConnected(*displayId)) { // The HWC doesn't support present fences, so use the refresh Loading @@ -444,11 +445,12 @@ bool BufferLayer::onPostComposition(const DisplayDevice* display, frameRateToSetFrameRateVotePayload( mDrawingState.frameRate), getGameMode()); mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, mFlinger->mFrameTracer->traceTimestamp(layerId, getCurrentBufferId(), mCurrentFrameNumber, actualPresentTime, FrameTracer::FrameEvent::PRESENT_FENCE); mFrameTracker.setActualPresentTime(actualPresentTime); } } mFrameTracker.advanceFrame(); mBufferInfo.mFrameLatencyNeeded = false; Loading