gralloc: Add support to RGB compressed format and handle error

1. Add corresponding adreno format for RGB compressed hal format,
   as new adreno API adreno_init_memory_layout needs ADRENO_FORMAT to
   be passed.
2. Handle the error returned by adreno_init_memory_layout API for the
   inappropriate values passed.

Change-Id: Iedcf306583b83ecb80db5495a801f37d2479276b
CRs-Fixed: 2262839
diff --git a/gralloc/gr_adreno_info.cpp b/gralloc/gr_adreno_info.cpp
index c89f555..64c74c6 100644
--- a/gralloc/gr_adreno_info.cpp
+++ b/gralloc/gr_adreno_info.cpp
@@ -233,6 +233,62 @@
       return ADRENO_PIXELFORMAT_D32_FLOAT;
     case HAL_PIXEL_FORMAT_STENCIL_8:
       return ADRENO_PIXELFORMAT_S8_UINT;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_4x4_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_4X4;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_4X4_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_5x4_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_5X4;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_5X4_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_5x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_5X5;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_5X5_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_6x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_6X5;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:
+       return ADRENO_PIXELFORMAT_ASTC_6X5_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_6x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_6X6;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_6X6_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_8x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X5;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X5_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_8x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X6;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X6_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_8x8_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X8;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_8X8_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_10x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X5;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X5_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_10x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X6;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X6_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_10x8_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X8;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X8_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_10x10_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X10;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_10X10_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_12x10_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_12X10;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_12X10_SRGB;
+    case HAL_PIXEL_FORMAT_COMPRESSED_RGBA_ASTC_12x12_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_12X12;
+    case HAL_PIXEL_FORMAT_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:
+      return ADRENO_PIXELFORMAT_ASTC_12X12_SRGB;
     default:
       ALOGE("%s: No map for format: 0x%x", __FUNCTION__, hal_format);
       break;