| Index: cc/resources/resource_format.cc
|
| diff --git a/cc/resources/resource_format.cc b/cc/resources/resource_format.cc
|
| index 2d139ab5c0465e910b289844893c6acb63a3653f..a7db8a780823461b560942dee98a6f581eda4041 100644
|
| --- a/cc/resources/resource_format.cc
|
| +++ b/cc/resources/resource_format.cc
|
| @@ -12,6 +12,8 @@ namespace cc {
|
|
|
| int BitsPerPixel(ResourceFormat format) {
|
| switch (format) {
|
| + case RGBA_F16:
|
| + return 64;
|
| case BGRA_8888:
|
| case RGBA_8888:
|
| return 32;
|
| @@ -42,6 +44,7 @@ GLenum GLDataType(ResourceFormat format) {
|
| GL_UNSIGNED_BYTE, // ETC1
|
| GL_UNSIGNED_BYTE, // RED_8
|
| GL_HALF_FLOAT_OES, // LUMINANCE_F16
|
| + GL_HALF_FLOAT_OES, // RGBA_F16
|
| };
|
| static_assert(arraysize(format_gl_data_type) == (RESOURCE_FORMAT_MAX + 1),
|
| "format_gl_data_type does not handle all cases.");
|
| @@ -61,6 +64,7 @@ GLenum GLDataFormat(ResourceFormat format) {
|
| GL_ETC1_RGB8_OES, // ETC1
|
| GL_RED_EXT, // RED_8
|
| GL_LUMINANCE, // LUMINANCE_F16
|
| + GL_RGBA, // RGBA_F16
|
| };
|
| static_assert(arraysize(format_gl_data_format) == (RESOURCE_FORMAT_MAX + 1),
|
| "format_gl_data_format does not handle all cases.");
|
| @@ -91,6 +95,7 @@ GLenum GLCopyTextureInternalFormat(ResourceFormat format) {
|
| GL_RGB, // ETC1
|
| GL_LUMINANCE, // RED_8
|
| GL_LUMINANCE, // LUMINANCE_F16
|
| + GL_RGBA, // RGBA_F16
|
| };
|
| static_assert(arraysize(format_gl_data_format) == (RESOURCE_FORMAT_MAX + 1),
|
| "format_gl_data_format does not handle all cases.");
|
| @@ -113,6 +118,7 @@ gfx::BufferFormat BufferFormat(ResourceFormat format) {
|
| case LUMINANCE_8:
|
| case RGB_565:
|
| case LUMINANCE_F16:
|
| + case RGBA_F16:
|
| break;
|
| }
|
| NOTREACHED();
|
| @@ -129,6 +135,7 @@ bool DoesResourceFormatSupportAlpha(ResourceFormat format) {
|
| case RGBA_8888:
|
| case BGRA_8888:
|
| case ALPHA_8:
|
| + case RGBA_F16:
|
| return true;
|
| case LUMINANCE_8:
|
| case RGB_565:
|
|
|