OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/layers/picture_layer_impl.h" | 5 #include "cc/layers/picture_layer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
132 | 132 |
133 // We always need to push properties. | 133 // We always need to push properties. |
134 // See http://crbug.com/303943 | 134 // See http://crbug.com/303943 |
135 needs_push_properties_ = true; | 135 needs_push_properties_ = true; |
136 } | 136 } |
137 | 137 |
138 void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, | 138 void PictureLayerImpl::AppendQuads(QuadSink* quad_sink, |
139 AppendQuadsData* append_quads_data) { | 139 AppendQuadsData* append_quads_data) { |
140 DCHECK(!needs_post_commit_initialization_); | 140 DCHECK(!needs_post_commit_initialization_); |
141 | 141 |
142 float max_contents_scale = MaximumTilingContentsScale(); | 142 float max_contents_scale = MaximumTilingContentsScale(); |
sohanjg
2014/06/24 16:18:01
If we avoid scaling to max scale here, the black p
| |
143 gfx::Transform scaled_draw_transform = draw_transform(); | 143 gfx::Transform scaled_draw_transform = draw_transform(); |
144 scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale, | 144 scaled_draw_transform.Scale(SK_MScalar1 / max_contents_scale, |
145 SK_MScalar1 / max_contents_scale); | 145 SK_MScalar1 / max_contents_scale); |
146 | |
146 gfx::Size scaled_content_bounds = | 147 gfx::Size scaled_content_bounds = |
147 gfx::ToCeiledSize(gfx::ScaleSize(content_bounds(), max_contents_scale)); | 148 gfx::ToCeiledSize(gfx::ScaleSize(bounds(), max_contents_scale)); |
sohanjg
2014/06/24 16:18:01
this is keeping same behavior as old code, where w
enne (OOO)
2014/06/24 18:06:11
This does not seem right to me. This makes scaled
sohanjg
2014/06/25 13:26:52
Do you mean the scaled_content_bounds calculation
| |
148 | 149 |
149 gfx::Rect scaled_visible_content_rect = | 150 gfx::Rect scaled_visible_content_rect = |
150 gfx::ScaleToEnclosingRect(visible_content_rect(), max_contents_scale); | 151 gfx::ScaleToEnclosingRect(visible_content_rect(), max_contents_scale); |
151 scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds)); | 152 scaled_visible_content_rect.Intersect(gfx::Rect(scaled_content_bounds)); |
152 | 153 |
153 SharedQuadState* shared_quad_state = quad_sink->CreateSharedQuadState(); | 154 SharedQuadState* shared_quad_state = quad_sink->CreateSharedQuadState(); |
154 shared_quad_state->SetAll(scaled_draw_transform, | 155 draw_properties().target_space_transform = scaled_draw_transform; |
enne (OOO)
2014/06/24 18:06:11
Sorry, but no. Draw properties should only be set
sohanjg
2014/06/25 13:26:52
Yes, this was just to try and fix the black patch
| |
155 scaled_content_bounds, | 156 draw_properties().content_bounds = scaled_content_bounds; |
156 scaled_visible_content_rect, | 157 draw_properties().visible_content_rect = scaled_visible_content_rect; |
157 draw_properties().clip_rect, | 158 PopulateSharedQuadState(shared_quad_state); |
158 draw_properties().is_clipped, | |
159 draw_properties().opacity, | |
160 blend_mode(), | |
161 sorting_context_id_); | |
162 | 159 |
163 gfx::Rect rect = scaled_visible_content_rect; | 160 gfx::Rect rect = scaled_visible_content_rect; |
164 | 161 |
165 if (current_draw_mode_ == DRAW_MODE_RESOURCELESS_SOFTWARE) { | 162 if (current_draw_mode_ == DRAW_MODE_RESOURCELESS_SOFTWARE) { |
166 AppendDebugBorderQuad( | 163 AppendDebugBorderQuad( |
167 quad_sink, | 164 quad_sink, |
168 shared_quad_state, | 165 shared_quad_state, |
169 append_quads_data, | 166 append_quads_data, |
170 DebugColors::DirectPictureBorderColor(), | 167 DebugColors::DirectPictureBorderColor(), |
171 DebugColors::DirectPictureBorderWidth(layer_tree_impl())); | 168 DebugColors::DirectPictureBorderWidth(layer_tree_impl())); |
(...skipping 1441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1613 return iterator_index_ < iterators_.size(); | 1610 return iterator_index_ < iterators_.size(); |
1614 } | 1611 } |
1615 | 1612 |
1616 bool PictureLayerImpl::LayerEvictionTileIterator::IsCorrectType( | 1613 bool PictureLayerImpl::LayerEvictionTileIterator::IsCorrectType( |
1617 PictureLayerTiling::TilingEvictionTileIterator* it) const { | 1614 PictureLayerTiling::TilingEvictionTileIterator* it) const { |
1618 return it->get_type() == iteration_stage_ && | 1615 return it->get_type() == iteration_stage_ && |
1619 (**it)->required_for_activation() == required_for_activation_; | 1616 (**it)->required_for_activation() == required_for_activation_; |
1620 } | 1617 } |
1621 | 1618 |
1622 } // namespace cc | 1619 } // namespace cc |
OLD | NEW |