gralloc/metadata: Add support for single buffer mode

Add support for setting single buffer mode on a buffer via gralloc
perform from gfx

Change-Id: I7640b3b984ebc1c4c8fcaedfb3e222ec989a84cb
diff --git a/libgralloc/gralloc_priv.h b/libgralloc/gralloc_priv.h
index 38a6235..efc7d67 100644
--- a/libgralloc/gralloc_priv.h
+++ b/libgralloc/gralloc_priv.h
@@ -88,6 +88,7 @@
 #define GRALLOC_MODULE_PERFORM_GET_RGB_DATA_ADDRESS 10
 #define GRALLOC_MODULE_PERFORM_GET_IGC 11
 #define GRALLOC_MODULE_PERFORM_SET_IGC 12
+#define GRALLOC_MODULE_PERFORM_SET_SINGLE_BUFFER_MODE 13
 
 /* OEM specific HAL formats */
 
diff --git a/libgralloc/mapper.cpp b/libgralloc/mapper.cpp
index 8d8532b..5e8e59f 100644
--- a/libgralloc/mapper.cpp
+++ b/libgralloc/mapper.cpp
@@ -480,6 +480,15 @@
                 }
             } break;
 
+        case GRALLOC_MODULE_PERFORM_SET_SINGLE_BUFFER_MODE:
+            {
+                private_handle_t* hnd =  va_arg(args, private_handle_t*);
+                bool *enable = va_arg(args, bool*);
+                if (private_handle_t::validate(hnd)) {
+                    return res;
+                }
+                setMetaData(hnd, SET_SINGLE_BUFFER_MODE, enable);
+            } break;
         default:
             break;
     }