OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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/texture_layer_impl.h" | 5 #include "cc/layers/texture_layer_impl.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" |
10 #include "cc/output/renderer.h" | 10 #include "cc/output/renderer.h" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 swizzled.resize(bytes); | 119 swizzled.resize(bytes); |
120 for (size_t i = 0; i < bytes; i += 4) { | 120 for (size_t i = 0; i < bytes; i += 4) { |
121 swizzled[i] = pixels[i + 2]; | 121 swizzled[i] = pixels[i + 2]; |
122 swizzled[i + 1] = pixels[i + 1]; | 122 swizzled[i + 1] = pixels[i + 1]; |
123 swizzled[i + 2] = pixels[i]; | 123 swizzled[i + 2] = pixels[i]; |
124 swizzled[i + 3] = pixels[i + 3]; | 124 swizzled[i + 3] = pixels[i + 3]; |
125 } | 125 } |
126 pixels = &swizzled[0]; | 126 pixels = &swizzled[0]; |
127 } | 127 } |
128 | 128 |
129 resource_provider->SetPixels(texture_copy_->id(), pixels, | 129 resource_provider->CopyToResource(texture_copy_->id(), pixels, |
130 gfx::Rect(texture_mailbox_.size_in_pixels()), | 130 texture_mailbox_.size_in_pixels()); |
131 gfx::Rect(texture_mailbox_.size_in_pixels()), | |
132 gfx::Vector2d()); | |
133 | 131 |
134 valid_texture_copy_ = true; | 132 valid_texture_copy_ = true; |
135 } | 133 } |
136 } | 134 } |
137 return (external_texture_resource_ || valid_texture_copy_) && | 135 return (external_texture_resource_ || valid_texture_copy_) && |
138 LayerImpl::WillDraw(draw_mode, resource_provider); | 136 LayerImpl::WillDraw(draw_mode, resource_provider); |
139 } | 137 } |
140 | 138 |
141 void TextureLayerImpl::AppendQuads(RenderPass* render_pass, | 139 void TextureLayerImpl::AppendQuads(RenderPass* render_pass, |
142 AppendQuadsData* append_quads_data) { | 140 AppendQuadsData* append_quads_data) { |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
259 } else if (external_texture_resource_) { | 257 } else if (external_texture_resource_) { |
260 DCHECK(!own_mailbox_); | 258 DCHECK(!own_mailbox_); |
261 ResourceProvider* resource_provider = | 259 ResourceProvider* resource_provider = |
262 layer_tree_impl()->resource_provider(); | 260 layer_tree_impl()->resource_provider(); |
263 resource_provider->DeleteResource(external_texture_resource_); | 261 resource_provider->DeleteResource(external_texture_resource_); |
264 external_texture_resource_ = 0; | 262 external_texture_resource_ = 0; |
265 } | 263 } |
266 } | 264 } |
267 | 265 |
268 } // namespace cc | 266 } // namespace cc |
OLD | NEW |