| 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 #include "cc/layers/layer_impl.h" | 46 #include "cc/layers/layer_impl.h" |
| 47 #include "cc/layers/layer_iterator.h" | 47 #include "cc/layers/layer_iterator.h" |
| 48 #include "cc/layers/painted_scrollbar_layer_impl.h" | 48 #include "cc/layers/painted_scrollbar_layer_impl.h" |
| 49 #include "cc/layers/render_surface_impl.h" | 49 #include "cc/layers/render_surface_impl.h" |
| 50 #include "cc/layers/scrollbar_layer_impl_base.h" | 50 #include "cc/layers/scrollbar_layer_impl_base.h" |
| 51 #include "cc/layers/surface_layer_impl.h" | 51 #include "cc/layers/surface_layer_impl.h" |
| 52 #include "cc/layers/viewport.h" | 52 #include "cc/layers/viewport.h" |
| 53 #include "cc/output/compositor_frame_metadata.h" | 53 #include "cc/output/compositor_frame_metadata.h" |
| 54 #include "cc/output/copy_output_request.h" | 54 #include "cc/output/copy_output_request.h" |
| 55 #include "cc/output/delegating_renderer.h" | 55 #include "cc/output/delegating_renderer.h" |
| 56 #include "cc/output/gl_renderer.h" | |
| 57 #include "cc/output/software_renderer.h" | |
| 58 #include "cc/output/texture_mailbox_deleter.h" | 56 #include "cc/output/texture_mailbox_deleter.h" |
| 59 #include "cc/quads/render_pass_draw_quad.h" | 57 #include "cc/quads/render_pass_draw_quad.h" |
| 60 #include "cc/quads/shared_quad_state.h" | 58 #include "cc/quads/shared_quad_state.h" |
| 61 #include "cc/quads/solid_color_draw_quad.h" | 59 #include "cc/quads/solid_color_draw_quad.h" |
| 62 #include "cc/quads/texture_draw_quad.h" | 60 #include "cc/quads/texture_draw_quad.h" |
| 63 #include "cc/raster/bitmap_raster_buffer_provider.h" | 61 #include "cc/raster/bitmap_raster_buffer_provider.h" |
| 64 #include "cc/raster/gpu_raster_buffer_provider.h" | 62 #include "cc/raster/gpu_raster_buffer_provider.h" |
| 65 #include "cc/raster/one_copy_raster_buffer_provider.h" | 63 #include "cc/raster/one_copy_raster_buffer_provider.h" |
| 66 #include "cc/raster/raster_buffer_provider.h" | 64 #include "cc/raster/raster_buffer_provider.h" |
| 67 #include "cc/raster/synchronous_task_graph_runner.h" | 65 #include "cc/raster/synchronous_task_graph_runner.h" |
| (...skipping 2038 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2106 pending_tree_->RecreateResources(); | 2104 pending_tree_->RecreateResources(); |
| 2107 if (recycle_tree_) | 2105 if (recycle_tree_) |
| 2108 recycle_tree_->RecreateResources(); | 2106 recycle_tree_->RecreateResources(); |
| 2109 } | 2107 } |
| 2110 | 2108 |
| 2111 void LayerTreeHostImpl::CreateAndSetRenderer() { | 2109 void LayerTreeHostImpl::CreateAndSetRenderer() { |
| 2112 DCHECK(!renderer_); | 2110 DCHECK(!renderer_); |
| 2113 DCHECK(output_surface_); | 2111 DCHECK(output_surface_); |
| 2114 DCHECK(resource_provider_); | 2112 DCHECK(resource_provider_); |
| 2115 | 2113 |
| 2116 if (output_surface_->capabilities().delegated_rendering) { | 2114 DCHECK(output_surface_->capabilities().delegated_rendering); |
| 2117 renderer_ = | 2115 renderer_ = |
| 2118 DelegatingRenderer::Create(this, &settings_.renderer_settings, | 2116 DelegatingRenderer::Create(this, &settings_.renderer_settings, |
| 2119 output_surface_, resource_provider_.get()); | |
| 2120 } else if (output_surface_->context_provider()) { | |
| 2121 renderer_ = GLRenderer::Create( | |
| 2122 this, &settings_.renderer_settings, output_surface_, | |
| 2123 resource_provider_.get(), texture_mailbox_deleter_.get(), | |
| 2124 settings_.renderer_settings.highp_threshold_min); | |
| 2125 } else if (output_surface_->software_device()) { | |
| 2126 renderer_ = | |
| 2127 SoftwareRenderer::Create(this, &settings_.renderer_settings, | |
| 2128 output_surface_, resource_provider_.get()); | 2117 output_surface_, resource_provider_.get()); |
| 2129 } | |
| 2130 DCHECK(renderer_); | |
| 2131 | |
| 2132 renderer_->SetVisible(visible_); | 2118 renderer_->SetVisible(visible_); |
| 2133 SetFullRootLayerDamage(); | 2119 SetFullRootLayerDamage(); |
| 2134 | 2120 |
| 2135 // See note in LayerTreeImpl::UpdateDrawProperties. Renderer needs to be | 2121 // See note in LayerTreeImpl::UpdateDrawProperties. Renderer needs to be |
| 2136 // initialized to get max texture size. Also, after releasing resources, | 2122 // initialized to get max texture size. Also, after releasing resources, |
| 2137 // trees need another update to generate new ones. | 2123 // trees need another update to generate new ones. |
| 2138 active_tree_->set_needs_update_draw_properties(); | 2124 active_tree_->set_needs_update_draw_properties(); |
| 2139 if (pending_tree_) | 2125 if (pending_tree_) |
| 2140 pending_tree_->set_needs_update_draw_properties(); | 2126 pending_tree_->set_needs_update_draw_properties(); |
| 2141 client_->UpdateRendererCapabilitiesOnImplThread(); | 2127 client_->UpdateRendererCapabilitiesOnImplThread(); |
| (...skipping 1895 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4037 return task_runner_provider_->HasImplThread(); | 4023 return task_runner_provider_->HasImplThread(); |
| 4038 } | 4024 } |
| 4039 | 4025 |
| 4040 bool LayerTreeHostImpl::CommitToActiveTree() const { | 4026 bool LayerTreeHostImpl::CommitToActiveTree() const { |
| 4041 // In single threaded mode we skip the pending tree and commit directly to the | 4027 // In single threaded mode we skip the pending tree and commit directly to the |
| 4042 // active tree. | 4028 // active tree. |
| 4043 return !task_runner_provider_->HasImplThread(); | 4029 return !task_runner_provider_->HasImplThread(); |
| 4044 } | 4030 } |
| 4045 | 4031 |
| 4046 } // namespace cc | 4032 } // namespace cc |
| OLD | NEW |