Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: ui/gfx/buffer_format_util.cc

Issue 2786103003: Add half-float IOSurface GpuMemoryBuffer support (Closed)
Patch Set: Review feedback Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/ipc/service/gpu_command_buffer_stub.cc ('k') | ui/gfx/buffer_types.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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: {
« no previous file with comments | « gpu/ipc/service/gpu_command_buffer_stub.cc ('k') | ui/gfx/buffer_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698