Index: cc/resources/resource_provider.h |
diff --git a/cc/resources/resource_provider.h b/cc/resources/resource_provider.h |
index f03da6f71f35387297e8b8b3874c83fce5455595..2518a303a9b8f5ad56fa1e31c762de068fff5704 100644 |
--- a/cc/resources/resource_provider.h |
+++ b/cc/resources/resource_provider.h |
@@ -83,7 +83,6 @@ class CC_EXPORT ResourceProvider |
SharedBitmapManager* shared_bitmap_manager, |
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
BlockingTaskRunner* blocking_main_thread_task_runner, |
- int highp_threshold_min, |
size_t id_allocation_chunk_size, |
bool delegated_sync_points_required, |
bool use_gpu_memory_buffer_resources, |
@@ -95,13 +94,15 @@ class CC_EXPORT ResourceProvider |
void DidLoseContextProvider() { lost_context_provider_ = true; } |
- int max_texture_size() const { return max_texture_size_; } |
- ResourceFormat best_texture_format() const { return best_texture_format_; } |
+ int max_texture_size() const { return settings_.max_texture_size; } |
+ ResourceFormat best_texture_format() const { |
+ return settings_.best_texture_format; |
+ } |
ResourceFormat best_render_buffer_format() const { |
- return best_render_buffer_format_; |
+ return settings_.best_render_buffer_format; |
} |
ResourceFormat YuvResourceFormat(int bits) const; |
- bool use_sync_query() const { return use_sync_query_; } |
+ bool use_sync_query() const { return settings_.use_sync_query; } |
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() { |
return gpu_memory_buffer_manager_; |
} |
@@ -119,7 +120,9 @@ class CC_EXPORT ResourceProvider |
// Producer interface. |
- ResourceType default_resource_type() const { return default_resource_type_; } |
+ ResourceType default_resource_type() const { |
+ return settings_.default_resource_type; |
+ } |
ResourceType GetResourceType(ResourceId id); |
GLenum GetResourceTextureTarget(ResourceId id); |
bool IsImmutable(ResourceId id); |
@@ -710,48 +713,50 @@ class CC_EXPORT ResourceProvider |
gpu::gles2::GLES2Interface* ContextGL() const; |
bool IsGLContextLost() const; |
- // Returns null if |enable_color_correct_rendering_| is false. |
+ // Returns null if |settings_.enable_color_correct_rendering| is false. |
sk_sp<SkColorSpace> GetResourceSkColorSpace(const Resource* resource) const; |
+ // Holds const settings for the ResourceProvider. Never changed after init. |
+ struct Settings { |
+ Settings(ContextProvider* compositor_context_provider, |
+ bool delegated_sync_points_required, |
+ bool use_gpu_memory_buffer_resources, |
+ bool enable_color_correct_rendering); |
+ |
+ int max_texture_size = 0; |
+ bool use_texture_storage_ext = false; |
+ bool use_texture_format_bgra = false; |
+ bool use_texture_usage_hint = false; |
+ bool use_sync_query = false; |
+ ResourceType default_resource_type = RESOURCE_TYPE_GL_TEXTURE; |
+ ResourceFormat yuv_resource_format = LUMINANCE_8; |
+ ResourceFormat yuv_highbit_resource_format = LUMINANCE_8; |
+ ResourceFormat best_texture_format = RGBA_8888; |
+ ResourceFormat best_render_buffer_format = RGBA_8888; |
+ bool enable_color_correct_rendering = false; |
+ bool delegated_sync_points_required = false; |
+ } const settings_; |
+ |
ContextProvider* compositor_context_provider_; |
SharedBitmapManager* shared_bitmap_manager_; |
gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager_; |
BlockingTaskRunner* blocking_main_thread_task_runner_; |
bool lost_context_provider_; |
- int highp_threshold_min_; |
ResourceId next_id_; |
ResourceMap resources_; |
int next_child_; |
ChildMap children_; |
- |
- const bool delegated_sync_points_required_; |
- |
- ResourceType default_resource_type_; |
- bool use_texture_storage_ext_; |
- bool use_texture_format_bgra_; |
- bool use_texture_usage_hint_; |
- bool use_compressed_texture_etc1_; |
- ResourceFormat yuv_resource_format_; |
- ResourceFormat yuv_highbit_resource_format_; |
- int max_texture_size_; |
- ResourceFormat best_texture_format_; |
- ResourceFormat best_render_buffer_format_; |
- const bool enable_color_correct_rendering_ = false; |
- |
- base::ThreadChecker thread_checker_; |
- |
scoped_refptr<Fence> current_read_lock_fence_; |
- |
- const size_t id_allocation_chunk_size_; |
std::unique_ptr<IdAllocator> texture_id_allocator_; |
std::unique_ptr<IdAllocator> buffer_id_allocator_; |
- |
- bool use_sync_query_; |
BufferToTextureTargetMap buffer_to_texture_target_map_; |
+ base::ThreadChecker thread_checker_; |
+ |
// A process-unique ID used for disambiguating memory dumps from different |
// resource providers. |
int tracing_id_; |
+ |
#if defined(OS_ANDROID) |
// Set of resource Ids that would like to be notified about promotion hints. |
ResourceIdSet wants_promotion_hints_set_; |