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 { ...@@ -80,7 +80,7 @@ class PictureImageLayerImplTest : public testing::Test {
animating_transform_to_screen; animating_transform_to_screen;
layer->draw_properties().visible_content_rect = viewport_rect; layer->draw_properties().visible_content_rect = viewport_rect;
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
layer->UpdateTiles(Occlusion(), resourceless_software_draw); layer->UpdateTiles(resourceless_software_draw);
} }
protected: protected:
......
...@@ -408,8 +408,7 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, ...@@ -408,8 +408,7 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
CleanUpTilingsOnActiveLayer(last_append_quads_tilings_); CleanUpTilingsOnActiveLayer(last_append_quads_tilings_);
} }
bool PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_content_space, bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) {
bool resourceless_software_draw) {
DCHECK_EQ(1.f, contents_scale_x()); DCHECK_EQ(1.f, contents_scale_x());
DCHECK_EQ(1.f, contents_scale_y()); DCHECK_EQ(1.f, contents_scale_y());
...@@ -452,12 +451,6 @@ bool PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_content_space, ...@@ -452,12 +451,6 @@ bool PictureLayerImpl::UpdateTiles(const Occlusion& occlusion_in_content_space,
if (draw_transform_is_animating()) if (draw_transform_is_animating())
raster_source_->SetShouldAttemptToUseDistanceFieldText(); 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 = double current_frame_time_in_seconds =
(layer_tree_impl()->CurrentBeginFrameArgs().frame_time - (layer_tree_impl()->CurrentBeginFrameArgs().frame_time -
...@@ -480,6 +473,12 @@ bool PictureLayerImpl::UpdateTilePriorities( ...@@ -480,6 +473,12 @@ bool PictureLayerImpl::UpdateTilePriorities(
!only_used_low_res_last_append_quads_ || RequiresHighResToDraw() || !only_used_low_res_last_append_quads_ || RequiresHighResToDraw() ||
!layer_tree_impl()->SmoothnessTakesPriority(); !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 // 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. // they are the same space in picture layer, as contents scale is always 1.
bool updated = tilings_->UpdateTilePriorities( bool updated = tilings_->UpdateTilePriorities(
......
...@@ -79,8 +79,7 @@ class CC_EXPORT PictureLayerImpl ...@@ -79,8 +79,7 @@ class CC_EXPORT PictureLayerImpl
void UpdateRasterSource(scoped_refptr<RasterSource> raster_source, void UpdateRasterSource(scoped_refptr<RasterSource> raster_source,
Region* new_invalidation, Region* new_invalidation,
const PictureLayerTilingSet* pending_set); const PictureLayerTilingSet* pending_set);
bool UpdateTiles(const Occlusion& occlusion_in_content_space, bool UpdateTiles(bool resourceless_software_draw);
bool resourceless_software_draw);
// Mask-related functions. // Mask-related functions.
void GetContentsResourceId(ResourceProvider::ResourceId* resource_id, void GetContentsResourceId(ResourceProvider::ResourceId* resource_id,
...@@ -116,7 +115,6 @@ class CC_EXPORT PictureLayerImpl ...@@ -116,7 +115,6 @@ class CC_EXPORT PictureLayerImpl
PictureLayerTiling* AddTiling(float contents_scale); PictureLayerTiling* AddTiling(float contents_scale);
void RemoveAllTilings(); void RemoveAllTilings();
void AddTilingsForRasterScale(); void AddTilingsForRasterScale();
bool UpdateTilePriorities(const Occlusion& occlusion_in_content_space);
virtual bool ShouldAdjustRasterScale() const; virtual bool ShouldAdjustRasterScale() const;
virtual void RecalculateRasterScales(); virtual void RecalculateRasterScales();
void CleanUpTilingsOnActiveLayer( void CleanUpTilingsOnActiveLayer(
......
...@@ -240,7 +240,7 @@ class PictureLayerImplTest : public testing::Test { ...@@ -240,7 +240,7 @@ class PictureLayerImplTest : public testing::Test {
layer->draw_properties().screen_space_transform_is_animating = layer->draw_properties().screen_space_transform_is_animating =
animating_transform_to_screen; animating_transform_to_screen;
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
layer->UpdateTiles(Occlusion(), resourceless_software_draw); layer->UpdateTiles(resourceless_software_draw);
} }
static void VerifyAllTilesExistAndHavePile( static void VerifyAllTilesExistAndHavePile(
const PictureLayerTiling* tiling, const PictureLayerTiling* tiling,
...@@ -516,7 +516,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -516,7 +516,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw); resourceless_software_draw);
active_layer_->draw_properties().visible_content_rect = viewport; active_layer_->draw_properties().visible_content_rect = viewport;
active_layer_->draw_properties().screen_space_transform = transform; 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 = gfx::Rect visible_rect_for_tile_priority =
active_layer_->visible_rect_for_tile_priority(); active_layer_->visible_rect_for_tile_priority();
...@@ -540,7 +540,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -540,7 +540,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport, viewport,
transform, transform,
resourceless_software_draw); resourceless_software_draw);
active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw); active_layer_->UpdateTiles(resourceless_software_draw);
// Transform for tile priority is updated. // Transform for tile priority is updated.
EXPECT_TRANSFORMATION_MATRIX_EQ(transform, EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
...@@ -560,7 +560,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -560,7 +560,7 @@ TEST_F(PictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport, viewport,
transform, transform,
resourceless_software_draw); resourceless_software_draw);
active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw); active_layer_->UpdateTiles(resourceless_software_draw);
EXPECT_TRANSFORMATION_MATRIX_EQ(transform, EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
active_layer_->screen_space_transform()); active_layer_->screen_space_transform());
...@@ -1707,7 +1707,7 @@ TEST_F(NoLowResPictureLayerImplTest, MarkRequiredOffscreenTiles) { ...@@ -1707,7 +1707,7 @@ TEST_F(NoLowResPictureLayerImplTest, MarkRequiredOffscreenTiles) {
time_ticks += base::TimeDelta::FromMilliseconds(1); time_ticks += base::TimeDelta::FromMilliseconds(1);
host_impl_.SetCurrentBeginFrameArgs( host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); 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_visible = 0;
int num_offscreen = 0; int num_offscreen = 0;
...@@ -1773,7 +1773,7 @@ TEST_F(NoLowResPictureLayerImplTest, ...@@ -1773,7 +1773,7 @@ TEST_F(NoLowResPictureLayerImplTest,
time_ticks += base::TimeDelta::FromMilliseconds(200); time_ticks += base::TimeDelta::FromMilliseconds(200);
host_impl_.SetCurrentBeginFrameArgs( host_impl_.SetCurrentBeginFrameArgs(
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, time_ticks)); 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 // Intersect the two rects. Any tile outside should not be required for
// activation. // activation.
...@@ -2928,7 +2928,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) { ...@@ -2928,7 +2928,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) {
pending_layer_->draw_properties().visible_content_rect = pending_layer_->draw_properties().visible_content_rect =
gfx::Rect(1100, 1100, 500, 500); gfx::Rect(1100, 1100, 500, 500);
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
pending_layer_->UpdateTiles(Occlusion(), resourceless_software_draw); pending_layer_->UpdateTiles(resourceless_software_draw);
unique_tiles.clear(); unique_tiles.clear();
high_res_tile_count = 0u; high_res_tile_count = 0u;
...@@ -2959,7 +2959,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) { ...@@ -2959,7 +2959,7 @@ TEST_F(PictureLayerImplTest, TilingSetRasterQueue) {
pending_layer_->draw_properties().visible_content_rect = pending_layer_->draw_properties().visible_content_rect =
gfx::Rect(0, 0, 500, 500); 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 = std::vector<Tile*> high_res_tiles =
pending_layer_->HighResTiling()->AllTilesForTesting(); pending_layer_->HighResTiling()->AllTilesForTesting();
...@@ -3576,7 +3576,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -3576,7 +3576,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
resourceless_software_draw); resourceless_software_draw);
active_layer_->draw_properties().visible_content_rect = viewport; active_layer_->draw_properties().visible_content_rect = viewport;
active_layer_->draw_properties().screen_space_transform = transform; 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 = gfx::Rect visible_rect_for_tile_priority =
active_layer_->visible_rect_for_tile_priority(); active_layer_->visible_rect_for_tile_priority();
...@@ -3600,7 +3600,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -3600,7 +3600,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport, viewport,
transform, transform,
resourceless_software_draw); resourceless_software_draw);
active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw); active_layer_->UpdateTiles(resourceless_software_draw);
// Transform for tile priority is updated. // Transform for tile priority is updated.
EXPECT_TRANSFORMATION_MATRIX_EQ(transform, EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
...@@ -3620,7 +3620,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) { ...@@ -3620,7 +3620,7 @@ TEST_F(NoLowResPictureLayerImplTest, InvalidViewportForPrioritizingTiles) {
viewport, viewport,
transform, transform,
resourceless_software_draw); resourceless_software_draw);
active_layer_->UpdateTiles(Occlusion(), resourceless_software_draw); active_layer_->UpdateTiles(resourceless_software_draw);
EXPECT_TRANSFORMATION_MATRIX_EQ(transform, EXPECT_TRANSFORMATION_MATRIX_EQ(transform,
active_layer_->screen_space_transform()); active_layer_->screen_space_transform());
......
...@@ -179,7 +179,7 @@ class TileManagerPerfTest : public testing::Test { ...@@ -179,7 +179,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10); std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10);
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
for (const auto& layer : layers) for (const auto& layer : layers)
layer->UpdateTiles(Occlusion(), resourceless_software_draw); layer->UpdateTiles(resourceless_software_draw);
timer_.Reset(); timer_.Reset();
do { do {
...@@ -207,7 +207,7 @@ class TileManagerPerfTest : public testing::Test { ...@@ -207,7 +207,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 100); std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 100);
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
for (const auto& layer : layers) for (const auto& layer : layers)
layer->UpdateTiles(Occlusion(), resourceless_software_draw); layer->UpdateTiles(resourceless_software_draw);
int priority_count = 0; int priority_count = 0;
timer_.Reset(); timer_.Reset();
...@@ -243,7 +243,7 @@ class TileManagerPerfTest : public testing::Test { ...@@ -243,7 +243,7 @@ class TileManagerPerfTest : public testing::Test {
std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10); std::vector<FakePictureLayerImpl*> layers = CreateLayers(layer_count, 10);
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
for (const auto& layer : layers) { 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) { for (size_t i = 0; i < layer->num_tilings(); ++i) {
tile_manager()->InitializeTilesWithResourcesForTesting( tile_manager()->InitializeTilesWithResourcesForTesting(
layer->tilings()->tiling_at(i)->AllTilesForTesting()); layer->tilings()->tiling_at(i)->AllTilesForTesting());
...@@ -278,7 +278,7 @@ class TileManagerPerfTest : public testing::Test { ...@@ -278,7 +278,7 @@ class TileManagerPerfTest : public testing::Test {
CreateLayers(layer_count, tile_count); CreateLayers(layer_count, tile_count);
bool resourceless_software_draw = false; bool resourceless_software_draw = false;
for (const auto& layer : layers) { 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) { for (size_t i = 0; i < layer->num_tilings(); ++i) {
tile_manager()->InitializeTilesWithResourcesForTesting( tile_manager()->InitializeTilesWithResourcesForTesting(
layer->tilings()->tiling_at(i)->AllTilesForTesting()); layer->tilings()->tiling_at(i)->AllTilesForTesting());
...@@ -387,7 +387,7 @@ class TileManagerPerfTest : public testing::Test { ...@@ -387,7 +387,7 @@ class TileManagerPerfTest : public testing::Test {
CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE); CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE);
host_impl_.UpdateCurrentBeginFrameArgs(args); host_impl_.UpdateCurrentBeginFrameArgs(args);
for (const auto& layer : layers) for (const auto& layer : layers)
layer->UpdateTiles(Occlusion(), resourceless_software_draw); layer->UpdateTiles(resourceless_software_draw);
GlobalStateThatImpactsTilePriority global_state(GlobalStateForTest()); GlobalStateThatImpactsTilePriority global_state(GlobalStateForTest());
tile_manager()->PrepareTiles(global_state); tile_manager()->PrepareTiles(global_state);
......
...@@ -654,7 +654,6 @@ bool LayerTreeImpl::UpdateDrawProperties() { ...@@ -654,7 +654,6 @@ bool LayerTreeImpl::UpdateDrawProperties() {
const bool resourceless_software_draw = const bool resourceless_software_draw =
(layer_tree_host_impl_->GetDrawMode() == (layer_tree_host_impl_->GetDrawMode() ==
DRAW_MODE_RESOURCELESS_SOFTWARE); DRAW_MODE_RESOURCELESS_SOFTWARE);
static const Occlusion kEmptyOcclusion;
size_t layers_updated_count = 0; size_t layers_updated_count = 0;
bool tile_priorities_updated = false; bool tile_priorities_updated = false;
for (PictureLayerImpl* layer : picture_layers_) { for (PictureLayerImpl* layer : picture_layers_) {
...@@ -662,12 +661,7 @@ bool LayerTreeImpl::UpdateDrawProperties() { ...@@ -662,12 +661,7 @@ bool LayerTreeImpl::UpdateDrawProperties() {
if (!layer->IsDrawnRenderSurfaceLayerListMember()) if (!layer->IsDrawnRenderSurfaceLayerListMember())
continue; continue;
++layers_updated_count; ++layers_updated_count;
const Occlusion& occlusion = tile_priorities_updated |= layer->UpdateTiles(resourceless_software_draw);
settings().use_occlusion_for_tile_prioritization
? layer->draw_properties().occlusion_in_content_space
: kEmptyOcclusion;
tile_priorities_updated |=
layer->UpdateTiles(occlusion, resourceless_software_draw);
} }
if (tile_priorities_updated) 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