diff options
author | 2022-02-11 16:18:11 -0800 | |
---|---|---|
committer | 2022-02-11 16:40:11 -0800 | |
commit | 263d41cc2de81bb13eaa9e5ae934e9faba4078bc (patch) | |
tree | 6e6bd53c3b0c954a25e4c1721c73dcae90a556eb | |
parent | 5cba3db3f6925ab3d659df2fb49dadbcadb839bb (diff) |
Add AHARDWAREBUFFER_FORMAT_YCBCR_P010
... which corresponds to HAL_PIXEL_FORMAT_YCBCR_P010.
Bug: b/207388558
Test: build and boot Cuttlefish with P010 SwiftShader support
Change-Id: Ic0eb39b291875c9527468c77cc28fb00328a139d
Merged-In: Ia07db989845da4dfe1d26fa1541abd9d768ad92a
-rw-r--r-- | libs/nativewindow/AHardwareBuffer.cpp | 4 | ||||
-rw-r--r-- | libs/nativewindow/include/android/hardware_buffer.h | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp index e2f32e374a..ef7602f24e 100644 --- a/libs/nativewindow/AHardwareBuffer.cpp +++ b/libs/nativewindow/AHardwareBuffer.cpp @@ -588,6 +588,8 @@ 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(HAL_PIXEL_FORMAT_YCBCR_P010 == AHARDWAREBUFFER_FORMAT_YCbCr_P010, + "HAL and AHardwareBuffer pixel format don't match"); switch (format) { case AHARDWAREBUFFER_FORMAT_R8G8B8A8_UNORM: @@ -617,6 +619,7 @@ bool AHardwareBuffer_isValidPixelFormat(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: + case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: @@ -633,6 +636,7 @@ bool AHardwareBuffer_formatIsYuv(uint32_t format) { case AHARDWAREBUFFER_FORMAT_YCbCr_422_SP: case AHARDWAREBUFFER_FORMAT_YCrCb_420_SP: case AHARDWAREBUFFER_FORMAT_YCbCr_422_I: + case AHARDWAREBUFFER_FORMAT_YCbCr_P010: return true; default: return false; diff --git a/libs/nativewindow/include/android/hardware_buffer.h b/libs/nativewindow/include/android/hardware_buffer.h index d93a84cd25..78c56d9ed5 100644 --- a/libs/nativewindow/include/android/hardware_buffer.h +++ b/libs/nativewindow/include/android/hardware_buffer.h @@ -158,6 +158,14 @@ enum AHardwareBuffer_Format { * cube-maps or multi-layered textures. */ AHARDWAREBUFFER_FORMAT_Y8Cb8Cr8_420 = 0x23, + + /** + * YUV P010 format. + * Must have an even width and height. Can be accessed in OpenGL + * shaders through an external sampler. Does not support mip-maps + * cube-maps or multi-layered textures. + */ + AHARDWAREBUFFER_FORMAT_YCbCr_P010 = 0x36, }; /** |