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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 547723002: Reland of: cc: Add occlusion checker as a fixed view of occlusion tracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update Created 6 years, 3 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/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index cb8141b66b83d56a7f334ef4cdbaea4717d172f2..5e34d5914120215c4f65061eb000d6bd765380b7 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -419,18 +419,11 @@ void PictureLayerImpl::AppendQuads(
CleanUpTilingsOnActiveLayer(seen_tilings);
}
-void PictureLayerImpl::UpdateTiles(
- const OcclusionTracker<LayerImpl>* occlusion_tracker) {
+void PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_layer_space) {
TRACE_EVENT0("cc", "PictureLayerImpl::UpdateTiles");
DoPostCommitInitializationIfNeeded();
- // TODO(danakj): We should always get an occlusion tracker when we are using
- // occlusion, so update this check when we don't use a pending tree in the
- // browser compositor.
- DCHECK(!occlusion_tracker ||
- layer_tree_impl()->settings().use_occlusion_for_tile_prioritization);
-
visible_rect_for_tile_priority_ = visible_content_rect();
viewport_rect_for_tile_priority_ =
layer_tree_impl()->ViewportRectForTilePriority();
@@ -465,14 +458,14 @@ void PictureLayerImpl::UpdateTiles(
should_update_tile_priorities_ = true;
- UpdateTilePriorities(occlusion_tracker);
+ UpdateTilePriorities(occlusion_in_layer_space);
if (layer_tree_impl()->IsPendingTree())
MarkVisibleResourcesAsRequired();
}
void PictureLayerImpl::UpdateTilePriorities(
- const OcclusionTracker<LayerImpl>* occlusion_tracker) {
+ const Occlusion& occlusion_in_layer_space) {
TRACE_EVENT0("cc", "PictureLayerImpl::UpdateTilePriorities");
double current_frame_time_in_seconds =
@@ -502,9 +495,7 @@ void PictureLayerImpl::UpdateTilePriorities(
visible_layer_rect,
ideal_contents_scale_,
current_frame_time_in_seconds,
- occlusion_tracker,
- render_target(),
- draw_transform());
+ occlusion_in_layer_space);
}
// Tile priorities were modified.
@@ -756,7 +747,7 @@ void PictureLayerImpl::SyncTiling(
// when we stop using the pending tree in the browser compositor. If we want
// to support occlusion tracking here, we need to dirty the draw properties
// or save occlusion as a draw property.
- UpdateTilePriorities(NULL);
+ UpdateTilePriorities(Occlusion());
}
}

Powered by Google App Engine
This is Rietveld 408576698