| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index e22c77d8e332a8683e7d9b5a16deea61149895b3..42eda06e3e5863520b709e78d1df3256e52dc008 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -411,6 +411,7 @@
|
| use_texture_format_bgra_(false),
|
| use_texture_usage_hint_(false),
|
| use_compressed_texture_etc1_(false),
|
| + yuv_resource_format_(LUMINANCE_8),
|
| max_texture_size_(0),
|
| best_texture_format_(RGBA_8888),
|
| best_render_buffer_format_(RGBA_8888),
|
| @@ -448,6 +449,15 @@
|
| use_texture_format_bgra_ = caps.texture_format_bgra8888;
|
| use_texture_usage_hint_ = caps.texture_usage;
|
| use_compressed_texture_etc1_ = caps.texture_format_etc1;
|
| +
|
| + if (caps.disable_one_component_textures) {
|
| + yuv_resource_format_ = yuv_highbit_resource_format_ = RGBA_8888;
|
| + } else {
|
| + yuv_resource_format_ = caps.texture_rg ? RED_8 : LUMINANCE_8;
|
| + yuv_highbit_resource_format_ =
|
| + caps.texture_half_float_linear ? LUMINANCE_F16 : yuv_resource_format_;
|
| + }
|
| +
|
| use_sync_query_ = caps.sync_query;
|
|
|
| GLES2Interface* gl = ContextGL();
|
| @@ -537,6 +547,14 @@
|
| Resource* resource = GetResource(id);
|
| DCHECK(resource);
|
| resource->lost = true;
|
| +}
|
| +
|
| +ResourceFormat ResourceProvider::YuvResourceFormat(int bits) const {
|
| + if (bits > 8) {
|
| + return yuv_highbit_resource_format_;
|
| + } else {
|
| + return yuv_resource_format_;
|
| + }
|
| }
|
|
|
| ResourceId ResourceProvider::CreateResource(
|
|
|