summaryrefslogtreecommitdiff
path: root/libs/nativewindow/AHardwareBuffer.cpp
diff options
context:
space:
mode:
author Leon Scroggins III <scroggo@google.com> 2021-11-24 14:40:53 -0500
committer Leon Scroggins III <scroggo@google.com> 2021-12-06 15:25:51 -0500
commit4d2588545fe9eee49a1ad5edeb4ff1c33e8081c0 (patch)
tree82c03e11a3828d74a8a299443277d02de34fe784 /libs/nativewindow/AHardwareBuffer.cpp
parente334dd4112538701aeb4cce6b21ab167f91df1ce (diff)
Add AHB and Pixel- Formats for R8
Add AHARDWAREBUFFER_FORMAT_R8_UNORM and PIXEL_FORMAT_R_8. These will be used for an alpha 8 buffer representing the screen decorations. Enum value matches AIDL R_8 in I6f6b7f22e76609151a413ca6a6dbf55bd91911dd. Bug: 193170859 Test: make Change-Id: I4846327b29736ee811672801a683deb287342a8e
Diffstat (limited to 'libs/nativewindow/AHardwareBuffer.cpp')
-rw-r--r--libs/nativewindow/AHardwareBuffer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp
index d429551045..cb3361b431 100644
--- a/libs/nativewindow/AHardwareBuffer.cpp
+++ b/libs/nativewindow/AHardwareBuffer.cpp
@@ -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
@@ -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:
@@ -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;