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

Commit e2caadca authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add fp16 pixel and window formats"

parents c1642aa5 ff415149
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -38,12 +38,18 @@ extern "C" {
 * Pixel formats that a window can use.
 * Pixel formats that a window can use.
 */
 */
enum {
enum {
    // NOTE: these values must match the values from graphics/common/x.x/types.hal

    /** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. **/
    /** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Alpha: 8 bits. **/
    WINDOW_FORMAT_RGBA_8888          = 1,
    WINDOW_FORMAT_RGBA_8888          = 1,
    /** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. **/
    /** Red: 8 bits, Green: 8 bits, Blue: 8 bits, Unused: 8 bits. **/
    WINDOW_FORMAT_RGBX_8888          = 2,
    WINDOW_FORMAT_RGBX_8888          = 2,
    /** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
    /** Red: 5 bits, Green: 6 bits, Blue: 5 bits. **/
    WINDOW_FORMAT_RGB_565            = 4,
    WINDOW_FORMAT_RGB_565            = 4,
    /** Red: 16 bits, Green: 16 bits, Blue: 16 bits, Alpha: 16 bits. **/
    WINDOW_FORMAT_RGBA_FP16          = 0x16,
    /** Red: 16 bits, Green: 16 bits, Blue: 16 bits, Unused: 16 bits. **/
    WINDOW_FORMAT_RGBX_FP16          = 0x17,
};
};


struct ANativeWindow;
struct ANativeWindow;
+2 −0
Original line number Original line Diff line number Diff line
@@ -60,6 +60,8 @@ enum {
    PIXEL_FORMAT_BGRA_8888   = HAL_PIXEL_FORMAT_BGRA_8888,   // 4x8-bit BGRA
    PIXEL_FORMAT_BGRA_8888   = HAL_PIXEL_FORMAT_BGRA_8888,   // 4x8-bit BGRA
    PIXEL_FORMAT_RGBA_5551   = 6,                            // 16-bit ARGB
    PIXEL_FORMAT_RGBA_5551   = 6,                            // 16-bit ARGB
    PIXEL_FORMAT_RGBA_4444   = 7,                            // 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_RGBX_FP16   = HAL_PIXEL_FORMAT_RGBX_FP16,   // 64-bit RGB0
};
};


typedef int32_t PixelFormat;
typedef int32_t PixelFormat;
+2 −0
Original line number Original line Diff line number Diff line
@@ -64,6 +64,8 @@ static bool isPossiblyYUV(PixelFormat format) {
    switch (static_cast<int>(format)) {
    switch (static_cast<int>(format)) {
        case HAL_PIXEL_FORMAT_RGBA_8888:
        case HAL_PIXEL_FORMAT_RGBA_8888:
        case HAL_PIXEL_FORMAT_RGBX_8888:
        case HAL_PIXEL_FORMAT_RGBX_8888:
        case HAL_PIXEL_FORMAT_RGBA_FP16:
        case HAL_PIXEL_FORMAT_RGBX_FP16:
        case HAL_PIXEL_FORMAT_RGB_888:
        case HAL_PIXEL_FORMAT_RGB_888:
        case HAL_PIXEL_FORMAT_RGB_565:
        case HAL_PIXEL_FORMAT_RGB_565:
        case HAL_PIXEL_FORMAT_BGRA_8888:
        case HAL_PIXEL_FORMAT_BGRA_8888:
+2 −0
Original line number Original line Diff line number Diff line
@@ -858,6 +858,8 @@ void GLConsumer::computeTransformMatrix(float outTransform[16],
            switch (buf->getPixelFormat()) {
            switch (buf->getPixelFormat()) {
                case PIXEL_FORMAT_RGBA_8888:
                case PIXEL_FORMAT_RGBA_8888:
                case PIXEL_FORMAT_RGBX_8888:
                case PIXEL_FORMAT_RGBX_8888:
                case PIXEL_FORMAT_RGBA_FP16:
                case PIXEL_FORMAT_RGBX_FP16:
                case PIXEL_FORMAT_RGB_888:
                case PIXEL_FORMAT_RGB_888:
                case PIXEL_FORMAT_RGB_565:
                case PIXEL_FORMAT_RGB_565:
                case PIXEL_FORMAT_BGRA_8888:
                case PIXEL_FORMAT_BGRA_8888:
+6 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,9 @@ namespace android {


uint32_t bytesPerPixel(PixelFormat format) {
uint32_t bytesPerPixel(PixelFormat format) {
    switch (format) {
    switch (format) {
        case PIXEL_FORMAT_RGBA_FP16:
        case PIXEL_FORMAT_RGBX_FP16:
            return 8;
        case PIXEL_FORMAT_RGBA_8888:
        case PIXEL_FORMAT_RGBA_8888:
        case PIXEL_FORMAT_RGBX_8888:
        case PIXEL_FORMAT_RGBX_8888:
        case PIXEL_FORMAT_BGRA_8888:
        case PIXEL_FORMAT_BGRA_8888:
@@ -38,6 +41,9 @@ uint32_t bytesPerPixel(PixelFormat format) {


uint32_t bitsPerPixel(PixelFormat format) {
uint32_t bitsPerPixel(PixelFormat format) {
    switch (format) {
    switch (format) {
        case PIXEL_FORMAT_RGBA_FP16:
        case PIXEL_FORMAT_RGBX_FP16:
            return 64;
        case PIXEL_FORMAT_RGBA_8888:
        case PIXEL_FORMAT_RGBA_8888:
        case PIXEL_FORMAT_RGBX_8888:
        case PIXEL_FORMAT_RGBX_8888:
        case PIXEL_FORMAT_BGRA_8888:
        case PIXEL_FORMAT_BGRA_8888:
Loading