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

Unified Diff: cc/resources/resource_pool.h

Issue 2254033002: Encourage IOSurface reuse for CSS filter effects. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments from ericrk. Created 4 years, 4 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 | « cc/output/gl_renderer.cc ('k') | cc/resources/resource_pool.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/resource_pool.h
diff --git a/cc/resources/resource_pool.h b/cc/resources/resource_pool.h
index 5bf8c81064d2ed72244db37f8652a1d99f6e91e2..200b728f0b95026f4eeb6f45d325ced6532170af 100644
--- a/cc/resources/resource_pool.h
+++ b/cc/resources/resource_pool.h
@@ -25,21 +25,26 @@ namespace cc {
class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider {
public:
+ // Delay before a resource is considered expired.
+ static base::TimeDelta kDefaultExpirationDelay;
+
static std::unique_ptr<ResourcePool> CreateForGpuMemoryBufferResources(
ResourceProvider* resource_provider,
base::SingleThreadTaskRunner* task_runner,
- gfx::BufferUsage usage) {
- std::unique_ptr<ResourcePool> pool(
- new ResourcePool(resource_provider, task_runner, true));
+ 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;
}
static std::unique_ptr<ResourcePool> Create(
ResourceProvider* resource_provider,
- base::SingleThreadTaskRunner* task_runner) {
- return base::WrapUnique(
- new ResourcePool(resource_provider, task_runner, false));
+ base::SingleThreadTaskRunner* task_runner,
+ const base::TimeDelta& expiration_delay) {
+ return base::WrapUnique(new ResourcePool(resource_provider, task_runner,
+ false, expiration_delay));
}
~ResourcePool() override;
@@ -88,14 +93,12 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider {
size_t GetBusyResourceCountForTesting() const {
return busy_resources_.size();
}
- void SetResourceExpirationDelayForTesting(base::TimeDelta delay) {
- resource_expiration_delay_ = delay;
- }
protected:
ResourcePool(ResourceProvider* resource_provider,
base::SingleThreadTaskRunner* task_runner,
- bool use_gpu_memory_buffers);
+ bool use_gpu_memory_buffers,
+ const base::TimeDelta& expiration_delay);
bool ResourceUsageTooHigh();
@@ -173,7 +176,7 @@ class CC_EXPORT ResourcePool : public base::trace_event::MemoryDumpProvider {
scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
bool evict_expired_resources_pending_;
- base::TimeDelta resource_expiration_delay_;
+ const base::TimeDelta resource_expiration_delay_;
base::WeakPtrFactory<ResourcePool> weak_ptr_factory_;
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/resources/resource_pool.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698