| 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 | 8 |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 gfx::RectF texture_rect = gfx::RectF(texture_size); | 129 gfx::RectF texture_rect = gfx::RectF(texture_size); |
| 130 gfx::Rect quad_content_rect = rect; | 130 gfx::Rect quad_content_rect = rect; |
| 131 float contents_scale = contents_scale_x(); | 131 float contents_scale = contents_scale_x(); |
| 132 | 132 |
| 133 scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create(); | 133 scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create(); |
| 134 quad->SetNew(shared_quad_state, | 134 quad->SetNew(shared_quad_state, |
| 135 geometry_rect, | 135 geometry_rect, |
| 136 opaque_rect, | 136 opaque_rect, |
| 137 texture_rect, | 137 texture_rect, |
| 138 texture_size, | 138 texture_size, |
| 139 false, | 139 RGBA_8888, |
| 140 quad_content_rect, | 140 quad_content_rect, |
| 141 contents_scale, | 141 contents_scale, |
| 142 draw_direct_to_backbuffer, | 142 draw_direct_to_backbuffer, |
| 143 pile_); | 143 pile_); |
| 144 if (quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data)) | 144 if (quad_sink->Append(quad.PassAs<DrawQuad>(), append_quads_data)) |
| 145 append_quads_data->num_missing_tiles++; | 145 append_quads_data->num_missing_tiles++; |
| 146 return; | 146 return; |
| 147 } | 147 } |
| 148 | 148 |
| 149 AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data); | 149 AppendDebugBorderQuad(quad_sink, shared_quad_state, append_quads_data); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 iter.texture_size(), | 241 iter.texture_size(), |
| 242 tile_version.contents_swizzled()); | 242 tile_version.contents_swizzled()); |
| 243 draw_quad = quad.PassAs<DrawQuad>(); | 243 draw_quad = quad.PassAs<DrawQuad>(); |
| 244 break; | 244 break; |
| 245 } | 245 } |
| 246 case ManagedTileState::TileVersion::PICTURE_PILE_MODE: { | 246 case ManagedTileState::TileVersion::PICTURE_PILE_MODE: { |
| 247 gfx::RectF texture_rect = iter.texture_rect(); | 247 gfx::RectF texture_rect = iter.texture_rect(); |
| 248 gfx::Rect opaque_rect = iter->opaque_rect(); | 248 gfx::Rect opaque_rect = iter->opaque_rect(); |
| 249 opaque_rect.Intersect(content_rect); | 249 opaque_rect.Intersect(content_rect); |
| 250 | 250 |
| 251 ResourceProvider* resource_provider = |
| 252 layer_tree_impl()->resource_provider(); |
| 253 ResourceFormat format = |
| 254 resource_provider->memory_efficient_texture_format(); |
| 251 scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create(); | 255 scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create(); |
| 252 quad->SetNew(shared_quad_state, | 256 quad->SetNew(shared_quad_state, |
| 253 geometry_rect, | 257 geometry_rect, |
| 254 opaque_rect, | 258 opaque_rect, |
| 255 texture_rect, | 259 texture_rect, |
| 256 iter.texture_size(), | 260 iter.texture_size(), |
| 257 // TODO(reveman): This assumes the renderer will use | 261 format, |
| 258 // GL_RGBA as format of temporary resource. The need | |
| 259 // to swizzle should instead be determined by the | |
| 260 // renderer. | |
| 261 !PlatformColor::SameComponentOrder(GL_RGBA), | |
| 262 iter->content_rect(), | 262 iter->content_rect(), |
| 263 iter->contents_scale(), | 263 iter->contents_scale(), |
| 264 draw_direct_to_backbuffer, | 264 draw_direct_to_backbuffer, |
| 265 pile_); | 265 pile_); |
| 266 draw_quad = quad.PassAs<DrawQuad>(); | 266 draw_quad = quad.PassAs<DrawQuad>(); |
| 267 break; | 267 break; |
| 268 } | 268 } |
| 269 case ManagedTileState::TileVersion::SOLID_COLOR_MODE: { | 269 case ManagedTileState::TileVersion::SOLID_COLOR_MODE: { |
| 270 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); | 270 scoped_ptr<SolidColorDrawQuad> quad = SolidColorDrawQuad::Create(); |
| 271 quad->SetNew(shared_quad_state, | 271 quad->SetNew(shared_quad_state, |
| (...skipping 809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1081 coverage_tiles->Append(tile_data.release()); | 1081 coverage_tiles->Append(tile_data.release()); |
| 1082 } | 1082 } |
| 1083 state->Set("coverage_tiles", coverage_tiles.release()); | 1083 state->Set("coverage_tiles", coverage_tiles.release()); |
| 1084 } | 1084 } |
| 1085 | 1085 |
| 1086 size_t PictureLayerImpl::GPUMemoryUsageInBytes() const { | 1086 size_t PictureLayerImpl::GPUMemoryUsageInBytes() const { |
| 1087 return tilings_->GPUMemoryUsageInBytes(); | 1087 return tilings_->GPUMemoryUsageInBytes(); |
| 1088 } | 1088 } |
| 1089 | 1089 |
| 1090 } // namespace cc | 1090 } // namespace cc |
| OLD | NEW |