New issue
Advanced search Search tips

Issue 741775 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Feature



Sign in to add a comment

Move DiscardableImageMap to the RasterSource

Project Member Reported by vmp...@chromium.org, Jul 12 2017

Issue description

Currently, the DiscardableImageMap lives on the DisplayItemList. However, it's never used except in raster source. That is, all the callers access it via the raster source (except maybe tests), and it just forwards the calls to DisplayItemList.

We should hoist the DiscardableImageMap to just live on the RasterSource.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/55c66401c350be57026a6c895c52169c4911e785

commit 55c66401c350be57026a6c895c52169c4911e785
Author: Vladimir Levin <vmpstr@chromium.org>
Date: Thu Jul 13 02:21:06 2017

cc: Refactor lcd text flag to live on the layer instead of raster source

This patch changes where we keep the lcd state flag to be on the layer
instead of the raster source. This cleans up a bunch of code that was
there since the days of tile sharing. Since tiles are no longer shared,
we can afford to make the code cleaner and eliminate a bunch of lcd text
references throughout.

This also allows us to remove the pseudo copy constructor from the
raster source, meaning that we can now store truly uncopyable types on
it.

R=enne@chromium.org, khushalsagar@chromium.org

Bug:  741775 
Change-Id: I376e34f547de03cc5914686eaac60825ccbf2aeb
Reviewed-on: https://chromium-review.googlesource.com/568660
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486223}
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/layer_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer_impl_perftest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/recording_source.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/recording_source.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/recording_source_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/render_surface_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/render_surface_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/layers/video_layer_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/output/renderer_pixeltest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/raster/gpu_raster_buffer_provider.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/raster/raster_buffer_provider.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/raster/raster_source.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/raster/raster_source.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_layer_tree_host_impl.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_picture_layer_tiling_client.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_raster_source.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_raster_source.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_recording_source.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/fake_recording_source.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/test/test_layer_tree_host_base.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/picture_layer_tiling_set.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/picture_layer_tiling_set.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/picture_layer_tiling_set_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile_manager.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile_manager.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile_manager_perftest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/layer_tree_impl_unittest.cc
[modify] https://crrev.com/55c66401c350be57026a6c895c52169c4911e785/cc/trees/proxy_impl.cc

Comment 2 by xing...@intel.com, Jul 17 2017

RecordingSource::FinishDisplayItemListUpdate will also call DisplayItemList::GenerateDiscardableImagesMetadata to generate 
 DiscardableImageMap.
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c08d90b4166cc66fa8398a87318eb8955967de15

commit c08d90b4166cc66fa8398a87318eb8955967de15
Author: Vladimir Levin <vmpstr@chromium.org>
Date: Tue Jul 18 19:03:59 2017

cc: Refactor discardable image gathering to reduce plumbing.

This patch consolidates a few discardable image related work into fewer
classes in cc. Specifically, it moves all of the generation code into
discardable image map. It also removes display item list functionality
and just exposes discardable image map from there, since most of those
functions were pass-through.

R=enne@chromium.org, khushalsagar@chromium.org

Bug:  741775 
Change-Id: I483d4544f35356465c09f9084d9a0ec3ae0a9029
Reviewed-on: https://chromium-review.googlesource.com/575347
Commit-Queue: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487546}
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/BUILD.gn
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/discardable_image_map.h
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/discardable_image_map_unittest.cc
[delete] https://crrev.com/39345e3f3f49e7cc025fc58d65dd5a2933dda00a/cc/paint/discardable_image_store.cc
[delete] https://crrev.com/39345e3f3f49e7cc025fc58d65dd5a2933dda00a/cc/paint/discardable_image_store.h
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/display_item_list.cc
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/paint/display_item_list.h
[modify] https://crrev.com/c08d90b4166cc66fa8398a87318eb8955967de15/cc/raster/raster_source.cc

Comment 4 by vmp...@chromium.org, Jul 18 2017

Status: Fixed (was: Assigned)
I think we've decided to keep the discardable map where it is, with the cleanup in #3 it should be pretty clean now. 

Sign in to add a comment