summaryrefslogtreecommitdiffstats
path: root/cc/layers/tiled_layer_impl.cc
diff options
context:
space:
mode:
authorvmpstr <vmpstr@chromium.org>2014-10-07 13:11:40 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-07 20:12:04 +0000
commit11b77b43a0cc725b4acfc7a1a13441a1ad8e2d97 (patch)
tree76bcfc17694347ac6f42e2c3a349d11299aab4ba /cc/layers/tiled_layer_impl.cc
parent90ff2b543fc92ec34ecf85f4a5864ac0e54f9502 (diff)
downloadchromium_src-11b77b43a0cc725b4acfc7a1a13441a1ad8e2d97.zip
chromium_src-11b77b43a0cc725b4acfc7a1a13441a1ad8e2d97.tar.gz
chromium_src-11b77b43a0cc725b4acfc7a1a13441a1ad8e2d97.tar.bz2
cc: Pass Occlusion instead of OcclusionTracker to LayerImpls
This patch updates LayerImpls to accept Occlusion into AppendQuads instead of OcclusionTracker. This makes it possible for the layer to retain a local copy for whatever reason, and restricts the code from modifying occlusion information in unexpected ways. R=danakj Review URL: https://codereview.chromium.org/633773004 Cr-Commit-Position: refs/heads/master@{#298556}
Diffstat (limited to 'cc/layers/tiled_layer_impl.cc')
-rw-r--r--cc/layers/tiled_layer_impl.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/cc/layers/tiled_layer_impl.cc b/cc/layers/tiled_layer_impl.cc
index 18d9d1e..5a0e81d 100644
--- a/cc/layers/tiled_layer_impl.cc
+++ b/cc/layers/tiled_layer_impl.cc
@@ -16,7 +16,7 @@
#include "cc/quads/solid_color_draw_quad.h"
#include "cc/quads/tile_draw_quad.h"
#include "cc/resources/layer_tiling_data.h"
-#include "cc/trees/occlusion_tracker.h"
+#include "cc/trees/occlusion.h"
#include "third_party/khronos/GLES2/gl2.h"
#include "third_party/skia/include/core/SkColor.h"
#include "ui/gfx/quad_f.h"
@@ -155,10 +155,9 @@ bool TiledLayerImpl::WillDraw(DrawMode draw_mode,
return LayerImpl::WillDraw(draw_mode, resource_provider);
}
-void TiledLayerImpl::AppendQuads(
- RenderPass* render_pass,
- const OcclusionTracker<LayerImpl>& occlusion_tracker,
- AppendQuadsData* append_quads_data) {
+void TiledLayerImpl::AppendQuads(RenderPass* render_pass,
+ const Occlusion& occlusion_in_content_space,
+ AppendQuadsData* append_quads_data) {
DCHECK(tiler_);
DCHECK(!tiler_->has_empty_bounds());
DCHECK(!visible_content_rect().IsEmpty());
@@ -204,8 +203,6 @@ void TiledLayerImpl::AppendQuads(
if (skips_draw_)
return;
- Occlusion occlusion =
- occlusion_tracker.GetCurrentOcclusionForLayer(draw_transform());
for (int j = top; j <= bottom; ++j) {
for (int i = left; i <= right; ++i) {
DrawableTile* tile = TileAt(i, j);
@@ -218,7 +215,7 @@ void TiledLayerImpl::AppendQuads(
continue;
gfx::Rect visible_tile_rect =
- occlusion.GetUnoccludedContentRect(tile_rect);
+ occlusion_in_content_space.GetUnoccludedContentRect(tile_rect);
if (visible_tile_rect.IsEmpty())
continue;