New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 622372 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Oct 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature

Blocking:
issue 597721



Sign in to add a comment

Move sublayer scale to effect tree

Project Member Reported by jaydasika@chromium.org, Jun 22 2016

Issue description

Because sublayer scale is associated with render surfaces.
 
Labels: -Type-Bug Type-Feature
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 1 2016

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

commit 7de66e956615a904bb5d0ada4c61272a9abd33d2
Author: jaydasika <jaydasika@chromium.org>
Date: Fri Jul 01 01:36:48 2016

cc: Add verify transform tree calculations to LayerTreeSettings

And also verify draw transform calculations where the destination is
not the root.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2112973003
Cr-Commit-Position: refs/heads/master@{#403385}

[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/layers/layer_impl_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/test/layer_tree_settings_for_testing.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/test/layer_tree_test.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/draw_property_utils.h
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_host_common.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_host_common.h
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_host_common_perftest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_impl_unittest.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_settings.cc
[modify] https://crrev.com/7de66e956615a904bb5d0ada4c61272a9abd33d2/cc/trees/layer_tree_settings.h

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 8 2016

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

commit 5ab6dc318ba35577b1344437b78d6c1a1fc2fc11
Author: jaydasika <jaydasika@chromium.org>
Date: Fri Jul 08 23:08:23 2016

cc: Use sublayer scale from effect tree (1)

This CL replaces all calls to
ComputeTransformWithDestinationSublayerScale in DrawPropertyUtils with
ComputeTransform and then applies the destination sublayer scale using
the effect tree. To do this, I added a target_effect_id to clip nodes.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2127323002
Cr-Commit-Position: refs/heads/master@{#404526}

[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/proto/property_tree.proto
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/clip_node.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/clip_node.h
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/layer_tree_impl_unittest.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/cc/trees/property_tree_unittest.cc
[modify] https://crrev.com/5ab6dc318ba35577b1344437b78d6c1a1fc2fc11/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Jul 18 2016

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

commit 6be761609189fbf43aedfdf463514d3291952488
Author: jaydasika <jaydasika@chromium.org>
Date: Mon Jul 18 20:11:43 2016

cc: Use sublayer scale from effect tree (2)

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2148383005
Cr-Commit-Position: refs/heads/master@{#406078}

[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/proto/property_tree.proto
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/draw_property_utils.h
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/effect_node.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/effect_node.h
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/property_tree.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/property_tree.h
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/property_tree_unittest.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/transform_node.cc
[modify] https://crrev.com/6be761609189fbf43aedfdf463514d3291952488/cc/trees/transform_node.h

Project Member

Comment 8 by bugdroid1@chromium.org, Jul 22 2016

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

commit 8c62ff0808e13c426c1df30b809c3d406898a226
Author: jaydasika <jaydasika@chromium.org>
Date: Fri Jul 22 22:25:39 2016

cc: Compute transform to target using effect id.

This CL adds ComputeTransformsToTarget method which takes a transform id
and effect id and calls this instead of ComputeTransforms when
destination is target.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2172003002
Cr-Commit-Position: refs/heads/master@{#407282}

[modify] https://crrev.com/8c62ff0808e13c426c1df30b809c3d406898a226/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/8c62ff0808e13c426c1df30b809c3d406898a226/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/8c62ff0808e13c426c1df30b809c3d406898a226/cc/trees/property_tree.cc
[modify] https://crrev.com/8c62ff0808e13c426c1df30b809c3d406898a226/cc/trees/property_tree.h

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 25 2016

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

commit 94332903cf65b0dd8bd41fd63586a411f6df01c1
Author: jaydasika <jaydasika@chromium.org>
Date: Mon Jul 25 19:40:54 2016

cc : Use effect id to decide if surface contents scale should be applied

We don't apply surface contents scale for root. We
currently check the transform id to determine if we are at
root node. This CL replaces that with effect ids.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_blink_rel

Review-Url: https://codereview.chromium.org/2163823003
Cr-Commit-Position: refs/heads/master@{#407547}

[modify] https://crrev.com/94332903cf65b0dd8bd41fd63586a411f6df01c1/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/94332903cf65b0dd8bd41fd63586a411f6df01c1/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/94332903cf65b0dd8bd41fd63586a411f6df01c1/cc/trees/property_tree.cc

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 28 2016

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

commit 4a2bde300742723c46df1f1917636726d46389c7
Author: jaydasika <jaydasika@chromium.org>
Date: Thu Jul 28 17:22:12 2016

cc : Split TransformTree::ComputeTransform

ComputeTransform is too general as we can call it with any transform nodes.
To to able to effectively use the new transforms caching system, we have
to know more information. I added ComputeTransformsToTarget for this
reason. This CL adds ComputeTransformsFromTarget and
ComputeTranslation.

With this CL, TransformTree::ComputeTransforms is only called by tests,
for computing target space transform while updating transform tree,
and from these new functions.

Also changed the return value of TransformTree::CombineTransformBetween
from bool to void as it always returns true.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2180223005
Cr-Commit-Position: refs/heads/master@{#408409}

[modify] https://crrev.com/4a2bde300742723c46df1f1917636726d46389c7/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/4a2bde300742723c46df1f1917636726d46389c7/cc/trees/property_tree.cc
[modify] https://crrev.com/4a2bde300742723c46df1f1917636726d46389c7/cc/trees/property_tree.h
[modify] https://crrev.com/4a2bde300742723c46df1f1917636726d46389c7/cc/trees/property_tree_builder.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Jul 28 2016

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

commit b7a8f7678a999ba33e509e918e8e339956e3d150
Author: jaydasika <jaydasika@chromium.org>
Date: Thu Jul 28 20:22:53 2016

cc : Use screen space transform computing translation

Since flattenning won't effect the result,
TransformTree::ComputeTranslation can use screen space transform instead
of calling ComputeTransforms.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2187403002
Cr-Commit-Position: refs/heads/master@{#408462}

[modify] https://crrev.com/b7a8f7678a999ba33e509e918e8e339956e3d150/cc/trees/property_tree.cc
[modify] https://crrev.com/b7a8f7678a999ba33e509e918e8e339956e3d150/cc/trees/property_tree.h

Project Member

Comment 12 by bugdroid1@chromium.org, Jul 29 2016

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

commit 6ccab66beb7c4899126c92d6e7fe5cf8204c241a
Author: tapted <tapted@chromium.org>
Date: Fri Jul 29 00:43:30 2016

Revert of cc : Use screen space transform for computing translation (patchset #3 id:40001 of https://codereview.chromium.org/2187403002/ )

Reason for revert:
Causes ExtensionCrxInstallerTest.InstallDelayedUntilNextUpdate to fail on linux debug

links:
https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%281%29/builds/56008
https://findit-for-me.appspot.com/waterfall/build-failure?url=https://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20(dbg)(1)(32)/builds/31557

errors like

ExtensionCrxInstallerTest.InstallDelayedUntilNextUpdate (run #1):
[ RUN      ] ExtensionCrxInstallerTest.InstallDelayedUntilNextUpdate
[1:1:0728/152609:FATAL:property_tree.cc(181)] Check failed: transform->IsApproximatelyIdentityOrTranslation(SkDoubleToMScalar(1e-4)).
..
#2 0x7f99d9f73a0d cc::TransformTree::ComputeTranslation()
#3 0x7f99d9f74189 cc::TransformTree::UpdateLocalTransform()
#4 0x7f99d9f73ece cc::TransformTree::UpdateTransforms()
#5 0x7f99d9fa0ce0 cc::(anonymous namespace)::AddTransformNodeIfNeeded<>()
#6 0x7f99d9f9e98d cc::(anonymous namespace)::BuildPropertyTreesInternal<>()

Original issue's description:
> cc : Use screen space transform computing translation
>
> Since flattenning won't effect the result,
> TransformTree::ComputeTranslation can use screen space transform instead
> of calling ComputeTransforms.
>
> BUG= 622372 
> CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
>
> Committed: https://crrev.com/b7a8f7678a999ba33e509e918e8e339956e3d150
> Cr-Commit-Position: refs/heads/master@{#408462}

TBR=weiliangc@chromium.org,ajuma@chromium.org,jaydasika@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG= 622372 

Review-Url: https://codereview.chromium.org/2188413002
Cr-Commit-Position: refs/heads/master@{#408533}

[modify] https://crrev.com/6ccab66beb7c4899126c92d6e7fe5cf8204c241a/cc/trees/property_tree.cc
[modify] https://crrev.com/6ccab66beb7c4899126c92d6e7fe5cf8204c241a/cc/trees/property_tree.h

Project Member

Comment 13 by bugdroid1@chromium.org, Jul 29 2016

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

commit 853306aff63fc6a361ecc46589e1bf3f776214bf
Author: jaydasika <jaydasika@chromium.org>
Date: Fri Jul 29 19:28:34 2016

cc : Use dynamically calculated target space transforms

In ComputeTransformToTarget and ComputeTransformFromTarget. This is
turned on only when verify_transform_tree_calculations is true (only
cc_unittests as of now) and when target is an ancestor (as that's
the only case dynamically calculated target space transforms support
right now)
This CL also sets verify_transform_tree_calculations and
verify_clip_tree_calculations in some tests.

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2191983002
Cr-Commit-Position: refs/heads/master@{#408723}

[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/layers/scrollbar_layer_unittest.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/test/fake_layer_tree_host.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/test/test_layer_tree_host_base.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/853306aff63fc6a361ecc46589e1bf3f776214bf/cc/trees/property_tree.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Aug 10 2016

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

commit af1582f1d022ac11e0239b3bcf448269346d5a3b
Author: jaydasika <jaydasika@chromium.org>
Date: Wed Aug 10 18:39:38 2016

Reland use screen space transform to compute translation

The original patch missed out the case where the destination is
non-flat.

Original patch : https://codereview.chromium.org/2187403002/
BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2222163006
Cr-Commit-Position: refs/heads/master@{#411097}

[modify] https://crrev.com/af1582f1d022ac11e0239b3bcf448269346d5a3b/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/af1582f1d022ac11e0239b3bcf448269346d5a3b/cc/trees/property_tree.cc
[modify] https://crrev.com/af1582f1d022ac11e0239b3bcf448269346d5a3b/cc/trees/property_tree.h

Project Member

Comment 15 by bugdroid1@chromium.org, Aug 15 2016

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

commit 778cb271a6aa17d43966ae76e1f33579a7d600a8
Author: jaydasika <jaydasika@chromium.org>
Date: Mon Aug 15 19:00:54 2016

cc : Cache transforms to target even when target is a descendant

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2245463002
Cr-Commit-Position: refs/heads/master@{#412007}

[modify] https://crrev.com/778cb271a6aa17d43966ae76e1f33579a7d600a8/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/778cb271a6aa17d43966ae76e1f33579a7d600a8/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/778cb271a6aa17d43966ae76e1f33579a7d600a8/cc/trees/property_tree.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Oct 26 2016

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

commit b433552b9bfc3ade27dfe7a4b95496f609ba4c35
Author: jaydasika <jaydasika@chromium.org>
Date: Wed Oct 26 18:49:44 2016

cc: Clean up transform tree

This CL deletes:
1) surface contents scale on transfrom tree
    TransformNode::needs_surface_contents_scale,
    TransformNode::surface_contents_scale,
    TransformTree::UpdateSurfaceContentsScale,
    DrawPropertyUtils::VerifySurfaceContentsScalesMatch
2) Dead code
    DrawPropertyUtils::VerifyTransformTreeCalculations,
    TransformTree::UpdateTargetSpaceTransform,
    TransformCachedNodeData::(from_target, to_target)
3) Redundant stuff in PropertyTrees
    TransfromTree::(ToTarget, FromTarget, SetToTarget, SetFromTarget),
    PropertyTrees::ComputeTransformToTarget,
    TransformTree::ComputeTransform is now used only in tests

BUG= 622372 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2448403002
Cr-Commit-Position: refs/heads/master@{#427763}

[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/proto/property_tree.proto
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/draw_property_utils.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/draw_property_utils.h
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/layer_tree_host_common.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/layer_tree_host_in_process.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/property_tree.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/property_tree.h
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/property_tree_builder.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/property_tree_unittest.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/transform_node.cc
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/cc/trees/transform_node.h
[modify] https://crrev.com/b433552b9bfc3ade27dfe7a4b95496f609ba4c35/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositor.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment