Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: cc/resources/resource_provider.h

Issue 2662303004: Move const ResourceProvider members into Settings struct (Closed)
Patch Set: fix build Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | cc/resources/resource_provider.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « no previous file | cc/resources/resource_provider.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698