OSDN Git Service

Added Support for 64bit RGB format
authorPoornima <poornima.y.n@intel.com>
Mon, 22 Jan 2018 04:57:26 +0000 (10:27 +0530)
committerKalyan Kondapally <kalyan.kondapally@intel.com>
Tue, 23 Jan 2018 04:58:36 +0000 (20:58 -0800)
Jira: https://jira01.devtools.intel.com/browse/OAM-52530
Tests: Test Passes
Signed-off-by: Poornima <poornima.y.n@intel.com>
cros_gralloc/i915_private_android.cc
i915_private.c

index dbd2827..d8f585c 100644 (file)
@@ -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));
        }
index 904a7e5..b1921c6 100644 (file)
@@ -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: