Commit 83c3d4a8 authored by danakj's avatar danakj Committed by Commit bot

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}
parent ce6a45c3
......@@ -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:
......
......@@ -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(
......
......@@ -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(
......
......@@ -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());
......
......@@ -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);
......
......@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment