From bcd39b9ab912d79c8c580825b400d2bf4cfa8acf Mon Sep 17 00:00:00 2001 From: Tharaga Balachandran Date: Wed, 22 Apr 2020 16:40:30 -0400 Subject: [PATCH] gralloc: Add metadata type buffer_type CRs-Fixed: 2730864 Change-Id: I8f96b5dc905f1b8cedc498d3853be27a8f92ae58 --- gralloc/QtiGralloc.cpp | 6 ++++++ gralloc/QtiGralloc.h | 3 +++ gralloc/QtiGrallocMetadata.h | 1 + 3 files changed, 10 insertions(+) diff --git a/gralloc/QtiGralloc.cpp b/gralloc/QtiGralloc.cpp index aab5754f..903ccba9 100644 --- a/gralloc/QtiGralloc.cpp +++ b/gralloc/QtiGralloc.cpp @@ -202,6 +202,8 @@ MetadataType getMetadataType(uint32_t in) { return MetadataType_StandardMetadataStatus; case QTI_VENDOR_METADATA_STATUS: return MetadataType_VendorMetadataStatus; + case QTI_BUFFER_TYPE: + return MetadataType_BufferType; default: return MetadataType_Invalid; } @@ -291,6 +293,10 @@ Error get(void *buffer, uint32_t type, void *param) { case QTI_VENDOR_METADATA_STATUS: err = decodeMetadataState(bytestream, (bool *)param); break; + case QTI_BUFFER_TYPE: + err = static_cast(android::gralloc4::decodeUint32( + qtigralloc::MetadataType_BufferType, bytestream, (uint32_t *)param)); + break; default: param = nullptr; return Error::UNSUPPORTED; diff --git a/gralloc/QtiGralloc.h b/gralloc/QtiGralloc.h index 4be74e22..9ab8732e 100644 --- a/gralloc/QtiGralloc.h +++ b/gralloc/QtiGralloc.h @@ -109,6 +109,9 @@ static const MetadataType MetadataType_StandardMetadataStatus = {VENDOR_QTI, static const MetadataType MetadataType_VendorMetadataStatus = {VENDOR_QTI, QTI_VENDOR_METADATA_STATUS}; +static const MetadataType MetadataType_BufferType = {VENDOR_QTI, + QTI_BUFFER_TYPE}; + // 0 is also used as invalid value in standard metadata static const MetadataType MetadataType_Invalid = {VENDOR_QTI, 0}; diff --git a/gralloc/QtiGrallocMetadata.h b/gralloc/QtiGrallocMetadata.h index cc134a8c..35bf4a08 100644 --- a/gralloc/QtiGrallocMetadata.h +++ b/gralloc/QtiGrallocMetadata.h @@ -55,6 +55,7 @@ // Indicates whether metadata is using default value or has been set #define QTI_STANDARD_METADATA_STATUS 10016 #define QTI_VENDOR_METADATA_STATUS 10017 +#define QTI_BUFFER_TYPE 10018 // Used to indicate to framework that internal definitions are used instead #define COMPRESSION_QTI_UBWC 20001