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/video_layer_impl.h" | 5 #include "cc/layers/video_layer_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 software_resources_ = external_resources.software_resources; | 117 software_resources_ = external_resources.software_resources; |
118 software_release_callback_ = | 118 software_release_callback_ = |
119 external_resources.software_release_callback; | 119 external_resources.software_release_callback; |
120 return true; | 120 return true; |
121 } | 121 } |
122 frame_resource_offset_ = external_resources.offset; | 122 frame_resource_offset_ = external_resources.offset; |
123 frame_resource_multiplier_ = external_resources.multiplier; | 123 frame_resource_multiplier_ = external_resources.multiplier; |
124 | 124 |
125 DCHECK_EQ(external_resources.mailboxes.size(), | 125 DCHECK_EQ(external_resources.mailboxes.size(), |
126 external_resources.release_callbacks.size()); | 126 external_resources.release_callbacks.size()); |
| 127 ResourceProvider::ResourceIdArray resource_ids; |
| 128 resource_ids.reserve(external_resources.mailboxes.size()); |
127 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { | 129 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { |
128 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( | 130 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( |
129 external_resources.mailboxes[i], | 131 external_resources.mailboxes[i], |
130 SingleReleaseCallbackImpl::Create( | 132 SingleReleaseCallbackImpl::Create( |
131 external_resources.release_callbacks[i]), | 133 external_resources.release_callbacks[i]), |
132 external_resources.read_lock_fences_enabled); | 134 external_resources.read_lock_fences_enabled); |
133 frame_resources_.push_back(FrameResource( | 135 frame_resources_.push_back(FrameResource( |
134 resource_id, external_resources.mailboxes[i].size_in_pixels(), | 136 resource_id, external_resources.mailboxes[i].size_in_pixels(), |
135 external_resources.mailboxes[i].is_overlay_candidate())); | 137 external_resources.mailboxes[i].is_overlay_candidate())); |
| 138 resource_ids.push_back(resource_id); |
136 } | 139 } |
| 140 resource_provider->GenerateSyncTokenForResources(resource_ids); |
137 | 141 |
138 return true; | 142 return true; |
139 } | 143 } |
140 | 144 |
141 void VideoLayerImpl::AppendQuads(RenderPass* render_pass, | 145 void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
142 AppendQuadsData* append_quads_data) { | 146 AppendQuadsData* append_quads_data) { |
143 DCHECK(frame_.get()); | 147 DCHECK(frame_.get()); |
144 | 148 |
145 gfx::Transform transform = DrawTransform(); | 149 gfx::Transform transform = DrawTransform(); |
146 gfx::Size rotated_size = bounds(); | 150 gfx::Size rotated_size = bounds(); |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 void VideoLayerImpl::SetNeedsRedraw() { | 413 void VideoLayerImpl::SetNeedsRedraw() { |
410 SetUpdateRect(gfx::UnionRects(update_rect(), gfx::Rect(bounds()))); | 414 SetUpdateRect(gfx::UnionRects(update_rect(), gfx::Rect(bounds()))); |
411 layer_tree_impl()->SetNeedsRedraw(); | 415 layer_tree_impl()->SetNeedsRedraw(); |
412 } | 416 } |
413 | 417 |
414 const char* VideoLayerImpl::LayerTypeAsString() const { | 418 const char* VideoLayerImpl::LayerTypeAsString() const { |
415 return "cc::VideoLayerImpl"; | 419 return "cc::VideoLayerImpl"; |
416 } | 420 } |
417 | 421 |
418 } // namespace cc | 422 } // namespace cc |
OLD | NEW |