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;