Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 541f2265 authored by Romain Guy's avatar Romain Guy
Browse files

Add RGBA 10:10:10:2 format for surfaces

Bug: 2984164
Test: CtsHardwareTestCases
Change-Id: Ifc90e413f414a19ac09e923e48ec7ff45d3e930b
parent bb5afada
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -68,6 +68,13 @@ enum {
     */
    AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT      = 0x16,

    /**
     * Corresponding formats:
     *   Vulkan: VK_FORMAT_A2R10G10B10_UNORM_PACK32
     *   OpenGL ES: GL_RGB10_A2
     */
    AHARDWAREBUFFER_FORMAT_A2R10G10B10_UNORM_PACK32 = 0x2b,

    /**
     * An opaque binary blob format that must have height 1, with width equal to
     * the buffer size in bytes.
+0 −2
Original line number Diff line number Diff line
@@ -48,8 +48,6 @@ enum {
    WINDOW_FORMAT_RGBX_8888          = AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM,
    /** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
    WINDOW_FORMAT_RGB_565            = AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM,
    /** Red: 16 bits, Green: 16 bits, Blue: 16 bits, Alpha: 16 bits. **/
    WINDOW_FORMAT_RGBA_FP16          = 0x16,
};

struct ANativeWindow;
+9 −8
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ enum {
    PIXEL_FORMAT_RGBA_5551    = 6,                             // 16-bit ARGB
    PIXEL_FORMAT_RGBA_4444    = 7,                             // 16-bit ARGB
    PIXEL_FORMAT_RGBA_FP16    = HAL_PIXEL_FORMAT_RGBA_FP16,    // 64-bit RGBA
    PIXEL_FORMAT_RGBA_1010102 = HAL_PIXEL_FORMAT_RGBA_1010102, // 32-bit RGBA
};

typedef int32_t PixelFormat;
+1 −0
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ static bool isPossiblyYUV(PixelFormat format) {
        case HAL_PIXEL_FORMAT_RGBA_8888:
        case HAL_PIXEL_FORMAT_RGBX_8888:
        case HAL_PIXEL_FORMAT_RGBA_FP16:
        case HAL_PIXEL_FORMAT_RGBA_1010102:
        case HAL_PIXEL_FORMAT_RGB_888:
        case HAL_PIXEL_FORMAT_RGB_565:
        case HAL_PIXEL_FORMAT_BGRA_8888:
+1 −0
Original line number Diff line number Diff line
@@ -863,6 +863,7 @@ void GLConsumer::computeTransformMatrix(float outTransform[16],
                case PIXEL_FORMAT_RGBA_8888:
                case PIXEL_FORMAT_RGBX_8888:
                case PIXEL_FORMAT_RGBA_FP16:
                case PIXEL_FORMAT_RGBA_1010102:
                case PIXEL_FORMAT_RGB_888:
                case PIXEL_FORMAT_RGB_565:
                case PIXEL_FORMAT_BGRA_8888:
Loading