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

Unified Diff: cc/layers/delegated_renderer_layer_impl.cc

Issue 1152473006: cc: Remove DrawQuad::IterateResoruces (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mkwst review Created 5 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
« no previous file with comments | « no previous file | cc/layers/layer_impl.cc » ('j') | cc/quads/draw_quad.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/delegated_renderer_layer_impl.cc
diff --git a/cc/layers/delegated_renderer_layer_impl.cc b/cc/layers/delegated_renderer_layer_impl.cc
index 5b6bc6cc3fff7c9cf45bab30afddc738919dc47e..4532312dd1400604b9a36f1af1026bbb65008969 100644
--- a/cc/layers/delegated_renderer_layer_impl.cc
+++ b/cc/layers/delegated_renderer_layer_impl.cc
@@ -44,24 +44,6 @@ bool DelegatedRendererLayerImpl::HasContributingDelegatedRenderPasses() const {
return render_passes_in_draw_order_.size() > 1;
}
-static ResourceId ResourceRemapHelper(
- bool* invalid_frame,
- const ResourceProvider::ResourceIdMap& child_to_parent_map,
- ResourceProvider::ResourceIdSet* resources_in_frame,
- ResourceId id) {
- ResourceProvider::ResourceIdMap::const_iterator it =
- child_to_parent_map.find(id);
- if (it == child_to_parent_map.end()) {
- *invalid_frame = true;
- return 0;
- }
-
- DCHECK_EQ(it->first, id);
- ResourceId remapped_id = it->second;
- resources_in_frame->insert(id);
- return remapped_id;
-}
-
void DelegatedRendererLayerImpl::PushPropertiesTo(LayerImpl* layer) {
LayerImpl::PushPropertiesTo(layer);
@@ -134,14 +116,22 @@ void DelegatedRendererLayerImpl::SetFrameData(
if (reserve_size)
resources_in_frame.resize(reserve_size);
#endif
- DrawQuad::ResourceIteratorCallback remap_resources_to_parent_callback =
- base::Bind(&ResourceRemapHelper,
- &invalid_frame,
- resource_map,
- &resources_in_frame);
for (const auto& pass : render_pass_list) {
- for (const auto& quad : pass->quad_list)
- quad->IterateResources(remap_resources_to_parent_callback);
+ for (const auto& quad : pass->quad_list) {
+ for (ResourceId& resource_id : quad->resources) {
+ ResourceProvider::ResourceIdMap::const_iterator it =
+ resource_map.find(resource_id);
+ if (it == resource_map.end()) {
+ invalid_frame = true;
+ break;
+ }
+
+ DCHECK_EQ(it->first, resource_id);
+ ResourceId remapped_id = it->second;
+ resources_in_frame.insert(resource_id);
+ resource_id = remapped_id;
+ }
+ }
}
if (invalid_frame) {
« no previous file with comments | « no previous file | cc/layers/layer_impl.cc » ('j') | cc/quads/draw_quad.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698