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

Side by Side Diff: cc/layers/picture_layer_impl.cc

Issue 21159007: cc: Adding support for RGBA_4444 tile textures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed a signed vs. unsigned comparison in video_resource_updater.cc Created 7 years, 3 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 unified diff | Download patch
« no previous file with comments | « cc/layers/nine_patch_layer_unittest.cc ('k') | cc/layers/texture_layer_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cc/layers/nine_patch_layer_unittest.cc ('k') | cc/layers/texture_layer_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698