Index: ui/gfx/buffer_format_util.cc |
diff --git a/ui/gfx/buffer_format_util.cc b/ui/gfx/buffer_format_util.cc |
index 4432b3e9a6c88568fe60ea4165f99b42816cd981..35003e1072d35d61bad2264967eb9cf4f1b17e1f 100644 |
--- a/ui/gfx/buffer_format_util.cc |
+++ b/ui/gfx/buffer_format_util.cc |
@@ -11,22 +11,16 @@ |
namespace gfx { |
namespace { |
-const BufferFormat kBufferFormats[] = {BufferFormat::ATC, |
- BufferFormat::ATCIA, |
- BufferFormat::DXT1, |
- BufferFormat::DXT5, |
- BufferFormat::ETC1, |
- BufferFormat::R_8, |
- BufferFormat::RG_88, |
- BufferFormat::BGR_565, |
- BufferFormat::RGBA_4444, |
- BufferFormat::RGBX_8888, |
- BufferFormat::RGBA_8888, |
- BufferFormat::BGRX_8888, |
- BufferFormat::BGRA_8888, |
- BufferFormat::UYVY_422, |
- BufferFormat::YUV_420_BIPLANAR, |
- BufferFormat::YVU_420}; |
+const BufferFormat kBufferFormats[] = { |
+ BufferFormat::ATC, BufferFormat::ATCIA, |
+ BufferFormat::DXT1, BufferFormat::DXT5, |
+ BufferFormat::ETC1, BufferFormat::R_8, |
+ BufferFormat::RG_88, BufferFormat::BGR_565, |
+ BufferFormat::RGBA_4444, BufferFormat::RGBX_8888, |
+ BufferFormat::RGBA_8888, BufferFormat::BGRX_8888, |
+ BufferFormat::BGRA_8888, BufferFormat::RGBA_F16, |
+ BufferFormat::UYVY_422, BufferFormat::YUV_420_BIPLANAR, |
+ BufferFormat::YVU_420}; |
static_assert(arraysize(kBufferFormats) == |
(static_cast<int>(BufferFormat::LAST) + 1), |
@@ -74,6 +68,12 @@ bool RowSizeForBufferFormatChecked( |
return false; |
*size_in_bytes = checked_size.ValueOrDie(); |
return true; |
+ case BufferFormat::RGBA_F16: |
+ checked_size *= 8; |
+ if (!checked_size.IsValid()) |
+ return false; |
+ *size_in_bytes = checked_size.ValueOrDie(); |
+ return true; |
case BufferFormat::YVU_420: |
DCHECK_EQ(0u, width % 2); |
*size_in_bytes = width / SubsamplingFactorForBufferFormat(format, plane); |
@@ -109,6 +109,7 @@ size_t NumberOfPlanesForBufferFormat(BufferFormat format) { |
case BufferFormat::RGBA_8888: |
case BufferFormat::BGRX_8888: |
case BufferFormat::BGRA_8888: |
+ case BufferFormat::RGBA_F16: |
case BufferFormat::UYVY_422: |
return 1; |
case BufferFormat::YUV_420_BIPLANAR: |
@@ -135,6 +136,7 @@ size_t SubsamplingFactorForBufferFormat(BufferFormat format, size_t plane) { |
case BufferFormat::RGBA_8888: |
case BufferFormat::BGRX_8888: |
case BufferFormat::BGRA_8888: |
+ case BufferFormat::RGBA_F16: |
case BufferFormat::UYVY_422: |
return 1; |
case BufferFormat::YVU_420: { |
@@ -206,6 +208,7 @@ size_t BufferOffsetForBufferFormat(const Size& size, |
case BufferFormat::RGBA_8888: |
case BufferFormat::BGRX_8888: |
case BufferFormat::BGRA_8888: |
+ case BufferFormat::RGBA_F16: |
case BufferFormat::UYVY_422: |
return 0; |
case BufferFormat::YVU_420: { |