Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3298)

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 1591513002: cc: Early out of UpdateTiles for resoureceless draw (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comment, test Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/layers/picture_layer_impl.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/layers/picture_layer_impl.cc
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 04ac9ad59a79c3a74c35881d8e1e9a5ed4096ee6..6b39260e6281e190e474e9d642a9ba91fe011f47 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -413,11 +413,6 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass,
}
bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) {
- if (!resourceless_software_draw) {
- visible_rect_for_tile_priority_ = visible_layer_rect();
- screen_space_transform_for_tile_priority_ = ScreenSpaceTransform();
- }
-
if (!CanHaveTilings()) {
ideal_page_scale_ = 0.f;
ideal_device_scale_ = 0.f;
@@ -435,6 +430,9 @@ bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) {
if (layer_tree_impl()->IsActiveTree())
CleanUpTilingsOnActiveLayer(last_append_quads_tilings_);
+ if (resourceless_software_draw)
vmpstr 2016/01/25 23:44:05 It's a bit of an awkward pattern: f(bool foo) {
boliu 2016/01/26 00:01:02 Maybe don't need the split at all, and just skip e
+ return false;
+
UpdateIdealScales();
if (!raster_contents_scale_ || ShouldAdjustRasterScale()) {
@@ -494,17 +492,17 @@ bool PictureLayerImpl::UpdateTiles(bool resourceless_software_draw) {
}
void PictureLayerImpl::UpdateViewportRectForTilePriorityInContentSpace() {
- // If visible_rect_for_tile_priority_ is empty or
- // viewport_rect_for_tile_priority is set to be different from the device
- // viewport, try to inverse project the viewport into layer space and use
- // that. Otherwise just use visible_rect_for_tile_priority_
- gfx::Rect visible_rect_in_content_space = visible_rect_for_tile_priority_;
+ // If visible_layer_rect() is empty or viewport_rect_for_tile_priority is
+ // set to be different from the device viewport, try to inverse project the
+ // viewport into layer space and use that. Otherwise just use
+ // visible_layer_rect().
+ gfx::Rect visible_rect_in_content_space = visible_layer_rect();
gfx::Rect viewport_rect_for_tile_priority =
layer_tree_impl()->ViewportRectForTilePriority();
if (visible_rect_in_content_space.IsEmpty() ||
layer_tree_impl()->DeviceViewport() != viewport_rect_for_tile_priority) {
gfx::Transform view_to_layer(gfx::Transform::kSkipInitialization);
- if (screen_space_transform_for_tile_priority_.GetInverse(&view_to_layer)) {
+ if (ScreenSpaceTransform().GetInverse(&view_to_layer)) {
// Transform from view space to content space.
visible_rect_in_content_space = MathUtil::ProjectEnclosingClippedRect(
view_to_layer, viewport_rect_for_tile_priority);
« no previous file with comments | « cc/layers/picture_layer_impl.h ('k') | cc/layers/picture_layer_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698