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

Unified Diff: cc/layers/picture_layer_impl.cc

Issue 270823003: cc: Move gpu rasterization flag from LayerImpl to LayerTreeImpl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 7 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 bd3b9dc590e413bf998aa6325f95d8fd36386239..131bc2b77e7fde7887e5c772d3cb21e970122e35 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -21,7 +21,6 @@
#include "cc/quads/solid_color_draw_quad.h"
#include "cc/quads/tile_draw_quad.h"
#include "cc/resources/tile_manager.h"
-#include "cc/trees/layer_tree_impl.h"
#include "ui/gfx/quad_f.h"
#include "ui/gfx/rect_conversions.h"
#include "ui/gfx/size_conversions.h"
@@ -63,7 +62,6 @@ PictureLayerImpl::PictureLayerImpl(LayerTreeImpl* tree_impl, int id)
needs_post_commit_initialization_(true),
should_update_tile_priorities_(false),
should_use_low_res_tiling_(tree_impl->settings().create_low_res_tiling),
- use_gpu_rasterization_(false),
layer_needs_to_register_itself_(true) {
}
@@ -105,7 +103,6 @@ void PictureLayerImpl::PushPropertiesTo(LayerImpl* base_layer) {
layer_impl->SetIsMask(is_mask_);
layer_impl->pile_ = pile_;
- layer_impl->use_gpu_rasterization_ = use_gpu_rasterization_;
// Tilings would be expensive to push, so we swap.
layer_impl->tilings_.swap(tilings_);
@@ -523,14 +520,6 @@ skia::RefPtr<SkPicture> PictureLayerImpl::GetPicture() {
return pile_->GetFlattenedPicture();
}
-void PictureLayerImpl::SetUseGpuRasterization(bool use_gpu) {
- if (use_gpu_rasterization_ == use_gpu)
- return;
-
- use_gpu_rasterization_ = use_gpu;
- RemoveAllTilings();
-}
-
scoped_refptr<Tile> PictureLayerImpl::CreateTile(PictureLayerTiling* tiling,
const gfx::Rect& content_rect) {
if (!pile_->CanRaster(tiling->contents_scale(), content_rect))
@@ -539,7 +528,7 @@ scoped_refptr<Tile> PictureLayerImpl::CreateTile(PictureLayerTiling* tiling,
int flags = 0;
if (is_using_lcd_text_)
flags |= Tile::USE_LCD_TEXT;
- if (ShouldUseGpuRasterization())
+ if (use_gpu_rasterization())
flags |= Tile::USE_GPU_RASTERIZATION;
return layer_tree_impl()->tile_manager()->CreateTile(
pile_.get(),
@@ -562,9 +551,8 @@ const Region* PictureLayerImpl::GetInvalidation() {
const PictureLayerTiling* PictureLayerImpl::GetTwinTiling(
const PictureLayerTiling* tiling) const {
-
if (!twin_layer_ ||
- twin_layer_->ShouldUseGpuRasterization() != ShouldUseGpuRasterization())
+ twin_layer_->use_gpu_rasterization() != use_gpu_rasterization())
return NULL;
for (size_t i = 0; i < twin_layer_->tilings_->num_tilings(); ++i)
if (twin_layer_->tilings_->tiling_at(i)->contents_scale() ==
@@ -578,7 +566,7 @@ size_t PictureLayerImpl::GetMaxTilesForInterestArea() const {
}
float PictureLayerImpl::GetSkewportTargetTimeInSeconds() const {
- float skewport_target_time_in_frames = ShouldUseGpuRasterization()
+ float skewport_target_time_in_frames = use_gpu_rasterization()
? kGpuSkewportTargetTimeInFrames
: kCpuSkewportTargetTimeInFrames;
return skewport_target_time_in_frames *
@@ -605,7 +593,7 @@ gfx::Size PictureLayerImpl::CalculateTileSize(
layer_tree_impl()->resource_provider()->max_texture_size();
gfx::Size default_tile_size = layer_tree_impl()->settings().default_tile_size;
- if (ShouldUseGpuRasterization()) {
+ if (use_gpu_rasterization()) {
// TODO(ernstm) crbug.com/365877: We need a unified way to override the
// default-tile-size.
default_tile_size =
@@ -921,7 +909,7 @@ PictureLayerTiling* PictureLayerImpl::AddTiling(float contents_scale) {
DCHECK(pile_->HasRecordings());
if (twin_layer_ &&
- twin_layer_->ShouldUseGpuRasterization() == ShouldUseGpuRasterization())
+ twin_layer_->use_gpu_rasterization() == use_gpu_rasterization())
twin_layer_->SyncTiling(tiling);
return tiling;
@@ -1040,7 +1028,7 @@ bool PictureLayerImpl::ShouldAdjustRasterScale(
if (animating_transform_to_screen &&
raster_contents_scale_ != ideal_contents_scale_ &&
- ShouldUseGpuRasterization())
+ use_gpu_rasterization())
return true;
bool is_pinching = layer_tree_impl()->PinchGestureActive();
@@ -1140,7 +1128,7 @@ void PictureLayerImpl::RecalculateRasterScales(
// If we're not re-rasterizing during animation, rasterize at the maximum
// scale that will occur during the animation, if the maximum scale is
// known.
- if (animating_transform_to_screen && !ShouldUseGpuRasterization()) {
+ if (animating_transform_to_screen && !use_gpu_rasterization()) {
if (maximum_animation_contents_scale > 0.f) {
raster_contents_scale_ =
std::max(raster_contents_scale_, maximum_animation_contents_scale);
@@ -1330,7 +1318,7 @@ void PictureLayerImpl::AsValueInto(base::DictionaryValue* state) const {
}
state->Set("coverage_tiles", coverage_tiles.release());
state->SetBoolean("is_using_lcd_text", is_using_lcd_text_);
- state->SetBoolean("using_gpu_rasterization", ShouldUseGpuRasterization());
+ state->SetBoolean("using_gpu_rasterization", use_gpu_rasterization());
}
size_t PictureLayerImpl::GPUMemoryUsageInBytes() const {
« 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