summaryrefslogtreecommitdiffstats
path: root/cc/picture_layer_tiling.cc
Commit message (Collapse)AuthorAgeFilesLines
* cc: Fix PictureLayerTiling::Iterator crashenne@chromium.org2013-01-181-0/+5
| | | | | | | | | | | | | | | | | | | If you gave PictureLayerTiling a rect that was outside of its tiling data, then it would incorrectly return its last tile as if that was valid. Fixed with an early-out and a unit test. This situation should never have occurred however, as the bounds for the tiling data should be absolutely equal to the layer's bounds. It turned out that during tiling sync, the active layer bounds were being set on the pending layer tiling data instead of rewriting it with the new bounds. R=danakj@chromium.org BUG=170768 Review URL: https://chromiumcodereview.appspot.com/12026006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177714 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Fix tree activation when invisible layers exist.reveman@chromium.org2013-01-161-4/+4
| | | | | | | | | | | | bool() operator for PictureLayerTiling::Iterator should return false for iterator instances with empty dest_rect_. BUG=169980 Review URL: https://chromiumcodereview.appspot.com/11946008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177132 0039d316-1c4b-4281-b951-d872f2087c98
* Move pending tile priorities to active on tree activationbrianderson@chromium.org2013-01-131-0/+9
| | | | | | | | | | | | This prevents our tile priorites from being stale when the pending tree becomes active. BUG=166780 Review URL: https://chromiumcodereview.appspot.com/11856003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176601 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Walk layer tree to determine if pending tree can be activated.reveman@chromium.org2013-01-121-1/+1
| | | | | | | | | | | | | Remove bin counts from tile manager and instead add a AreVisibleResourcesReady() function to LayerTreeImpl that can be used by LTHI to determine if pending tree can be activated. BUG=168119 Review URL: https://chromiumcodereview.appspot.com/11828027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176560 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Generate tilings at other scales for impl-side paintingenne@chromium.org2013-01-091-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds infrastructure to make it easy for PictureLayerImpl to manage its set of tilings via PictureLayerImpl::ManageTiles(). The main functionality change is to additionally generate a low-res set of tiles (by default 1/8 resolution). Along with generating tilings at different scales, tile priorities now have the correct resolution set on them so that they can be prioritized correctly. There's a few small bugfixes added here as well for correctness, such as making sure that tilings are sorted in the PictureLayerTilingSet from highest to lowest. (This is the order in which tiles will be used.) It also correctly calculates a synthetic contents scale / content bounds for the PictureLayerImpl to support multiple active contents scales. R=nduca@chromium.org BUG=167300 Review URL: https://chromiumcodereview.appspot.com/11704002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175927 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Support mask layers in impl-side paintingenne@chromium.org2012-12-211-2/+1
| | | | | | | | | | | | | Mask layers just set always update their tiling to be exactly the size of the mask content bounds, so that there's exactly one tile. R=nduca@chromium.org BUG=165730 Review URL: https://chromiumcodereview.appspot.com/11639050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174443 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add pending tree for impl-side paintingenne@chromium.org2012-12-201-2/+3
| | | | | | | | | | | | Do tree synchronization to pending tree. Inform scheduler when there is a pending tree so that vsync can continue to be scheduled. Right now everything is hooked through redraw, so canDraw is true when there is a pending tree, prepareToDraw is the one that checks for tree swap, and TileManager::DidFinishTileInitialization ends up calling setNeedsRedraw. I'm not sure this is ideal, but it's a start. BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11569040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174089 0039d316-1c4b-4281-b951-d872f2087c98
* implement the logic to set tile priorities based on current matrixqinmin@chromium.org2012-12-041-0/+50
| | | | | | | | | BUG=163060 Review URL: https://chromiumcodereview.appspot.com/11414238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170908 0039d316-1c4b-4281-b951-d872f2087c98
* [cc] Give newly created tiles default prioritynduca@chromium.org2012-11-281-0/+6
| | | | | | | | | BUG=155209 R=enne@chromium.org Review URL: https://codereview.chromium.org/11413209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169837 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add PictureLayerTilingSet to manage PictureLayerTilingenne@chromium.org2012-11-211-62/+155
| | | | | | | | | | | | | | | | | PictureLayerTilingSet has multiple tilings at different content scales. This should abstract managing the tilings from PictureLayerImpl. The layer can then ask the set to fill in a given (integer) rect at a given content scale and then get back the set of tiles/rects/texture coordinates to generate that set. Using an integer rect allows textures at different contents scales to fill a piece of geometry without cracks. R=nduca@chromium.org BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11417111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169083 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Add PictureLayerTiling for impl-side paintingenne@chromium.org2012-11-151-0/+170
This adds an interface for generating/iterating/creating tiles and tilings. PictureLayerImpl now knows a lot less about the internals of the tiling (yay). TBR=nduca@chromium.org BUG=155209 Review URL: https://chromiumcodereview.appspot.com/11377176 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167997 0039d316-1c4b-4281-b951-d872f2087c98