hwc/gralloc: Add missing formats
Add missing formats FP16, 1010102, P010 variants. Change-Id: I2710a0aff7f87381afb8ec6ee7cb74ecf008f0ae CRs-fixed: 2129663 2128978 2127406
This commit is contained in:
@@ -212,6 +212,8 @@ ADRENOPIXELFORMAT AdrenoMemInfo::GetGpuPixelFormat(int hal_format) {
|
|||||||
return ADRENO_PIXELFORMAT_R10G10B10X2_UNORM;
|
return ADRENO_PIXELFORMAT_R10G10B10X2_UNORM;
|
||||||
case HAL_PIXEL_FORMAT_ABGR_2101010:
|
case HAL_PIXEL_FORMAT_ABGR_2101010:
|
||||||
return ADRENO_PIXELFORMAT_A2B10G10R10_UNORM;
|
return ADRENO_PIXELFORMAT_A2B10G10R10_UNORM;
|
||||||
|
case HAL_PIXEL_FORMAT_RGBA_FP16:
|
||||||
|
return ADRENO_PIXELFORMAT_R16G16B16A16_FLOAT;
|
||||||
default:
|
default:
|
||||||
ALOGE("%s: No map for format: 0x%x", __FUNCTION__, hal_format);
|
ALOGE("%s: No map for format: 0x%x", __FUNCTION__, hal_format);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ namespace gralloc1 {
|
|||||||
// Adreno Pixel Formats
|
// Adreno Pixel Formats
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ADRENO_PIXELFORMAT_UNKNOWN = 0,
|
ADRENO_PIXELFORMAT_UNKNOWN = 0,
|
||||||
|
ADRENO_PIXELFORMAT_R16G16B16A16_FLOAT = 10,
|
||||||
ADRENO_PIXELFORMAT_R10G10B10A2_UNORM = 24, // Vertex, Normalized GL_UNSIGNED_INT_10_10_10_2_OES
|
ADRENO_PIXELFORMAT_R10G10B10A2_UNORM = 24, // Vertex, Normalized GL_UNSIGNED_INT_10_10_10_2_OES
|
||||||
ADRENO_PIXELFORMAT_R8G8B8A8 = 28,
|
ADRENO_PIXELFORMAT_R8G8B8A8 = 28,
|
||||||
ADRENO_PIXELFORMAT_R8G8B8A8_SRGB = 29,
|
ADRENO_PIXELFORMAT_R8G8B8A8_SRGB = 29,
|
||||||
@@ -66,7 +67,7 @@ typedef enum {
|
|||||||
ADRENO_PIXELFORMAT_NV21 = 619,
|
ADRENO_PIXELFORMAT_NV21 = 619,
|
||||||
ADRENO_PIXELFORMAT_Y8U8V8A8 = 620, // YUV 4:4:4 packed (1 plane)
|
ADRENO_PIXELFORMAT_Y8U8V8A8 = 620, // YUV 4:4:4 packed (1 plane)
|
||||||
ADRENO_PIXELFORMAT_Y8 = 625, // Single 8-bit luma only channel YUV format
|
ADRENO_PIXELFORMAT_Y8 = 625, // Single 8-bit luma only channel YUV format
|
||||||
ADRENO_PIXELFORMAT_TP10 = 648, // YUV 4:2:0 planar 10 bits/comp (2 planes)
|
ADRENO_PIXELFORMAT_TP10 = 654, // YUV 4:2:0 planar 10 bits/comp (2 planes)
|
||||||
} ADRENOPIXELFORMAT;
|
} ADRENOPIXELFORMAT;
|
||||||
|
|
||||||
class AdrenoMemInfo {
|
class AdrenoMemInfo {
|
||||||
|
|||||||
@@ -832,6 +832,9 @@ static bool IsYuvFormat(const private_handle_t *hnd) {
|
|||||||
case HAL_PIXEL_FORMAT_RAW10:
|
case HAL_PIXEL_FORMAT_RAW10:
|
||||||
case HAL_PIXEL_FORMAT_YV12:
|
case HAL_PIXEL_FORMAT_YV12:
|
||||||
case HAL_PIXEL_FORMAT_Y8:
|
case HAL_PIXEL_FORMAT_Y8:
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_420_P010:
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_420_P010_UBWC:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -548,6 +548,12 @@ LayerBufferFormat HWCLayer::GetSDMFormat(const int32_t &source, const int flags)
|
|||||||
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
|
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
|
||||||
format = kFormatYCbCr420SPVenusUbwc;
|
format = kFormatYCbCr420SPVenusUbwc;
|
||||||
break;
|
break;
|
||||||
|
case HAL_PIXEL_FORMAT_RGBA_1010102:
|
||||||
|
format = kFormatRGBA1010102Ubwc;
|
||||||
|
break;
|
||||||
|
case HAL_PIXEL_FORMAT_RGBX_1010102:
|
||||||
|
format = kFormatRGBX1010102Ubwc;
|
||||||
|
break;
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
|
case HAL_PIXEL_FORMAT_YCbCr_420_TP10_UBWC:
|
||||||
format = kFormatYCbCr420TP10Ubwc;
|
format = kFormatYCbCr420TP10Ubwc;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user