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

Unified Diff: cc/trees/layer_tree_host_impl.cc

Issue 2726263003: cc::ResourcePool - Re-use larger resources for smaller requests (Closed)
Patch Set: rebase Created 3 years, 7 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
Index: cc/trees/layer_tree_host_impl.cc
diff --git a/cc/trees/layer_tree_host_impl.cc b/cc/trees/layer_tree_host_impl.cc
index 5fb4b6d11253ec983dada5606dcd9f5d31910467..421b11a364738e0ccdeafc4621ba9dd6b63ca1c8 100644
--- a/cc/trees/layer_tree_host_impl.cc
+++ b/cc/trees/layer_tree_host_impl.cc
@@ -2243,10 +2243,11 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
ContextProvider* compositor_context_provider =
compositor_frame_sink_->context_provider();
if (!compositor_context_provider) {
- *resource_pool =
- ResourcePool::Create(resource_provider_.get(), GetTaskRunner(),
- ResourceProvider::TEXTURE_HINT_IMMUTABLE,
- ResourcePool::kDefaultExpirationDelay);
+ *resource_pool = ResourcePool::Create(
+ resource_provider_.get(), GetTaskRunner(),
+ ResourceProvider::TEXTURE_HINT_IMMUTABLE,
+ ResourcePool::kDefaultExpirationDelay,
+ settings_.renderer_settings.disallow_non_exact_resource_reuse);
*raster_buffer_provider =
BitmapRasterBufferProvider::Create(resource_provider_.get());
@@ -2261,7 +2262,8 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
*resource_pool = ResourcePool::Create(
resource_provider_.get(), GetTaskRunner(),
ResourceProvider::TEXTURE_HINT_IMMUTABLE_FRAMEBUFFER,
- ResourcePool::kDefaultExpirationDelay);
+ ResourcePool::kDefaultExpirationDelay,
+ settings_.renderer_settings.disallow_non_exact_resource_reuse);
int msaa_sample_count = use_msaa_ ? RequestedMSAASampleCount() : 0;
@@ -2286,7 +2288,8 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
*resource_pool = ResourcePool::CreateForGpuMemoryBufferResources(
resource_provider_.get(), GetTaskRunner(),
gfx::BufferUsage::GPU_READ_CPU_READ_WRITE,
- ResourcePool::kDefaultExpirationDelay);
+ ResourcePool::kDefaultExpirationDelay,
+ settings_.renderer_settings.disallow_non_exact_resource_reuse);
danakj 2017/05/04 21:48:37 Can you put it in LayerTreeSettings for here, and
ericrk 2017/05/05 23:18:38 Done.
*raster_buffer_provider = ZeroCopyRasterBufferProvider::Create(
resource_provider_.get(),
@@ -2294,10 +2297,11 @@ void LayerTreeHostImpl::CreateResourceAndRasterBufferProvider(
return;
}
- *resource_pool =
- ResourcePool::Create(resource_provider_.get(), GetTaskRunner(),
- ResourceProvider::TEXTURE_HINT_IMMUTABLE,
- ResourcePool::kDefaultExpirationDelay);
+ *resource_pool = ResourcePool::Create(
+ resource_provider_.get(), GetTaskRunner(),
+ ResourceProvider::TEXTURE_HINT_IMMUTABLE,
+ ResourcePool::kDefaultExpirationDelay,
+ settings_.renderer_settings.disallow_non_exact_resource_reuse);
const int max_copy_texture_chromium_size =
compositor_context_provider->ContextCapabilities()

Powered by Google App Engine
This is Rietveld 408576698