gralloc: Add UBWC support for Camera

Camera sends IMPLEMENTATION_DEFINED format, so if UBWC gralloc usage
flag is set, it expects gralloc to set the pixel format as NV12_UBWC
instead of use-case specific pixel formats.

Change-Id: Id0a11893401d1338f4f123ca8df029ed96b18ab9
diff --git a/libgralloc/gpu.cpp b/libgralloc/gpu.cpp
index 48da09e..df7be41 100644
--- a/libgralloc/gpu.cpp
+++ b/libgralloc/gpu.cpp
@@ -289,7 +289,9 @@
     //the usage bits, gralloc assigns a format.
     if(format == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED ||
        format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
-        if(usage & GRALLOC_USAGE_HW_VIDEO_ENCODER)
+        if (usage & GRALLOC_USAGE_PRIVATE_ALLOC_UBWC)
+            grallocFormat = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS_UBWC;
+        else if(usage & GRALLOC_USAGE_HW_VIDEO_ENCODER)
             grallocFormat = HAL_PIXEL_FORMAT_NV12_ENCODEABLE; //NV12
         else if((usage & GRALLOC_USAGE_HW_CAMERA_MASK)
                 == GRALLOC_USAGE_HW_CAMERA_ZSL)