summaryrefslogtreecommitdiffstats
path: root/libgralloc/alloc_controller.cpp
diff options
context:
space:
mode:
authorKaushik Kanetkar <kaushikk@codeaurora.org>2015-08-29 20:16:54 -0600
committerKaushik Kanetkar <kaushikk@codeaurora.org>2015-09-10 12:07:12 -0600
commit4cb337cbfd234417bd9094b7d42455a02bc14542 (patch)
tree82174ea4968808e95c42c32681474bfe029bfec2 /libgralloc/alloc_controller.cpp
parent5ea144d2235971be9ffda5989e2a1b999cf04d37 (diff)
downloadandroid_hardware_qcom_display-4cb337cbfd234417bd9094b7d42455a02bc14542.tar.gz
android_hardware_qcom_display-4cb337cbfd234417bd9094b7d42455a02bc14542.tar.bz2
android_hardware_qcom_display-4cb337cbfd234417bd9094b7d42455a02bc14542.zip
gralloc: Add HAL_PIXEL_FORMAT_BGR_565 format
- Define new format in gralloc_priv.h header - Add support for HAL_PIXEL_FORMAT_BGR_565 while allocating buffers CRs-fixed: 904907 Change-Id: I2cf3cdcfc5c89b11abc4ceb4daba77a5123ecf67
Diffstat (limited to 'libgralloc/alloc_controller.cpp')
-rw-r--r--libgralloc/alloc_controller.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index e6693c9d6..1b59fde10 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -183,6 +183,7 @@ bool isUncompressedRgbFormat(int format)
case HAL_PIXEL_FORMAT_RGBX_8888:
case HAL_PIXEL_FORMAT_RGB_888:
case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
case HAL_PIXEL_FORMAT_BGRA_8888:
case HAL_PIXEL_FORMAT_RGBA_5551:
case HAL_PIXEL_FORMAT_RGBA_4444:
@@ -330,6 +331,7 @@ void AdrenoMemInfo::getGpuAlignedWidthHeight(int width, int height, int format,
bpp = 3;
break;
case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
case HAL_PIXEL_FORMAT_RGBA_5551:
case HAL_PIXEL_FORMAT_RGBA_4444:
bpp = 2;
@@ -382,6 +384,8 @@ ADRENOPIXELFORMAT AdrenoMemInfo::getGpuPixelFormat(int hal_format)
return ADRENO_PIXELFORMAT_R8G8B8X8;
case HAL_PIXEL_FORMAT_RGB_565:
return ADRENO_PIXELFORMAT_B5G6R5;
+ case HAL_PIXEL_FORMAT_BGR_565:
+ return ADRENO_PIXELFORMAT_R5G6B5;
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
return ADRENO_PIXELFORMAT_NV12;
case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
@@ -511,6 +515,7 @@ bool isMacroTileEnabled(int format, int usage)
case HAL_PIXEL_FORMAT_RGBX_8888:
case HAL_PIXEL_FORMAT_BGRA_8888:
case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
{
tileEnabled = true;
// check the usage flags
@@ -547,6 +552,7 @@ unsigned int getSize(int format, int width, int height, int usage,
size = alignedw * alignedh * 3;
break;
case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
case HAL_PIXEL_FORMAT_RGBA_5551:
case HAL_PIXEL_FORMAT_RGBA_4444:
case HAL_PIXEL_FORMAT_RAW16:
@@ -879,7 +885,7 @@ static bool isUBwcSupported(int format)
// Existing HAL formats with UBWC support
switch(format)
{
- case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
case HAL_PIXEL_FORMAT_RGBA_8888:
case HAL_PIXEL_FORMAT_RGBX_8888:
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
@@ -988,7 +994,7 @@ static unsigned int getUBwcSize(int width, int height, int format,
unsigned int size = 0;
switch (format) {
- case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
size = alignedw * alignedh * 2;
size += getUBwcMetaBufferSize(width, height, 2);
break;
@@ -1014,7 +1020,7 @@ int getRgbDataAddress(private_handle_t* hnd, void** rgb_data)
int err = 0;
// This api is for RGB* formats
- if (hnd->format > HAL_PIXEL_FORMAT_BGRA_8888) {
+ if (!isUncompressedRgbFormat(hnd->format)) {
return -EINVAL;
}
@@ -1026,7 +1032,7 @@ int getRgbDataAddress(private_handle_t* hnd, void** rgb_data)
unsigned int meta_size = 0;
switch (hnd->format) {
- case HAL_PIXEL_FORMAT_RGB_565:
+ case HAL_PIXEL_FORMAT_BGR_565:
meta_size = getUBwcMetaBufferSize(hnd->width, hnd->height, 2);
break;
case HAL_PIXEL_FORMAT_RGBA_8888: