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;