Loading libs/nativewindow/AHardwareBuffer.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ #include <private/android/AHardwareBufferHelpers.h> #include <android/hardware/graphics/common/1.1/types.h> #include <aidl/android/hardware/graphics/common/PixelFormat.h> static constexpr int kFdBufferSize = 128 * sizeof(int); // 128 ints Loading Loading @@ -588,8 +588,12 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_422_I == AHARDWAREBUFFER_FORMAT_YCbCr_422_I, "HAL and AHardwareBuffer pixel format don't match"); static_assert(static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::R_8) == AHARDWAREBUFFER_FORMAT_R8_UNORM, "HAL and AHardwareBuffer pixel format don't match"); switch (format) { case AHARDWAREBUFFER_FORMAT_R8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: Loading Loading @@ -641,6 +645,8 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { uint32_t AHardwareBuffer_bytesPerPixel(uint32_t format) { switch (format) { case AHARDWAREBUFFER_FORMAT_R8_UNORM: return 1; case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: case AHARDWAREBUFFER_FORMAT_D16_UNORM: return 2; Loading libs/nativewindow/include/android/hardware_buffer.h +7 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,13 @@ enum AHardwareBuffer_Format { * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, /** * Corresponding formats: * Vulkan: VK_FORMAT_R8_UNORM * OpenGL ES: GR_GL_R8 */ AHARDWAREBUFFER_FORMAT_R8_UNORM = 0x38, }; /** Loading libs/ui/DebugUtils.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,8 @@ std::string decodePixelFormat(android::PixelFormat format) { return std::string("RGB_565"); case android::PIXEL_FORMAT_BGRA_8888: return std::string("BGRA_8888"); case android::PIXEL_FORMAT_R_8: return std::string("R_8"); default: return StringPrintf("Unknown %#08x", format); } Loading libs/ui/PixelFormat.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ uint32_t bytesPerPixel(PixelFormat format) { case PIXEL_FORMAT_RGBA_5551: case PIXEL_FORMAT_RGBA_4444: return 2; case PIXEL_FORMAT_R_8: return 1; } return 0; } Loading libs/ui/include/ui/PixelFormat.h +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ enum { 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 PIXEL_FORMAT_R_8 = 0x38, }; typedef int32_t PixelFormat; Loading Loading
libs/nativewindow/AHardwareBuffer.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ #include <private/android/AHardwareBufferHelpers.h> #include <android/hardware/graphics/common/1.1/types.h> #include <aidl/android/hardware/graphics/common/PixelFormat.h> static constexpr int kFdBufferSize = 128 * sizeof(int); // 128 ints Loading Loading @@ -588,8 +588,12 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { "HAL and AHardwareBuffer pixel format don't match"); static_assert(HAL_PIXEL_FORMAT_YCBCR_422_I == AHARDWAREBUFFER_FORMAT_YCbCr_422_I, "HAL and AHardwareBuffer pixel format don't match"); static_assert(static_cast<int>(aidl::android::hardware::graphics::common::PixelFormat::R_8) == AHARDWAREBUFFER_FORMAT_R8_UNORM, "HAL and AHardwareBuffer pixel format don't match"); switch (format) { case AHARDWAREBUFFER_FORMAT_R8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: Loading Loading @@ -641,6 +645,8 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { uint32_t AHardwareBuffer_bytesPerPixel(uint32_t format) { switch (format) { case AHARDWAREBUFFER_FORMAT_R8_UNORM: return 1; case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: case AHARDWAREBUFFER_FORMAT_D16_UNORM: return 2; Loading
libs/nativewindow/include/android/hardware_buffer.h +7 −0 Original line number Diff line number Diff line Loading @@ -158,6 +158,13 @@ enum AHardwareBuffer_Format { * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, /** * Corresponding formats: * Vulkan: VK_FORMAT_R8_UNORM * OpenGL ES: GR_GL_R8 */ AHARDWAREBUFFER_FORMAT_R8_UNORM = 0x38, }; /** Loading
libs/ui/DebugUtils.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -302,6 +302,8 @@ std::string decodePixelFormat(android::PixelFormat format) { return std::string("RGB_565"); case android::PIXEL_FORMAT_BGRA_8888: return std::string("BGRA_8888"); case android::PIXEL_FORMAT_R_8: return std::string("R_8"); default: return StringPrintf("Unknown %#08x", format); } Loading
libs/ui/PixelFormat.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ uint32_t bytesPerPixel(PixelFormat format) { case PIXEL_FORMAT_RGBA_5551: case PIXEL_FORMAT_RGBA_4444: return 2; case PIXEL_FORMAT_R_8: return 1; } return 0; } Loading
libs/ui/include/ui/PixelFormat.h +1 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ enum { 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 PIXEL_FORMAT_R_8 = 0x38, }; typedef int32_t PixelFormat; Loading