summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
authordanakj <danakj@chromium.org>2015-02-13 17:42:57 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-14 01:44:01 +0000
commit83c3d4a861627992abf7a42c7c02163f416add23 (patch)
tree6919b81ba1806c1d066da7716f6c38dcb4359dee /cc
parentce6a45c39634ba62952a6995991e63a7a886e38c (diff)
downloadchromium_src-83c3d4a861627992abf7a42c7c02163f416add23.zip
chromium_src-83c3d4a861627992abf7a42c7c02163f416add23.tar.gz
chromium_src-83c3d4a861627992abf7a42c7c02163f416add23.tar.bz2
cc: Stop passing the occlusion explicitly to UpdateTiles.
The occlusion is a draw property, the layer can access it from there like other draw properties. Cleanup CL since moving occlusion to draw properties. R=enne BUG=446751 Review URL: https://codereview.chromium.org/924143005 Cr-Commit-Position: refs/heads/master@{#316355}
Diffstat (limited to 'cc')
-rw-r--r--cc/layers/picture_image_layer_impl_unittest.cc2
-rw-r--r--cc/layers/picture_layer_impl.cc15
-rw-r--r--cc/layers/picture_layer_impl.h4
-rw-r--r--cc/layers/picture_layer_impl_unittest.cc22
-rw-r--r--cc/resources/tile_manager_perftest.cc10
-rw-r--r--cc/trees/layer_tree_impl.cc8
6 files changed, 26 insertions, 35 deletions
diff --git a/cc/layers/picture_image_layer_impl_unittest.cc b/cc/layers/picture_image_layer_impl_unittest.cc
index cf22855..93583b9 100644
--- a/cc/layers/picture_image_layer_impl_unittest.cc
+++ b/cc/layers/picture_image_layer_impl_unittest.cc
@@ -80,7 +80,7 @@ class PictureImageLayerImplTest : public testing::Test {
animating_transform_to_screen;
layer->draw_properties().visible_content_rect = viewport_rect;
bool resourceless_software_draw = false;
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
}
protected:
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 86ce10e..586d84c 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -408,8 +408,7 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
CleanUpTilingsOnActiveLayer(last_append_quads_tilings_);
}
-bool PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_content_space,
- bool resourceless_software_draw) {
+bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) {
DCHECK_EQ(1.f, contents_scale_x());
DCHECK_EQ(1.f, contents_scale_y());
@@ -452,12 +451,6 @@ bool PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_content_space,
if (draw_transform_is_animating())
raster_source_->SetShouldAttemptToUseDistanceFieldText();
- return UpdateTilePriorities(occlusion_in_content_space);
-}
-
-bool PictureLayerImpl::UpdateTilePriorities(
- const Occlusion& occlusion_in_content_space) {
- DCHECK_IMPLIES(raster_source_->IsSolidColor(), tilings_->num_tilings() == 0);
double current_frame_time_in_seconds =
(layer_tree_impl()->CurrentBeginFrameArgs().frame_time -
@@ -480,6 +473,12 @@ bool PictureLayerImpl::UpdateTilePriorities(
!only_used_low_res_last_append_quads_ || RequiresHighResToDraw() ||
!layer_tree_impl()->SmoothnessTakesPriority();
+ static const Occlusion kEmptyOcclusion;
+ const Occlusion& occlusion_in_content_space =
+ layer_tree_impl()->settings().use_occlusion_for_tile_prioritization
+ ? draw_properties().occlusion_in_content_space
+ : kEmptyOcclusion;
+
// Pass |occlusion_in_content_space| for |occlusion_in_layer_space| since
// they are the same space in picture layer, as contents scale is always 1.
bool updated = tilings_->UpdateTilePriorities(
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index dbc3804..e6ddf36 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -79,8 +79,7 @@ class CC_EXPORT PictureLayerImpl
void UpdateRasterSource(scoped_refptr<RasterSource> raster_source,
Region* new_invalidation,
const PictureLayerTilingSet* pending_set);
- bool UpdateTiles(const Occlusion& occlusion_in_content_space,
- bool resourceless_software_draw);
+ bool UpdateTiles(bool resourceless_software_draw);
// Mask-related functions.
void GetContentsResourceId(ResourceProvider::ResourceId* resource_id,
@@ -116,7 +115,6 @@ class CC_EXPORT PictureLayerImpl
PictureLayerTiling* AddTiling(float contents_scale);
void RemoveAllTilings();
void AddTilingsForRasterScale();
- bool UpdateTilePriorities(const Occlusion& occlusion_in_content_space);
virtual bool ShouldAdjustRasterScale() const;
virtual void RecalculateRasterScales();
void CleanUpTilingsOnActiveLayer(
diff --git a/cc/layers/picture_layer_impl_unittest.cc b/cc/layers/picture_layer_impl_unittest.cc
index 7d4fb40..759d771 100644
--- a/cc/layers/picture_layer_impl_unittest.cc
+++ b/cc/layers/picture_layer_impl_unittest.cc
@@ -240,7 +240,7 @@ class PictureLayerImplTest : public testing::Test {
layer->draw_properties().screen_space_transform_is_animating =
animating_transform_to_screen;
bool resourceless_software_draw = false;
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
}
static void VerifyAllTilesExistAndHavePile(
const PictureLayerTiling* tiling,
@@ -516,7 +516,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw);
active_layer_->draw_properties().visible_content_rect = viewport;
active_layer_->draw_properties().screen_space_transform = transform;
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
gfx::Rect visible_rect_for_tile_priority =
active_layer_->visible_rect_for_tile_priority();
@@ -540,7 +540,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport,
transform,
resourceless_software_draw);
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
// Transform for tile priority is updated.
EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
@@ -560,7 +560,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport,
transform,
resourceless_software_draw);
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
active_layer_->screen_space_transform());
@@ -1707,7 +1707,7 @@ TEST_F(NoLowResPictureLayerImplTest, MarkRequiredOffscreenTiles) {
time_ticks += base::TimeDelta::FromMilliseconds(1);
host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
- pending_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ pending_layer_->UpdateTiles(resourceless_software_draw);
int num_visible = 0;
int num_offscreen = 0;
@@ -1773,7 +1773,7 @@ TEST_F(NoLowResPictureLayerImplTest,
time_ticks += base::TimeDelta::FromMilliseconds(200);
host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks));
- pending_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ pending_layer_->UpdateTiles(resourceless_software_draw);
// Intersect the two rects. Any tile outside should not be required for
// activation.
@@ -2928,7 +2928,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) {
pending_layer_->draw_properties().visible_content_rect =
gfx::Rect(1100, 1100, 500, 500);
bool resourceless_software_draw = false;
- pending_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ pending_layer_->UpdateTiles(resourceless_software_draw);
unique_tiles.clear();
high_res_tile_count = 0u;
@@ -2959,7 +2959,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) {
pending_layer_->draw_properties().visible_content_rect =
gfx::Rect(0, 0, 500, 500);
- pending_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ pending_layer_->UpdateTiles(resourceless_software_draw);
std::vector<Tile*> high_res_tiles =
pending_layer_->HighResTiling()->AllTilesForTesting();
@@ -3576,7 +3576,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw);
active_layer_->draw_properties().visible_content_rect = viewport;
active_layer_->draw_properties().screen_space_transform = transform;
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
gfx::Rect visible_rect_for_tile_priority =
active_layer_->visible_rect_for_tile_priority();
@@ -3600,7 +3600,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport,
transform,
resourceless_software_draw);
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
// Transform for tile priority is updated.
EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
@@ -3620,7 +3620,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport,
transform,
resourceless_software_draw);
- active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw);
+ active_layer_->UpdateTiles(resourceless_software_draw);
EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
active_layer_->screen_space_transform());
diff --git a/cc/resources/tile_manager_perftest.cc b/cc/resources/tile_manager_perftest.cc
index bb4ce7c..7c316ac 100644
--- a/cc/resources/tile_manager_perftest.cc
+++ b/cc/resources/tile_manager_perftest.cc
@@ -179,7 +179,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10);
bool resourceless_software_draw = false;
for (const auto& layer : layers)
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
timer_.Reset();
do {
@@ -207,7 +207,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 100);
bool resourceless_software_draw = false;
for (const auto& layer : layers)
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
int priority_count = 0;
timer_.Reset();
@@ -243,7 +243,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10);
bool resourceless_software_draw = false;
for (const auto& layer : layers) {
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
for (size_t i = 0; i < layer->num_tilings(); ++i) {
tile_manager()->InitializeTilesWithResourcesForTesting(
layer->tilings()->tiling_at(i)->AllTilesForTesting());
@@ -278,7 +278,7 @@ class TileManagerPerfTest : public testing::Test {
CreateLayers(layer_count, tile_count);
bool resourceless_software_draw = false;
for (const auto& layer : layers) {
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
for (size_t i = 0; i < layer->num_tilings(); ++i) {
tile_manager()->InitializeTilesWithResourcesForTesting(
layer->tilings()->tiling_at(i)->AllTilesForTesting());
@@ -387,7 +387,7 @@ class TileManagerPerfTest : public testing::Test {
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE);
host_impl_.UpdateCurrentBeginFrameArgs(args);
for (const auto& layer : layers)
- layer->UpdateTiles(Occlusion(), resourceless_software_draw);
+ layer->UpdateTiles(resourceless_software_draw);
GlobalStateThatImpactsTilePriority global_state(GlobalStateForTest());
tile_manager()->PrepareTiles(global_state);
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index 443308b..6a64086 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -654,7 +654,6 @@ bool LayerTreeImpl::UpdateDrawProperties() {
const bool resourceless_software_draw =
(layer_tree_host_impl_->GetDrawMode() ==
DRAW_MODE_RESOURCELESS_SOFTWARE);
- static const Occlusion kEmptyOcclusion;
size_t layers_updated_count = 0;
bool tile_priorities_updated = false;
for (PictureLayerImpl* layer : picture_layers_) {
@@ -662,12 +661,7 @@ bool LayerTreeImpl::UpdateDrawProperties() {
if (!layer->IsDrawnRenderSurfaceLayerListMember())
continue;
++layers_updated_count;
- const Occlusion& occlusion =
- settings().use_occlusion_for_tile_prioritization
- ? layer->draw_properties().occlusion_in_content_space
- : kEmptyOcclusion;
- tile_priorities_updated |=
- layer->UpdateTiles(occlusion, resourceless_software_draw);
+ tile_priorities_updated |= layer->UpdateTiles(resourceless_software_draw);
}
if (tile_priorities_updated)