| 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/delegated_renderer_layer.h" | 5 #include "cc/layers/delegated_renderer_layer.h" |
| 6 | 6 |
| 7 #include "cc/layers/delegated_renderer_layer_client.h" | 7 #include "cc/layers/delegated_renderer_layer_client.h" |
| 8 #include "cc/layers/delegated_renderer_layer_impl.h" | 8 #include "cc/layers/delegated_renderer_layer_impl.h" |
| 9 #include "cc/output/delegated_frame_data.h" | 9 #include "cc/output/delegated_frame_data.h" |
| 10 #include "cc/quads/render_pass_draw_quad.h" | 10 #include "cc/quads/render_pass_draw_quad.h" |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 98 void DelegatedRendererLayer::SetFrameData( | 98 void DelegatedRendererLayer::SetFrameData( |
| 99 scoped_ptr<DelegatedFrameData> new_frame_data) { | 99 scoped_ptr<DelegatedFrameData> new_frame_data) { |
| 100 DCHECK(new_frame_data); | 100 DCHECK(new_frame_data); |
| 101 | 101 |
| 102 if (frame_data_) { | 102 if (frame_data_) { |
| 103 // Copy the resources from the last provided frame into the unused resources | 103 // Copy the resources from the last provided frame into the unused resources |
| 104 // list, as the new frame will provide its own resources. | 104 // list, as the new frame will provide its own resources. |
| 105 TransferableResource::ReturnResources( | 105 TransferableResource::ReturnResources( |
| 106 frame_data_->resource_list, | 106 frame_data_->resource_list, |
| 107 &unused_resources_for_child_compositor_); | 107 &unused_resources_for_child_compositor_); |
| 108 if (client_) |
| 109 client_->UnusedResourcesAreAvailable(); |
| 108 } | 110 } |
| 109 frame_data_ = new_frame_data.Pass(); | 111 frame_data_ = new_frame_data.Pass(); |
| 110 if (!frame_data_->render_pass_list.empty()) { | 112 if (!frame_data_->render_pass_list.empty()) { |
| 111 RenderPass* root_pass = frame_data_->render_pass_list.back(); | 113 RenderPass* root_pass = frame_data_->render_pass_list.back(); |
| 112 damage_in_frame_.Union(root_pass->damage_rect); | 114 damage_in_frame_.Union(root_pass->damage_rect); |
| 113 frame_size_ = root_pass->output_rect.size(); | 115 frame_size_ = root_pass->output_rect.size(); |
| 114 } else { | 116 } else { |
| 115 frame_size_ = gfx::Size(); | 117 frame_size_ = gfx::Size(); |
| 116 } | 118 } |
| 117 | 119 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 147 | 149 |
| 148 array->swap(unused_resources_for_child_compositor_); | 150 array->swap(unused_resources_for_child_compositor_); |
| 149 } | 151 } |
| 150 | 152 |
| 151 void DelegatedRendererLayer::ReceiveUnusedResources( | 153 void DelegatedRendererLayer::ReceiveUnusedResources( |
| 152 const ReturnedResourceArray& unused) { | 154 const ReturnedResourceArray& unused) { |
| 153 unused_resources_for_child_compositor_.insert( | 155 unused_resources_for_child_compositor_.insert( |
| 154 unused_resources_for_child_compositor_.end(), | 156 unused_resources_for_child_compositor_.end(), |
| 155 unused.begin(), | 157 unused.begin(), |
| 156 unused.end()); | 158 unused.end()); |
| 159 if (client_) |
| 160 client_->UnusedResourcesAreAvailable(); |
| 157 } | 161 } |
| 158 | 162 |
| 159 // static | 163 // static |
| 160 void DelegatedRendererLayer::ReceiveUnusedResourcesOnImplThread( | 164 void DelegatedRendererLayer::ReceiveUnusedResourcesOnImplThread( |
| 161 scoped_refptr<BlockingTaskRunner> task_runner, | 165 scoped_refptr<BlockingTaskRunner> task_runner, |
| 162 base::WeakPtr<DelegatedRendererLayer> self, | 166 base::WeakPtr<DelegatedRendererLayer> self, |
| 163 const ReturnedResourceArray& unused) { | 167 const ReturnedResourceArray& unused) { |
| 164 task_runner->PostTask( | 168 task_runner->PostTask( |
| 165 FROM_HERE, | 169 FROM_HERE, |
| 166 base::Bind( | 170 base::Bind( |
| 167 &DelegatedRendererLayer::ReceiveUnusedResources, self, unused)); | 171 &DelegatedRendererLayer::ReceiveUnusedResources, self, unused)); |
| 168 } | 172 } |
| 169 | 173 |
| 170 } // namespace cc | 174 } // namespace cc |
| OLD | NEW |