New issue
Advanced search Search tips

Issue 713872 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Feature



Sign in to add a comment

Allow CC tiles to use larger-than-necessary resources if available

Project Member Reported by ericrk@chromium.org, Apr 20 2017

Issue description

Currently, CC tiles will only re-use an existing tile resource if the
sizes are an exact match. This is inefficient, as slight changes lead
to re-allocations. Additionally, if an animation cycles through a
number of sizes, we will constantly re-allocate.

Instead, we should allow tiles to re-use an over-large resources
rather than re-allocating.
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 4 2017

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

commit 664405a74320db4031a18694358f7d4fef327662
Author: ericrk <ericrk@chromium.org>
Date: Thu May 04 20:58:37 2017

Determine mask UVs based on texture size

Currently, mask SINGLE_TEXTURE_MASK UVs are determined solely by the size
of the masked layer. This means that if the mask texture size does not match the
expected texture size, we will end up squishing the mask when it's applied.

This CL adds a new out param, |resource_uv_size| to GetContentsResourceId. This
param represents the UV coordinate size of the mask contents within its texture.

This factor is used to adjust the existing calculation, allowing for non-exact mask
texture sizes.

R=sunxd@chromium.org, enne@chromium.org
BUG= 713872 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

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

[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/layer_impl.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/layer_impl.h
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/render_surface_impl.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/layers/render_surface_impl_unittest.cc
[add] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/data/mask_of_larger_layer.png
[add] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/data/mask_with_non_exact_texture_size.png
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/fake_mask_layer_impl.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/fake_mask_layer_impl.h
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/fake_picture_layer.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/test/fake_picture_layer.h
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/trees/layer_tree_host_pixeltest_masks.cc
[modify] https://crrev.com/664405a74320db4031a18694358f7d4fef327662/cc/trees/layer_tree_host_unittest.cc

Comment 2 by ericrk@chromium.org, May 18 2017

Status: Fixed (was: Started)

Sign in to add a comment