diff options
-rw-r--r-- | include/composer_extn_intf.h | 39 | ||||
-rw-r--r-- | include/smomo_interface.h | 57 |
2 files changed, 95 insertions, 1 deletions
diff --git a/include/composer_extn_intf.h b/include/composer_extn_intf.h index e93087d1..197e38d1 100644 --- a/include/composer_extn_intf.h +++ b/include/composer_extn_intf.h @@ -27,6 +27,42 @@ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* + * 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. + */ + #ifndef __COMPOSER_EXTN_INTF_H__ #define __COMPOSER_EXTN_INTF_H__ @@ -51,7 +87,8 @@ class ComposerExtnIntf { virtual void DestroyDisplayExtn(DisplayExtnIntf *intf) = 0; virtual int CreatePhaseOffsetExtn(PhaseOffsetExtnIntf **intf) = 0; virtual void DestroyPhaseOffsetExtn(PhaseOffsetExtnIntf *intf) = 0; - virtual bool CreateSmomoExtn(smomo::SmomoIntf **intf) = 0; + virtual bool CreateSmomoExtn(smomo::SmomoIntf **intf, + smomo::DisplayInfo info = {0, smomo::kBuiltin, true}) = 0; virtual void DestroySmomoExtn(smomo::SmomoIntf *intf) = 0; protected: virtual ~ComposerExtnIntf() { } diff --git a/include/smomo_interface.h b/include/smomo_interface.h index 16e56681..84681da9 100644 --- a/include/smomo_interface.h +++ b/include/smomo_interface.h @@ -22,6 +22,42 @@ * 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 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. +*/ + /*! @file smomo.h @brief Interface file for SmoMo which defines the public interface exposed to SmoMo clients. @@ -74,6 +110,17 @@ struct SmomoBufferStats { int64_t key; // buffer identity }; +enum DisplayType { + kBuiltin, + kPluggable, +}; + +struct DisplayInfo { + int32_t display_id; + DisplayType type; + bool is_primary; +}; + /*! @brief SmoMo interface implemented by SmoMo library. @details This class declares prototype for SmoMo public interfaces which must be @@ -227,6 +274,16 @@ class SmomoIntf { @return \link bool \endlink */ virtual bool LowLatencyMode() = 0; + + /*! @brief Enable/Disable Refresh Rate change. + + @details This function is called by SmoMo clients used to control + refresh rate change. + + @return \link void \endlink + */ + virtual void SetRefreshRateChangeStatus(bool enable) = 0; + }; typedef bool (*CreateSmomoInterface)(uint16_t version, SmomoIntf **interface); |