Add RGBA 10:10:10:2 format for surfaces

Bug: 2984164
Test: CtsHardwareTestCases
Change-Id: Ifc90e413f414a19ac09e923e48ec7ff45d3e930b
diff --git a/include/android/hardware_buffer.h b/include/android/hardware_buffer.h
index 24e217e..9c08c7b 100644
--- a/include/android/hardware_buffer.h
+++ b/include/android/hardware_buffer.h
@@ -38,41 +38,48 @@
      *   Vulkan: VK_FORMAT_R8G8B8A8_UNORM
      *   OpenGL ES: GL_RGBA8
      */
-    AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM      = 1,
+    AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM           = 1,
 
     /**
      * Corresponding formats:
      *   Vulkan: VK_FORMAT_R8G8B8A8_UNORM
      *   OpenGL ES: GL_RGBA8
      */
-    AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM      = 2,
+    AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM           = 2,
 
     /**
      * Corresponding formats:
      *   Vulkan: VK_FORMAT_R8G8B8_UNORM
      *   OpenGL ES: GL_RGB8
      */
-    AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM        = 3,
+    AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM             = 3,
 
     /**
      * Corresponding formats:
      *   Vulkan: VK_FORMAT_R5G6B5_UNORM_PACK16
      *   OpenGL ES: GL_RGB565
      */
-    AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM        = 4,
+    AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM             = 4,
 
     /**
      * Corresponding formats:
      *   Vulkan: VK_FORMAT_R16G16B16A16_SFLOAT
      *   OpenGL ES: GL_RGBA16F
      */
-    AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT = 0x16,
+    AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT      = 0x16,
+
+    /**
+     * Corresponding formats:
+     *   Vulkan: VK_FORMAT_A2R10G10B10_UNORM_PACK32
+     *   OpenGL ES: GL_RGB10_A2
+     */
+    AHARDWAREBUFFER_FORMAT_A2R10G10B10_UNORM_PACK32 = 0x2b,
 
     /**
      * An opaque binary blob format that must have height 1, with width equal to
      * the buffer size in bytes.
      */
-    AHARDWAREBUFFER_FORMAT_BLOB                = 0x21,
+    AHARDWAREBUFFER_FORMAT_BLOB                     = 0x21,
 };
 
 enum {
diff --git a/include/android/native_window.h b/include/android/native_window.h
index 7d8d657..6a46d7f 100644
--- a/include/android/native_window.h
+++ b/include/android/native_window.h
@@ -48,8 +48,6 @@
     WINDOW_FORMAT_RGBX_8888          = AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM,
     /** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
     WINDOW_FORMAT_RGB_565            = AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM,
-    /** Red: 16 bits, Green: 16 bits, Blue: 16 bits, Alpha: 16 bits. **/
-    WINDOW_FORMAT_RGBA_FP16          = 0x16,
 };
 
 struct ANativeWindow;
diff --git a/include/ui/PixelFormat.h b/include/ui/PixelFormat.h
index ab7a9a3..02773d9 100644
--- a/include/ui/PixelFormat.h
+++ b/include/ui/PixelFormat.h
@@ -53,14 +53,15 @@
 
     // real pixel formats supported for rendering -----------------------------
 
-    PIXEL_FORMAT_RGBA_8888   = HAL_PIXEL_FORMAT_RGBA_8888,   // 4x8-bit RGBA
-    PIXEL_FORMAT_RGBX_8888   = HAL_PIXEL_FORMAT_RGBX_8888,   // 4x8-bit RGB0
-    PIXEL_FORMAT_RGB_888     = HAL_PIXEL_FORMAT_RGB_888,     // 3x8-bit RGB
-    PIXEL_FORMAT_RGB_565     = HAL_PIXEL_FORMAT_RGB_565,     // 16-bit RGB
-    PIXEL_FORMAT_BGRA_8888   = HAL_PIXEL_FORMAT_BGRA_8888,   // 4x8-bit BGRA
-    PIXEL_FORMAT_RGBA_5551   = 6,                            // 16-bit ARGB
-    PIXEL_FORMAT_RGBA_4444   = 7,                            // 16-bit ARGB
-    PIXEL_FORMAT_RGBA_FP16   = HAL_PIXEL_FORMAT_RGBA_FP16,   // 64-bit RGBA
+    PIXEL_FORMAT_RGBA_8888    = HAL_PIXEL_FORMAT_RGBA_8888,    // 4x8-bit RGBA
+    PIXEL_FORMAT_RGBX_8888    = HAL_PIXEL_FORMAT_RGBX_8888,    // 4x8-bit RGB0
+    PIXEL_FORMAT_RGB_888      = HAL_PIXEL_FORMAT_RGB_888,      // 3x8-bit RGB
+    PIXEL_FORMAT_RGB_565      = HAL_PIXEL_FORMAT_RGB_565,      // 16-bit RGB
+    PIXEL_FORMAT_BGRA_8888    = HAL_PIXEL_FORMAT_BGRA_8888,    // 4x8-bit BGRA
+    PIXEL_FORMAT_RGBA_5551    = 6,                             // 16-bit ARGB
+    PIXEL_FORMAT_RGBA_4444    = 7,                             // 16-bit ARGB
+    PIXEL_FORMAT_RGBA_FP16    = HAL_PIXEL_FORMAT_RGBA_FP16,    // 64-bit RGBA
+    PIXEL_FORMAT_RGBA_1010102 = HAL_PIXEL_FORMAT_RGBA_1010102, // 32-bit RGBA
 };
 
 typedef int32_t PixelFormat;