Chromium Code Reviews| Index: cc/resources/resource_provider.cc |
| diff --git a/cc/resources/resource_provider.cc b/cc/resources/resource_provider.cc |
| index 4c7c9dae8aedbca3ac221362f45a60ad9f90daa3..38aaa26ec6356025b99bc9403794718467fd2cc3 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, |
| + std::vector<unsigned> use_image_texture_targets) { |
|
reveman
2015/07/28 08:58:26
nit: const std::vector<unsigned>&
|
| 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, |
| + std::vector<unsigned> use_image_texture_targets) |
|
reveman
2015/07/28 08:58:26
nit: const std::vector<unsigned>&
|
| : 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,12 @@ GLint ResourceProvider::GetActiveTextureUnit(GLES2Interface* gl) { |
| return active_unit; |
| } |
| +GLenum ResourceProvider::GetImageTextureTarget(ResourceFormat format) { |
| + gfx::GpuMemoryBuffer::Format buf_fmt = ToGpuMemoryBufferFormat(format); |
|
reveman
2015/07/28 08:58:26
nit: remove this variable or avoid abbreviating. s
|
| + DCHECK_GT(use_image_texture_targets_.size(), buf_fmt); |
| + return use_image_texture_targets_[buf_fmt]; |
| +} |
| + |
| void ResourceProvider::ValidateResource(ResourceId id) const { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| DCHECK(id); |