diff --git a/aidl/demura/Android.bp b/aidl/demura/Android.bp new file mode 100644 index 00000000..18a6fdc3 --- /dev/null +++ b/aidl/demura/Android.bp @@ -0,0 +1,24 @@ +aidl_interface { + name: "vendor.qti.hardware.display.demura", + owner: "qti", + vendor_available: true, + srcs: ["vendor/qti/hardware/display/demura/*.aidl"], + stability: "vintf", + backend: { + cpp: { + enabled: false, + }, + java: { + sdk_version: "module_current", + }, + ndk: { + enabled: true, + }, + }, + versions_with_info: [ + { + version: "1", + imports: [], + }, + ], +} diff --git a/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/.hash b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/.hash new file mode 100644 index 00000000..112d9ae2 --- /dev/null +++ b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/.hash @@ -0,0 +1 @@ +e333c843c65c9b04c9b18f0231caef5e077682ae diff --git a/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl new file mode 100644 index 00000000..31bd1eb0 --- /dev/null +++ b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/1/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.qti.hardware.display.demura; +@VintfStability +interface IDemuraFileFinder { + void getDemuraFilePaths(in long panel_id, out vendor.qti.hardware.display.demura.IDemuraFileFinder.DemuraFilePaths file_paths); + @VintfStability + parcelable DemuraFilePaths { + String configFilePath; + String signatureFilePath; + String publickeyFilePath; + } +} diff --git a/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/current/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/current/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl new file mode 100644 index 00000000..31bd1eb0 --- /dev/null +++ b/aidl/demura/aidl_api/vendor.qti.hardware.display.demura/current/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package vendor.qti.hardware.display.demura; +@VintfStability +interface IDemuraFileFinder { + void getDemuraFilePaths(in long panel_id, out vendor.qti.hardware.display.demura.IDemuraFileFinder.DemuraFilePaths file_paths); + @VintfStability + parcelable DemuraFilePaths { + String configFilePath; + String signatureFilePath; + String publickeyFilePath; + } +} diff --git a/aidl/demura/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl b/aidl/demura/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl new file mode 100644 index 00000000..4d5d02f4 --- /dev/null +++ b/aidl/demura/vendor/qti/hardware/display/demura/IDemuraFileFinder.aidl @@ -0,0 +1,23 @@ +/* + * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear + */ + +package vendor.qti.hardware.display.demura; + +@VintfStability +interface IDemuraFileFinder { + @VintfStability + parcelable DemuraFilePaths { + String configFilePath; + String signatureFilePath; + String publickeyFilePath; + } + + /** + * Get file paths of demura files + * @param panel_id id of panel + * @param out file_paths paths of demura files + */ + void getDemuraFilePaths(in long panel_id, out DemuraFilePaths file_paths); +} diff --git a/gralloc/QtiGralloc.h b/gralloc/QtiGralloc.h index c8e4ef8c..f14821c5 100644 --- a/gralloc/QtiGralloc.h +++ b/gralloc/QtiGralloc.h @@ -27,6 +27,10 @@ * 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 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear */ #ifndef __QTIGRALLOC_H__ @@ -101,6 +105,9 @@ static const MetadataType MetadataType_VideoTranscodeStats = {VENDOR_QTI, static const MetadataType MetadataType_VideoTimestampInfo = {VENDOR_QTI, QTI_VIDEO_TS_INFO}; +static const MetadataType MetadataType_VideoEarlyNotifyLineCount = {VENDOR_QTI, + QTI_EARLYNOTIFY_LINECOUNT}; + static const MetadataType MetadataType_FD = {VENDOR_QTI, QTI_FD}; static const MetadataType MetadataType_PrivateFlags = {VENDOR_QTI, QTI_PRIVATE_FLAGS}; diff --git a/gralloc/QtiGrallocDefs.h b/gralloc/QtiGrallocDefs.h index eeac4785..7ff5e325 100644 --- a/gralloc/QtiGrallocDefs.h +++ b/gralloc/QtiGrallocDefs.h @@ -82,6 +82,9 @@ /* This flag indicates trusted VM use case */ #define GRALLOC_USAGE_PRIVATE_TRUSTED_VM 1ULL << 53 +/* This flag is used to indicate No UBWC-P support */ +#define GRALLOC_USAGE_PRIVATE_NO_UBWC_P 1ULL << 54 + // OEM specific HAL formats #define HAL_PIXEL_FORMAT_RGBA_5551 6 #define HAL_PIXEL_FORMAT_RGBA_4444 7 diff --git a/gralloc/QtiGrallocMetadata.h b/gralloc/QtiGrallocMetadata.h index 98a12c67..c3889b2c 100644 --- a/gralloc/QtiGrallocMetadata.h +++ b/gralloc/QtiGrallocMetadata.h @@ -27,6 +27,10 @@ * 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 Qualcomm Innovation Center, Inc. All rights reserved. + * SPDX-License-Identifier: BSD-3-Clause-Clear */ #ifndef __QTIGRALLOCMETADATA_H__ @@ -73,6 +77,8 @@ #define QTI_CUSTOM_CONTENT_METADATA 10029 // Video transcode metadata stat #define QTI_VIDEO_TRANSCODE_STATS 10030 +// Early Notify line count +#define QTI_EARLYNOTIFY_LINECOUNT 10031 // Used to indicate to framework that internal definitions are used instead #define COMPRESSION_QTI_UBWC 20001 #define INTERLACED_QTI 20002 diff --git a/gralloc/QtiGrallocPriv.h b/gralloc/QtiGrallocPriv.h index 56e2b1bc..2214291f 100644 --- a/gralloc/QtiGrallocPriv.h +++ b/gralloc/QtiGrallocPriv.h @@ -145,6 +145,7 @@ struct MetaData_t { uint32_t timedRendering; /* Video transcode stat populated by video decoder */ struct VideoTranscodeStatsMetadata video_transcode_stats; + int32_t videoEarlyNotifyLineCount; }; namespace qtigralloc {