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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 15995033: cc: Low quality support for low res tiles (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: unittest fix Created 7 years, 6 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 | « no previous file | cc/resources/managed_tile_state.h » ('j') | cc/resources/managed_tile_state.cc » ('J')
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 77d4bca44e465840526451da1a74fbe2a8a46718..20b189f3ae5623cbfc1e06095203e9ba679a89b3 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -163,8 +163,10 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
++iter) {
SkColor color;
float width;
- if (*iter && iter->tile_version().IsReadyToDraw()) {
- ManagedTileState::TileVersion::Mode mode = iter->tile_version().mode();
+ TileRasterMode raster_mode;
+ if (*iter && iter->IsReadyToDraw(&raster_mode)) {
+ ManagedTileState::TileVersion::Mode mode =
+ iter->tile_version(raster_mode).mode();
if (mode == ManagedTileState::TileVersion::SOLID_COLOR_MODE) {
color = DebugColors::SolidColorTileBorderColor();
width = DebugColors::SolidColorTileBorderWidth(layer_tree_impl());
@@ -207,7 +209,7 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
iter;
++iter) {
gfx::Rect geometry_rect = iter.geometry_rect();
- if (!*iter || !iter->tile_version().IsReadyToDraw()) {
+ if (!*iter || !iter->IsReadyToDraw(NULL)) {
if (DrawCheckerboardForMissingTiles()) {
// TODO(enne): Figure out how to show debug "invalidated checker" color
scoped_ptr<CheckerboardDrawQuad> quad = CheckerboardDrawQuad::Create();
@@ -227,7 +229,10 @@ void PictureLayerImpl::AppendQuads(QuadSink* quad_sink,
continue;
}
- const ManagedTileState::TileVersion& tile_version = iter->tile_version();
+ TileRasterMode raster_mode;
+ iter->IsReadyToDraw(&raster_mode);
reveman 2013/06/06 06:02:02 can we consolidate this with the IsReadyToDraw cal
vmpstr 2013/06/06 15:20:22 Done.
+ const ManagedTileState::TileVersion& tile_version =
+ iter->tile_version(raster_mode);
switch (tile_version.mode()) {
case ManagedTileState::TileVersion::RESOURCE_MODE: {
gfx::RectF texture_rect = iter.texture_rect();
@@ -613,15 +618,19 @@ ResourceProvider::ResourceId PictureLayerImpl::ContentsResourceId() const {
iter;
++iter) {
// Mask resource not ready yet.
- if (!*iter ||
- iter->tile_version().mode() !=
- ManagedTileState::TileVersion::RESOURCE_MODE ||
- !iter->tile_version().IsReadyToDraw())
+ TileRasterMode raster_mode;
+ if (!*iter || !iter->IsReadyToDraw(&raster_mode))
return 0;
+
+ if (iter->tile_version(raster_mode).mode() !=
+ ManagedTileState::TileVersion::RESOURCE_MODE)
+ return 0;
+
// Masks only supported if they fit on exactly one tile.
if (iter.geometry_rect() != content_rect)
return 0;
- return iter->tile_version().get_resource_id();
+
+ return iter->tile_version(raster_mode).get_resource_id();
}
return 0;
}
@@ -671,7 +680,7 @@ void PictureLayerImpl::MarkVisibleResourcesAsRequired() const {
rect);
iter;
++iter) {
- if (!*iter || !iter->tile_version().IsReadyToDraw())
+ if (!*iter || !iter->IsReadyToDraw(NULL))
continue;
// This iteration is over the visible content rect which is potentially
« no previous file with comments | « no previous file | cc/resources/managed_tile_state.h » ('j') | cc/resources/managed_tile_state.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698