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

Commit 1009c36a authored by Ram Indani's avatar Ram Indani Committed by Android (Google) Code Review
Browse files

Merge changes I4d1c8feb,Ib53b48a7 into main

* changes:
  SF: Update the sequence of operation for frame rate override
  SF: Add a flag vrr_bugfix_dropped_frame
parents e0b510f1 f2f40f4d
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -1118,8 +1118,10 @@ auto Scheduler::applyPolicy(S Policy::*statePtr, T&& newState) -> GlobalSignals
                                                .emitEvent = !choice.consideredSignals.idle});
        }

        frameRateOverridesChanged = updateFrameRateOverridesLocked(consideredSignals, modeOpt->fps);

        if (!FlagManager::getInstance().vrr_bugfix_dropped_frame()) {
            frameRateOverridesChanged =
                    updateFrameRateOverridesLocked(consideredSignals, modeOpt->fps);
        }
        if (mPolicy.modeOpt != modeOpt) {
            mPolicy.modeOpt = modeOpt;
            refreshRateChanged = true;
@@ -1134,6 +1136,12 @@ auto Scheduler::applyPolicy(S Policy::*statePtr, T&& newState) -> GlobalSignals
    if (refreshRateChanged) {
        mSchedulerCallback.requestDisplayModes(std::move(modeRequests));
    }

    if (FlagManager::getInstance().vrr_bugfix_dropped_frame()) {
        std::scoped_lock lock(mPolicyLock);
        frameRateOverridesChanged =
                updateFrameRateOverridesLocked(consideredSignals, mPolicy.modeOpt->fps);
    }
    if (frameRateOverridesChanged) {
        mSchedulerCallback.triggerOnFrameRateOverridesChanged();
    }
+2 −0
Original line number Diff line number Diff line
@@ -136,6 +136,7 @@ void FlagManager::dump(std::string& result) const {
    DUMP_READ_ONLY_FLAG(vulkan_renderengine);
    DUMP_READ_ONLY_FLAG(renderable_buffer_usage);
    DUMP_READ_ONLY_FLAG(vrr_bugfix_24q4);
    DUMP_READ_ONLY_FLAG(vrr_bugfix_dropped_frame);
    DUMP_READ_ONLY_FLAG(restore_blur_step);
    DUMP_READ_ONLY_FLAG(dont_skip_on_early_ro);
    DUMP_READ_ONLY_FLAG(protected_if_client);
@@ -242,6 +243,7 @@ FLAG_MANAGER_READ_ONLY_FLAG(restore_blur_step, "debug.renderengine.restore_blur_
FLAG_MANAGER_READ_ONLY_FLAG(dont_skip_on_early_ro, "")
FLAG_MANAGER_READ_ONLY_FLAG(protected_if_client, "")
FLAG_MANAGER_READ_ONLY_FLAG(vrr_bugfix_24q4, "");
FLAG_MANAGER_READ_ONLY_FLAG(vrr_bugfix_dropped_frame, "")
FLAG_MANAGER_READ_ONLY_FLAG(ce_fence_promise, "");
FLAG_MANAGER_READ_ONLY_FLAG(graphite_renderengine, "debug.renderengine.graphite")
FLAG_MANAGER_READ_ONLY_FLAG(latch_unsignaled_with_auto_refresh_changed, "");
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ public:
    bool screenshot_fence_preservation() const;
    bool vulkan_renderengine() const;
    bool vrr_bugfix_24q4() const;
    bool vrr_bugfix_dropped_frame() const;
    bool renderable_buffer_usage() const;
    bool restore_blur_step() const;
    bool dont_skip_on_early_ro() const;
+11 −0
Original line number Diff line number Diff line
@@ -136,4 +136,15 @@ flag {
  }
} # vrr_bugfix_24q4

flag {
  name: "vrr_bugfix_dropped_frame"
  namespace: "core_graphics"
  description: "bug fix for VRR dropped frame"
  bug: "343603085"
  is_fixed_read_only: true
  metadata {
    purpose: PURPOSE_BUGFIX
  }
} # vrr_bugfix_dropped_frame

# IMPORTANT - please keep alphabetize to reduce merge conflicts