| Index: cc/resources/resource_pool.h
|
| diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h
|
| index 8932364ee4c2239994aa07eabe5df83784169d4d..33291874d261c16202666d7e6a859b18650d5189 100644
|
| --- a/cc/resources/resource_pool.h
|
| +++ b/cc/resources/resource_pool.h
|
| @@ -33,18 +33,22 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| gfx::BufferUsage usage,
|
| - const base::TimeDelta& expiration_delay) {
|
| + const base::TimeDelta& expiration_delay,
|
| + bool disallow_non_exact_reuse) {
|
| return base::WrapUnique(new ResourcePool(resource_provider, task_runner,
|
| - usage, expiration_delay));
|
| + usage, expiration_delay,
|
| + disallow_non_exact_reuse));
|
| }
|
|
|
| static std::unique_ptr<ResourcePool> Create(
|
| ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| ResourceProvider::TextureHint hint,
|
| - const base::TimeDelta& expiration_delay) {
|
| + const base::TimeDelta& expiration_delay,
|
| + bool disallow_non_exact_reuse) {
|
| return base::WrapUnique(new ResourcePool(resource_provider, task_runner,
|
| - hint, expiration_delay));
|
| + hint, expiration_delay,
|
| + disallow_non_exact_reuse));
|
| }
|
|
|
| ~ResourcePool() override;
|
| @@ -102,16 +106,19 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| ResourcePool(ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| gfx::BufferUsage usage,
|
| - const base::TimeDelta& expiration_delay);
|
| + const base::TimeDelta& expiration_delay,
|
| + bool disallow_non_exact_reuse);
|
|
|
| // Constructor for creating standard resources.
|
| ResourcePool(ResourceProvider* resource_provider,
|
| base::SingleThreadTaskRunner* task_runner,
|
| ResourceProvider::TextureHint hint,
|
| - const base::TimeDelta& expiration_delay);
|
| + const base::TimeDelta& expiration_delay,
|
| + bool disallow_non_exact_reuse);
|
|
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(ResourcePoolTest, ReuseResource);
|
| + FRIEND_TEST_ALL_PREFIXES(ResourcePoolTest, ExactRequestsRespected);
|
| class PoolResource : public ScopedResource {
|
| public:
|
| static std::unique_ptr<PoolResource> Create(
|
| @@ -186,6 +193,7 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider,
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| bool evict_expired_resources_pending_ = false;
|
| const base::TimeDelta resource_expiration_delay_;
|
| + const bool disallow_non_exact_reuse_ = false;
|
|
|
| base::WeakPtrFactory<ResourcePool> weak_ptr_factory_;
|
|
|
|
|