From fe85ba19c4da743d5d936ce4d79eef81ff4814a8 Mon Sep 17 00:00:00 2001 From: Vikas batchu Date: Mon, 24 Jul 2023 17:34:56 +0530 Subject: [PATCH 1/2] smomo_interface: add api to get refresh rate vote for tracked layer Change-Id: I1b2e140e25e32cfad62d273cca4bf6660cf6e91c --- include/smomo_interface.h | 49 ++++++++++++--------------------------- 1 file changed, 15 insertions(+), 34 deletions(-) diff --git a/include/smomo_interface.h b/include/smomo_interface.h index 72894bc7..68dfb17a 100644 --- a/include/smomo_interface.h +++ b/include/smomo_interface.h @@ -23,40 +23,11 @@ */ /* -* Changes from Qualcomm Innovation Center are provided under the following license: -* -* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted (subject to the limitations in the -* disclaimer below) provided that the following conditions are met: -* -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* -* * Redistributions in binary form must reproduce the above -* copyright notice, this list of conditions and the following -* disclaimer in the documentation and/or other materials provided -* with the distribution. -* -* * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its -* contributors may be used to endorse or promote products derived -* from this software without specific prior written permission. -* -* NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE -* GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT -* HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ + * Changes from Qualcomm Innovation Center are provided under the following license: + * + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear + */ /*! @file smomo.h @brief Interface file for SmoMo which defines the public interface exposed to SmoMo clients. @@ -74,6 +45,7 @@ #include #include +#include #define TIMED_RENDERING_METADATA_FEATURE 1 #define FRC_FRAME_PACING_FEATURE 1 @@ -290,6 +262,15 @@ class SmomoIntf { */ virtual void SetRefreshRateChangeStatus(bool enable) = 0; + /*! @brief Get SmoMo refresh rate votes for the tracked layers + + @details This function is called by SmoMo clients + to get the refresh rate votes for SmoMo tracked layers + + @return \link void \endlink + */ + virtual void GetRefreshRateVote(std::map& refresh_rate_votes) = 0; + }; typedef bool (*CreateSmomoInterface)(uint16_t version, SmomoIntf **interface); From e6baa1a29947b6a46d785c992ed5146a4452221d Mon Sep 17 00:00:00 2001 From: Vikas batchu Date: Tue, 29 Aug 2023 02:24:02 +0530 Subject: [PATCH 2/2] display: add interface functions to support idle content fps hint Change-Id: Ic3223ccfa16ab964425f653d3ac3984e4be08c8d --- include/display_extn_intf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/display_extn_intf.h b/include/display_extn_intf.h index 413ea471..655f3418 100644 --- a/include/display_extn_intf.h +++ b/include/display_extn_intf.h @@ -95,6 +95,8 @@ class DisplayExtnIntf { virtual void RegisterDisplay(uint32_t display_id) = 0; virtual void UnregisterDisplay(uint32_t display_id) = 0; virtual int SetActiveConfig(uint32_t display_id, uint32_t config_id) = 0; + virtual void SetSupportedRefreshRates(std::vector fps_list) = 0; + virtual void NotifyDisplayUpdateImminent() = 0; virtual int NotifyEarlyWakeUp(bool gpu, bool display) = 0; virtual int NotifyDisplayEarlyWakeUp(uint32_t display_id) = 0; virtual int SetEarlyWakeUpConfig(uint32_t display_id, bool enable) = 0;