| 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: {
|
|
|