Index: cc/layers/picture_layer_impl.cc |
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc |
index dbe343d08446b986f33a688e4b3b0c2c5a251508..05c7b520ead96e167ebfbe42afb7bbcb2abed673 100644 |
--- a/cc/layers/picture_layer_impl.cc |
+++ b/cc/layers/picture_layer_impl.cc |
@@ -179,43 +179,27 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
} |
float max_contents_scale = MaximumTilingContentsScale(); |
- gfx::Transform scaled_draw_transform = draw_transform(); |
- scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale, |
- SK_MScalar1 / max_contents_scale); |
- gfx::Size scaled_content_bounds = |
- gfx::ToCeiledSize(gfx::ScaleSize(bounds(), max_contents_scale)); |
- gfx::Rect scaled_visible_content_rect = |
- gfx::ScaleToEnclosingRect(visible_content_rect(), max_contents_scale); |
- scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds)); |
+ PopulateScaledSharedQuadState(shared_quad_state, max_contents_scale); |
Occlusion scaled_occlusion = |
occlusion_in_content_space.GetOcclusionWithGivenDrawTransform( |
- scaled_draw_transform); |
- |
- shared_quad_state->SetAll( |
- scaled_draw_transform, scaled_content_bounds, scaled_visible_content_rect, |
- draw_properties().clip_rect, draw_properties().is_clipped, |
- draw_properties().opacity, draw_properties().blend_mode, |
- sorting_context_id_); |
+ shared_quad_state->content_to_target_transform); |
if (current_draw_mode_ == DRAW_MODE_RESOURCELESS_SOFTWARE) { |
AppendDebugBorderQuad( |
- render_pass, |
- scaled_content_bounds, |
- shared_quad_state, |
- append_quads_data, |
- DebugColors::DirectPictureBorderColor(), |
+ render_pass, shared_quad_state->content_bounds, shared_quad_state, |
+ append_quads_data, DebugColors::DirectPictureBorderColor(), |
DebugColors::DirectPictureBorderWidth(layer_tree_impl())); |
- gfx::Rect geometry_rect = scaled_visible_content_rect; |
+ gfx::Rect geometry_rect = shared_quad_state->visible_content_rect; |
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect(); |
gfx::Rect visible_geometry_rect = |
scaled_occlusion.GetUnoccludedContentRect(geometry_rect); |
if (visible_geometry_rect.IsEmpty()) |
return; |
- gfx::Size texture_size = scaled_visible_content_rect.size(); |
+ gfx::Rect quad_content_rect = shared_quad_state->visible_content_rect; |
+ gfx::Size texture_size = quad_content_rect.size(); |
gfx::RectF texture_rect = gfx::RectF(texture_size); |
- gfx::Rect quad_content_rect = scaled_visible_content_rect; |
PictureDrawQuad* quad = |
render_pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
@@ -226,17 +210,14 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
return; |
} |
- AppendDebugBorderQuad( |
- render_pass, scaled_content_bounds, shared_quad_state, append_quads_data); |
+ AppendDebugBorderQuad(render_pass, shared_quad_state->content_bounds, |
+ shared_quad_state, append_quads_data); |
if (ShowDebugBorders()) { |
for (PictureLayerTilingSet::CoverageIterator iter( |
- tilings_.get(), |
- max_contents_scale, |
- scaled_visible_content_rect, |
- ideal_contents_scale_); |
- iter; |
- ++iter) { |
+ tilings_.get(), max_contents_scale, |
+ shared_quad_state->visible_content_rect, ideal_contents_scale_); |
+ iter; ++iter) { |
SkColor color; |
float width; |
if (*iter && iter->IsReadyToDraw()) { |
@@ -290,12 +271,10 @@ void PictureLayerImpl::AppendQuads(RenderPass* render_pass, |
size_t missing_tile_count = 0u; |
size_t on_demand_missing_tile_count = 0u; |
only_used_low_res_last_append_quads_ = true; |
- for (PictureLayerTilingSet::CoverageIterator iter(tilings_.get(), |
- max_contents_scale, |
- scaled_visible_content_rect, |
- ideal_contents_scale_); |
- iter; |
- ++iter) { |
+ for (PictureLayerTilingSet::CoverageIterator iter( |
+ tilings_.get(), max_contents_scale, |
+ shared_quad_state->visible_content_rect, ideal_contents_scale_); |
+ iter; ++iter) { |
gfx::Rect geometry_rect = iter.geometry_rect(); |
gfx::Rect opaque_rect = contents_opaque() ? geometry_rect : gfx::Rect(); |
gfx::Rect visible_geometry_rect = |