From: Poornima Date: Mon, 22 Jan 2018 04:57:26 +0000 (+0530) Subject: Added Support for 64bit RGB format X-Git-Url: http://git.osdn.net/view?p=android-x86%2Fexternal-minigbm.git;a=commitdiff_plain;h=47bd806579dd;hp=7b767e105fa63154c19cb92f16f3b447ebb485ee Added Support for 64bit RGB format Jira: https://jira01.devtools.intel.com/browse/OAM-52530 Tests: Test Passes Signed-off-by: Poornima --- diff --git a/cros_gralloc/i915_private_android.cc b/cros_gralloc/i915_private_android.cc index dbd2827..d8f585c 100644 --- a/cros_gralloc/i915_private_android.cc +++ b/cros_gralloc/i915_private_android.cc @@ -34,6 +34,8 @@ uint32_t i915_private_convert_format(int format) return DRM_FORMAT_YUV422; case HAL_PIXEL_FORMAT_P010_INTEL: return DRM_FORMAT_P010; + case HAL_PIXEL_FORMAT_RGBA_FP16: + return DRM_FORMAT_XBGR161616; } return DRM_FORMAT_NONE; @@ -77,6 +79,8 @@ int32_t i915_private_invert_format(int format) return HAL_PIXEL_FORMAT_YCbCr_422_SP; case DRM_FORMAT_YUV422: return HAL_PIXEL_FORMAT_YCbCr_422_888; + case DRM_FORMAT_XBGR161616: + return HAL_PIXEL_FORMAT_RGBA_FP16; default: cros_gralloc_error("Unhandled DRM format %4.4s", drmFormat2Str(format)); } diff --git a/i915_private.c b/i915_private.c index 904a7e5..b1921c6 100644 --- a/i915_private.c +++ b/i915_private.c @@ -23,7 +23,8 @@ static const uint32_t private_linear_source_formats[] = { DRM_FORMAT_R16, DRM_FORMAT_NV16, DRM_FORMAT_YUV420, DRM_FORMAT_YUV422, DRM_FORMAT_YUV444, DRM_FORMAT_NV21, - DRM_FORMAT_P010, DRM_FORMAT_RGB888, DRM_FORMAT_BGR888 }; + DRM_FORMAT_P010, DRM_FORMAT_RGB888, DRM_FORMAT_BGR888, + DRM_FORMAT_XRGB161616, DRM_FORMAT_XBGR161616 }; static const uint32_t private_source_formats[] = { DRM_FORMAT_P010, DRM_FORMAT_NV12_Y_TILED_INTEL }; @@ -150,6 +151,9 @@ uint32_t i915_private_bpp_from_format(uint32_t format, size_t plane) return 8; case DRM_FORMAT_R16: return 16; + case DRM_FORMAT_XRGB161616: + case DRM_FORMAT_XBGR161616: + return 64; } fprintf(stderr, "drv: UNKNOWN FORMAT %d\n", format); @@ -174,6 +178,8 @@ size_t i915_private_num_planes_from_format(uint32_t format) { switch (format) { case DRM_FORMAT_R16: + case DRM_FORMAT_XRGB161616: + case DRM_FORMAT_XBGR161616: return 1; case DRM_FORMAT_NV12_Y_TILED_INTEL: case DRM_FORMAT_NV16: