Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ddd64bc4 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6578268 from ce1cb8c6 to rvc-release

Change-Id: Ifb4e0454f9dfba4b00210356e39282bbdc146c55
parents e49dfd53 ce1cb8c6
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2,4 +2,3 @@ service automotive_display /system/bin/android.frameworks.automotive.display@1.0
    class hal
    user graphics
    group automotive_evs
    disabled  # will not automatically start with its class; must be explicitly started.
+11 −4
Original line number Diff line number Diff line
@@ -1931,6 +1931,7 @@ void SurfaceFlinger::onMessageInvalidate(nsecs_t expectedVSyncTime) {
    // ...but if it's larger than 1s then we missed the trace cutoff.
    static constexpr nsecs_t kMaxJankyDuration =
            std::chrono::duration_cast<std::chrono::nanoseconds>(1s).count();
    nsecs_t jankDurationToUpload = -1;
    // If we're in a user build then don't push any atoms
    if (!mIsUserBuild && mMissedFrameJankCount > 0) {
        const auto display = ON_MAIN_THREAD(getDefaultDisplayDeviceLocked());
@@ -1942,10 +1943,7 @@ void SurfaceFlinger::onMessageInvalidate(nsecs_t expectedVSyncTime) {
            const nsecs_t currentTime = systemTime();
            const nsecs_t jankDuration = currentTime - mMissedFrameJankStart;
            if (jankDuration > kMinJankyDuration && jankDuration < kMaxJankyDuration) {
                ATRACE_NAME("Jank detected");
                const int32_t jankyDurationMillis = jankDuration / (1000 * 1000);
                android::util::stats_write(android::util::DISPLAY_JANK_REPORTED,
                                           jankyDurationMillis, mMissedFrameJankCount);
                jankDurationToUpload = jankDuration;
            }

            // We either reported a jank event or we missed the trace
@@ -1998,6 +1996,7 @@ void SurfaceFlinger::onMessageInvalidate(nsecs_t expectedVSyncTime) {

    refreshNeeded |= mRepaintEverything;
    if (refreshNeeded && CC_LIKELY(mBootStage != BootStage::BOOTLOADER)) {
        mLastJankDuration = jankDurationToUpload;
        // Signal a refresh if a transaction modified the window state,
        // a new buffer was latched, or if HWC has requested a full
        // repaint
@@ -2304,6 +2303,14 @@ void SurfaceFlinger::postComposition()
    const size_t appConnections = mScheduler->getEventThreadConnectionCount(mAppConnectionHandle);
    mTimeStats->recordDisplayEventConnectionCount(sfConnections + appConnections);

    if (mLastJankDuration > 0) {
        ATRACE_NAME("Jank detected");
        const int32_t jankyDurationMillis = mLastJankDuration / (1000 * 1000);
        android::util::stats_write(android::util::DISPLAY_JANK_REPORTED, jankyDurationMillis,
                                   mMissedFrameJankCount);
        mLastJankDuration = -1;
    }

    if (isDisplayConnected && !display->isPoweredOn()) {
        return;
    }
+2 −0
Original line number Diff line number Diff line
@@ -1287,6 +1287,8 @@ private:
    // janky frames there are.
    nsecs_t mMissedFrameJankStart = 0;
    int32_t mMissedFrameJankCount = 0;
    // Positive if jank should be uploaded in postComposition
    nsecs_t mLastJankDuration = -1;

    int mFrameRateFlexibilityTokenCount = 0;