Gralloc: Use adreno APIs for buffer size calculations
1) Add support to use adreno APIs for non video layers'
buffer size calculations.
2) Add graphics metadata field to MetaData_t structure.
3) Add bindings for newly introduced formats in
GetGpuPixelFormat.
4) Add support to retrieve the graphics metadata in
Perform API.
5) Modify BUFFER_TYPE determination logic
Change-Id: I7674209b42d7cd39bc8de39e3a10582bb216e6cf
CRs-Fixed: 2226672
diff --git a/libqdutils/qdMetaData.cpp b/libqdutils/qdMetaData.cpp
index e7ab48c..3259ee2 100644
--- a/libqdutils/qdMetaData.cpp
+++ b/libqdutils/qdMetaData.cpp
@@ -133,6 +133,13 @@
case SET_VIDEO_PERF_MODE:
data->isVideoPerfMode = *((uint32_t *)param);
break;
+ case SET_GRAPHICS_METADATA: {
+ GraphicsMetadata payload = *((GraphicsMetadata*)(param));
+ data->graphics_metadata.size = payload.size;
+ memcpy(data->graphics_metadata.data, payload.data,
+ sizeof(data->graphics_metadata.data));
+ break;
+ }
default:
ALOGE("Unknown paramType %d", paramType);
break;
@@ -271,6 +278,12 @@
ret = 0;
}
break;
+ case GET_GRAPHICS_METADATA:
+ if (data->operation & SET_GRAPHICS_METADATA) {
+ memcpy(param, data->graphics_metadata.data, sizeof(data->graphics_metadata.data));
+ ret = 0;
+ }
+ break;
default:
ALOGE("Unknown paramType %d", paramType);
break;