diff options
author | vmpstr <vmpstr@chromium.org> | 2014-10-07 13:11:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-07 20:12:04 +0000 |
commit | 11b77b43a0cc725b4acfc7a1a13441a1ad8e2d97 (patch) | |
tree | 76bcfc17694347ac6f42e2c3a349d11299aab4ba /cc/layers/tiled_layer_impl.cc | |
parent | 90ff2b543fc92ec34ecf85f4a5864ac0e54f9502 (diff) | |
download | chromium_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.cc | 13 |
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; |