| Index: cc/resources/resource_pool.h
|
| diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h
|
| index c87d0453c401967099d2905aa9c663f4e6d31ed8..b7c43e74ac563572d305d5643f4d9efb8e01a76a 100644
|
| --- a/cc/resources/resource_pool.h
|
| +++ b/cc/resources/resource_pool.h
|
| @@ -34,18 +34,17 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| gfx::BufferUsage usage,
|
| const base::TimeDelta& expiration_delay) {
|
| - std::unique_ptr<ResourcePool> pool(new ResourcePool(
|
| - resource_provider, task_runner, true, expiration_delay));
|
| - pool->usage_ = usage;
|
| - return pool;
|
| + return base::WrapUnique(new ResourcePool(resource_provider, task_runner,
|
| + usage, expiration_delay));
|
| }
|
|
|
| static std::unique_ptr<ResourcePool> Create(
|
| ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| + ResourceProvider::TextureHint hint,
|
| const base::TimeDelta& expiration_delay) {
|
| return base::WrapUnique(new ResourcePool(resource_provider, task_runner,
|
| - false, expiration_delay));
|
| + hint, expiration_delay));
|
| }
|
|
|
| ~ResourcePool() override;
|
| @@ -99,9 +98,16 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| }
|
|
|
| protected:
|
| + // Constructor for creating GPU memory buffer resources.
|
| + ResourcePool(ResourceProvider* resource_provider,
|
| + base::SingleThreadTaskRunner* task_runner,
|
| + gfx::BufferUsage usage,
|
| + const base::TimeDelta& expiration_delay);
|
| +
|
| + // Constructor for creating standard resources.
|
| ResourcePool(ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| - bool use_gpu_memory_buffers,
|
| + ResourceProvider::TextureHint hint,
|
| const base::TimeDelta& expiration_delay);
|
|
|
| private:
|
| @@ -159,14 +165,15 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| bool HasEvictableResources() const;
|
| base::TimeTicks GetUsageTimeForLRUResource() const;
|
|
|
| - ResourceProvider* resource_provider_;
|
| - bool use_gpu_memory_buffers_;
|
| - gfx::BufferUsage usage_;
|
| - size_t max_memory_usage_bytes_;
|
| - size_t max_resource_count_;
|
| - size_t in_use_memory_usage_bytes_;
|
| - size_t total_memory_usage_bytes_;
|
| - size_t total_resource_count_;
|
| + ResourceProvider* resource_provider_ = nullptr;
|
| + bool use_gpu_memory_buffers_ = false;
|
| + gfx::BufferUsage usage_ = gfx::BufferUsage::GPU_READ_CPU_READ_WRITE;
|
| + ResourceProvider::TextureHint hint_ = ResourceProvider::TEXTURE_HINT_DEFAULT;
|
| + size_t max_memory_usage_bytes_ = 0;
|
| + size_t max_resource_count_ = 0;
|
| + size_t in_use_memory_usage_bytes_ = 0;
|
| + size_t total_memory_usage_bytes_ = 0;
|
| + size_t total_resource_count_ = 0;
|
|
|
| // Holds most recently used resources at the front of the queue.
|
| using ResourceDeque = std::deque<std::unique_ptr<PoolResource>>;
|
| @@ -177,7 +184,7 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| InUseResourceMap in_use_resources_;
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| - bool evict_expired_resources_pending_;
|
| + bool evict_expired_resources_pending_ = false;
|
| const base::TimeDelta resource_expiration_delay_;
|
|
|
| base::WeakPtrFactory<ResourcePool> weak_ptr_factory_;
|
|
|