| Index: cc/resources/resource_provider.cc
|
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc
|
| index 4c7c9dae8aedbca3ac221362f45a60ad9f90daa3..71c0ab168a8f84cd6538d8f4ea304cdd1c566433 100644
|
| --- a/cc/resources/resource_provider.cc
|
| +++ b/cc/resources/resource_provider.cc
|
| @@ -393,12 +393,13 @@ scoped_ptr<ResourceProvider> ResourceProvider::Create(
|
| int highp_threshold_min,
|
| bool use_rgba_4444_texture_format,
|
| size_t id_allocation_chunk_size,
|
| - bool use_persistent_map_for_gpu_memory_buffers) {
|
| + bool use_persistent_map_for_gpu_memory_buffers,
|
| + const std::vector<unsigned>& use_image_texture_targets) {
|
| scoped_ptr<ResourceProvider> resource_provider(new ResourceProvider(
|
| output_surface, shared_bitmap_manager, gpu_memory_buffer_manager,
|
| blocking_main_thread_task_runner, highp_threshold_min,
|
| use_rgba_4444_texture_format, id_allocation_chunk_size,
|
| - use_persistent_map_for_gpu_memory_buffers));
|
| + use_persistent_map_for_gpu_memory_buffers, use_image_texture_targets));
|
| resource_provider->Initialize();
|
| return resource_provider;
|
| }
|
| @@ -1081,7 +1082,8 @@ ResourceProvider::ResourceProvider(
|
| int highp_threshold_min,
|
| bool use_rgba_4444_texture_format,
|
| size_t id_allocation_chunk_size,
|
| - bool use_persistent_map_for_gpu_memory_buffers)
|
| + bool use_persistent_map_for_gpu_memory_buffers,
|
| + const std::vector<unsigned>& use_image_texture_targets)
|
| : output_surface_(output_surface),
|
| shared_bitmap_manager_(shared_bitmap_manager),
|
| gpu_memory_buffer_manager_(gpu_memory_buffer_manager),
|
| @@ -1103,7 +1105,8 @@ ResourceProvider::ResourceProvider(
|
| id_allocation_chunk_size_(id_allocation_chunk_size),
|
| use_sync_query_(false),
|
| use_persistent_map_for_gpu_memory_buffers_(
|
| - use_persistent_map_for_gpu_memory_buffers) {
|
| + use_persistent_map_for_gpu_memory_buffers),
|
| + use_image_texture_targets_(use_image_texture_targets) {
|
| DCHECK(output_surface_->HasClient());
|
| DCHECK(id_allocation_chunk_size_);
|
| }
|
| @@ -1934,6 +1937,13 @@ GLint ResourceProvider::GetActiveTextureUnit(GLES2Interface* gl) {
|
| return active_unit;
|
| }
|
|
|
| +GLenum ResourceProvider::GetImageTextureTarget(ResourceFormat format) {
|
| + gfx::GpuMemoryBuffer::Format buffer_format = ToGpuMemoryBufferFormat(format);
|
| + DCHECK_GT(use_image_texture_targets_.size(),
|
| + static_cast<size_t>(buffer_format));
|
| + return use_image_texture_targets_[buffer_format];
|
| +}
|
| +
|
| void ResourceProvider::ValidateResource(ResourceId id) const {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK(id);
|
|
|