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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 633773004: cc: Pass Occlusion instead of OcclusionTracker to LayerImpls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 861bf074f81d76c1ca79e0b1001e3c223429db82..2aeacac99fce3b6226ce9063b8f8ded4b96faead 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -25,7 +25,7 @@
#include "cc/quads/tile_draw_quad.h"
#include "cc/resources/tile_manager.h"
#include "cc/trees/layer_tree_impl.h"
-#include "cc/trees/occlusion_tracker.h"
+#include "cc/trees/occlusion.h"
#include "ui/gfx/quad_f.h"
#include "ui/gfx/rect_conversions.h"
#include "ui/gfx/size_conversions.h"
@@ -150,10 +150,9 @@ void PictureLayerImpl::PushPropertiesTo(LayerImpl* base_layer) {
needs_push_properties_ = true;
}
-void PictureLayerImpl::AppendQuads(
- RenderPass* render_pass,
- const OcclusionTracker<LayerImpl>& occlusion_tracker,
- AppendQuadsData* append_quads_data) {
+void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
+ const Occlusion& occlusion_in_content_space,
+ AppendQuadsData* append_quads_data) {
DCHECK(!needs_post_commit_initialization_);
SharedQuadState* shared_quad_state =
@@ -165,14 +164,12 @@ void PictureLayerImpl::AppendQuads(
AppendDebugBorderQuad(
render_pass, content_bounds(), shared_quad_state, append_quads_data);
- SolidColorLayerImpl::AppendSolidQuads(
- render_pass,
- occlusion_tracker,
- shared_quad_state,
- content_bounds(),
- draw_properties().target_space_transform,
vmpstr 2014/10/07 06:44:35 Transform here went away.
- pile_->solid_color(),
- append_quads_data);
+ SolidColorLayerImpl::AppendSolidQuads(render_pass,
+ occlusion_in_content_space,
+ shared_quad_state,
+ content_bounds(),
+ pile_->solid_color(),
+ append_quads_data);
return;
}
@@ -186,8 +183,9 @@ void PictureLayerImpl::AppendQuads(
gfx::ScaleToEnclosingRect(visible_content_rect(), max_contents_scale);
scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds));
- Occlusion occlusion =
- occlusion_tracker.GetCurrentOcclusionForLayer(scaled_draw_transform);
+ Occlusion scaled_occlusion =
+ occlusion_in_content_space.GetOcclusionWithGivenDrawTransform(
+ scaled_draw_transform);
shared_quad_state->SetAll(scaled_draw_transform,
scaled_content_bounds,
@@ -210,7 +208,7 @@ void PictureLayerImpl::AppendQuads(
gfx::Rect geometry_rect = scaled_visible_content_rect;
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect();
gfx::Rect visible_geometry_rect =
- occlusion.GetUnoccludedContentRect(geometry_rect);
+ scaled_occlusion.GetUnoccludedContentRect(geometry_rect);
if (visible_geometry_rect.IsEmpty())
return;
@@ -305,7 +303,7 @@ void PictureLayerImpl::AppendQuads(
gfx::Rect geometry_rect = iter.geometry_rect();
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect();
gfx::Rect visible_geometry_rect =
- occlusion.GetUnoccludedContentRect(geometry_rect);
+ scaled_occlusion.GetUnoccludedContentRect(geometry_rect);
if (visible_geometry_rect.IsEmpty())
continue;

Powered by Google App Engine
This is Rietveld 408576698