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

Commit f314fb32 authored by Ady Abraham's avatar Ady Abraham Committed by Android (Google) Code Review
Browse files

Merge "SF: ignore eAutoRefreshChanged with latch unsignaled" into main

parents 68272142 bb1ad767
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -585,11 +585,13 @@ bool RequestedLayerState::isSimpleBufferUpdate(const layer_state_t& s) const {
        return false;
    }

    static constexpr uint64_t deniedFlags = layer_state_t::eProducerDisconnect |
            layer_state_t::eLayerChanged | layer_state_t::eRelativeLayerChanged |
            layer_state_t::eTransparentRegionChanged | layer_state_t::eFlagsChanged |
            layer_state_t::eBlurRegionsChanged | layer_state_t::eLayerStackChanged |
            layer_state_t::eAutoRefreshChanged | layer_state_t::eReparent;
    const uint64_t deniedFlags = layer_state_t::eProducerDisconnect | layer_state_t::eLayerChanged |
            layer_state_t::eRelativeLayerChanged | layer_state_t::eTransparentRegionChanged |
            layer_state_t::eFlagsChanged | layer_state_t::eBlurRegionsChanged |
            layer_state_t::eLayerStackChanged | layer_state_t::eReparent |
            (FlagManager::getInstance().latch_unsignaled_with_auto_refresh_changed()
                     ? 0
                     : layer_state_t::eAutoRefreshChanged);
    if (s.what & deniedFlags) {
        ATRACE_FORMAT_INSTANT("%s: false [has denied flags 0x%" PRIx64 "]", __func__,
                              s.what & deniedFlags);
+4 −2
Original line number Diff line number Diff line
@@ -3792,8 +3792,10 @@ bool Layer::isSimpleBufferUpdate(const layer_state_t& s) const {
    const uint64_t deniedFlags = layer_state_t::eProducerDisconnect | layer_state_t::eLayerChanged |
            layer_state_t::eRelativeLayerChanged | layer_state_t::eTransparentRegionChanged |
            layer_state_t::eFlagsChanged | layer_state_t::eBlurRegionsChanged |
            layer_state_t::eLayerStackChanged | layer_state_t::eAutoRefreshChanged |
            layer_state_t::eReparent;
            layer_state_t::eLayerStackChanged | layer_state_t::eReparent |
            (FlagManager::getInstance().latch_unsignaled_with_auto_refresh_changed()
                     ? 0
                     : layer_state_t::eAutoRefreshChanged);

    if ((s.what & requiredFlags) != requiredFlags) {
        ATRACE_FORMAT_INSTANT("%s: false [missing required flags 0x%" PRIx64 "]", __func__,
+3 −0
Original line number Diff line number Diff line
@@ -140,6 +140,8 @@ void FlagManager::dump(std::string& result) const {
    DUMP_READ_ONLY_FLAG(ce_fence_promise);
    DUMP_READ_ONLY_FLAG(idle_screen_refresh_rate_timeout);
    DUMP_READ_ONLY_FLAG(graphite_renderengine);
    DUMP_READ_ONLY_FLAG(latch_unsignaled_with_auto_refresh_changed);

#undef DUMP_READ_ONLY_FLAG
#undef DUMP_SERVER_FLAG
#undef DUMP_FLAG_INTERVAL
@@ -229,6 +231,7 @@ FLAG_MANAGER_READ_ONLY_FLAG(dont_skip_on_early_ro, "")
FLAG_MANAGER_READ_ONLY_FLAG(protected_if_client, "")
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, "");

/// Trunk stable server flags ///
FLAG_MANAGER_SERVER_FLAG(refresh_rate_overlay_on_external_display, "")
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ public:
    bool ce_fence_promise() const;
    bool idle_screen_refresh_rate_timeout() const;
    bool graphite_renderengine() const;
    bool latch_unsignaled_with_auto_refresh_changed() const;

protected:
    // overridden for unit tests
+11 −0
Original line number Diff line number Diff line
@@ -39,4 +39,15 @@ flag {
  }
} # frame_rate_category_mrr

flag {
  name: "latch_unsignaled_with_auto_refresh_changed"
  namespace: "core_graphics"
  description: "Ignore eAutoRefreshChanged with latch unsignaled"
  bug: "331513837"
  is_fixed_read_only: true
  metadata {
    purpose: PURPOSE_BUGFIX
  }
} # latch_unsignaled_with_auto_refresh_changed

# IMPORTANT - please keep alphabetize to reduce merge conflicts
Loading