| Index: gpu/command_buffer/common/gpu_memory_buffer_support.cc
|
| diff --git a/gpu/command_buffer/common/gpu_memory_buffer_support.cc b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
|
| index 68237a08fd255e6ffc020f530493d662ffad0290..0159b48fde180f269d75ded05f418395afbb63ba 100644
|
| --- a/gpu/command_buffer/common/gpu_memory_buffer_support.cc
|
| +++ b/gpu/command_buffer/common/gpu_memory_buffer_support.cc
|
| @@ -84,6 +84,7 @@ bool IsImageFormatCompatibleWithGpuMemoryBufferFormat(
|
| case gfx::BufferFormat::RGBX_8888:
|
| return internalformat == GL_RGB;
|
| case gfx::BufferFormat::RGBA_4444:
|
| + case gfx::BufferFormat::RGBA_F16:
|
| return internalformat == GL_RGBA;
|
| }
|
|
|
| @@ -91,8 +92,9 @@ bool IsImageFormatCompatibleWithGpuMemoryBufferFormat(
|
| return false;
|
| }
|
|
|
| -bool IsGpuMemoryBufferFormatSupported(gfx::BufferFormat format,
|
| - const gpu::Capabilities& capabilities) {
|
| +bool IsImageFromGpuMemoryBufferFormatSupported(
|
| + gfx::BufferFormat format,
|
| + const gpu::Capabilities& capabilities) {
|
| switch (format) {
|
| case gfx::BufferFormat::ATC:
|
| case gfx::BufferFormat::ATCIA:
|
| @@ -117,6 +119,8 @@ bool IsGpuMemoryBufferFormatSupported(gfx::BufferFormat format,
|
| case gfx::BufferFormat::RGBX_8888:
|
| case gfx::BufferFormat::YVU_420:
|
| return true;
|
| + case gfx::BufferFormat::RGBA_F16:
|
| + return capabilities.texture_half_float_linear;
|
| case gfx::BufferFormat::YUV_420_BIPLANAR:
|
| #if defined(OS_CHROMEOS) && defined(ARCH_CPU_ARM_FAMILY)
|
| // TODO(dcastagna): Determine ycbcr_420v_image on CrOS at runtime
|
| @@ -150,6 +154,7 @@ bool IsImageSizeValidForGpuMemoryBufferFormat(const gfx::Size& size,
|
| case gfx::BufferFormat::RGBX_8888:
|
| case gfx::BufferFormat::BGRA_8888:
|
| case gfx::BufferFormat::BGRX_8888:
|
| + case gfx::BufferFormat::RGBA_F16:
|
| return true;
|
| case gfx::BufferFormat::YVU_420:
|
| case gfx::BufferFormat::YUV_420_BIPLANAR:
|
|
|