diff options
| author | 2017-04-19 15:43:02 -0700 | |
|---|---|---|
| committer | 2017-04-19 15:43:02 -0700 | |
| commit | 577aa758027a7cf5e8da938f99f9ec7372e5728f (patch) | |
| tree | e13e16dd3c405e58e4a7d7c112a349cefffa786f /libs/nativewindow | |
| parent | 80a50bdc3b48ef3a1e214d85712ecc835fbaa289 (diff) | |
Fix AHardwareBuffer 10:10:10:2 format
Rename this format to match the component ordering we use in the other
formats (RGBA, in LSB to MSB order), and associate it with the right
Vulkan format (A2B10G10R10_UNORM_PACK32, not the BGRA-order
A2R10G10B10_UNORM_PACK32): the former is required in Vulkan while the
latter isn't, and it makes sense for us to be consistent with that.
Also use the _FLOAT suffix for the 4xFP16 format, not _SFLOAT; we don't
use the latter anywhere else and we don't have unsigned floats.
Bug: 37515907
Test: make checkbuild
Change-Id: I4f9e5e39ddef41d373290c26c92d5b94a884a740
Diffstat (limited to 'libs/nativewindow')
| -rw-r--r-- | libs/nativewindow/AHardwareBuffer.cpp | 8 | ||||
| -rw-r--r-- | libs/nativewindow/include/android/hardware_buffer.h | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/libs/nativewindow/AHardwareBuffer.cpp b/libs/nativewindow/AHardwareBuffer.cpp index 5812831811..fb59693610 100644 --- a/libs/nativewindow/AHardwareBuffer.cpp +++ b/libs/nativewindow/AHardwareBuffer.cpp @@ -353,8 +353,8 @@ uint32_t AHardwareBuffer_convertFromPixelFormat(uint32_t format) { case HAL_PIXEL_FORMAT_RGBX_8888: return AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM; case HAL_PIXEL_FORMAT_RGB_565: return AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM; case HAL_PIXEL_FORMAT_RGB_888: return AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM; - case HAL_PIXEL_FORMAT_RGBA_FP16: return AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT; - case HAL_PIXEL_FORMAT_RGBA_1010102: return AHARDWAREBUFFER_FORMAT_A2R10G10B10_UNORM_PACK32; + case HAL_PIXEL_FORMAT_RGBA_FP16: return AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT; + case HAL_PIXEL_FORMAT_RGBA_1010102: return AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM; case HAL_PIXEL_FORMAT_BLOB: return AHARDWAREBUFFER_FORMAT_BLOB; default:ALOGE("Unknown pixel format %u", format); return 0; @@ -367,8 +367,8 @@ uint32_t AHardwareBuffer_convertToPixelFormat(uint32_t format) { case AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM: return HAL_PIXEL_FORMAT_RGBX_8888; case AHARDWAREBUFFER_FORMAT_R5G6B5_UNORM: return HAL_PIXEL_FORMAT_RGB_565; case AHARDWAREBUFFER_FORMAT_R8G8B8_UNORM: return HAL_PIXEL_FORMAT_RGB_888; - case AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT: return HAL_PIXEL_FORMAT_RGBA_FP16; - case AHARDWAREBUFFER_FORMAT_A2R10G10B10_UNORM_PACK32: return HAL_PIXEL_FORMAT_RGBA_1010102; + case AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT: return HAL_PIXEL_FORMAT_RGBA_FP16; + case AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM: return HAL_PIXEL_FORMAT_RGBA_1010102; case AHARDWAREBUFFER_FORMAT_BLOB: return HAL_PIXEL_FORMAT_BLOB; default:ALOGE("Unknown AHardwareBuffer format %u", format); return 0; diff --git a/libs/nativewindow/include/android/hardware_buffer.h b/libs/nativewindow/include/android/hardware_buffer.h index e5b685337c..2d5da8cdce 100644 --- a/libs/nativewindow/include/android/hardware_buffer.h +++ b/libs/nativewindow/include/android/hardware_buffer.h @@ -66,14 +66,14 @@ enum { * Vulkan: VK_FORMAT_R16G16B16A16_SFLOAT * OpenGL ES: GL_RGBA16F */ - AHARDWAREBUFFER_FORMAT_R16G16B16A16_SFLOAT = 0x16, + AHARDWAREBUFFER_FORMAT_R16G16B16A16_FLOAT = 0x16, /** * Corresponding formats: - * Vulkan: VK_FORMAT_A2R10G10B10_UNORM_PACK32 + * Vulkan: VK_FORMAT_A2B10G10R10_UNORM_PACK32 * OpenGL ES: GL_RGB10_A2 */ - AHARDWAREBUFFER_FORMAT_A2R10G10B10_UNORM_PACK32 = 0x2b, + AHARDWAREBUFFER_FORMAT_R10G10B10A2_UNORM = 0x2b, /** * An opaque binary blob format that must have height 1, with width equal to |