OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/surfaces/display.h" | 5 #include "cc/surfaces/display.h" |
6 | 6 |
7 #include "base/thread_task_runner_handle.h" | 7 #include "base/thread_task_runner_handle.h" |
8 #include "base/trace_event/trace_event.h" | 8 #include "base/trace_event/trace_event.h" |
9 #include "cc/debug/benchmark_instrumentation.h" | 9 #include "cc/debug/benchmark_instrumentation.h" |
10 #include "cc/output/compositor_frame.h" | 10 #include "cc/output/compositor_frame.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 for (const auto& id_entry : aggregator_->previous_contained_surfaces()) { | 47 for (const auto& id_entry : aggregator_->previous_contained_surfaces()) { |
48 Surface* surface = manager_->GetSurfaceForId(id_entry.first); | 48 Surface* surface = manager_->GetSurfaceForId(id_entry.first); |
49 if (surface) | 49 if (surface) |
50 surface->RunDrawCallbacks(SurfaceDrawStatus::DRAW_SKIPPED); | 50 surface->RunDrawCallbacks(SurfaceDrawStatus::DRAW_SKIPPED); |
51 } | 51 } |
52 } | 52 } |
53 } | 53 } |
54 | 54 |
55 bool Display::Initialize(scoped_ptr<OutputSurface> output_surface, | 55 bool Display::Initialize(scoped_ptr<OutputSurface> output_surface, |
56 DisplayScheduler* scheduler) { | 56 DisplayScheduler* scheduler) { |
57 output_surface_ = output_surface.Pass(); | 57 output_surface_ = std::move(output_surface); |
58 scheduler_ = scheduler; | 58 scheduler_ = scheduler; |
59 return output_surface_->BindToClient(this); | 59 return output_surface_->BindToClient(this); |
60 } | 60 } |
61 | 61 |
62 void Display::SetSurfaceId(SurfaceId id, float device_scale_factor) { | 62 void Display::SetSurfaceId(SurfaceId id, float device_scale_factor) { |
63 if (current_surface_id_ == id && device_scale_factor_ == device_scale_factor) | 63 if (current_surface_id_ == id && device_scale_factor_ == device_scale_factor) |
64 return; | 64 return; |
65 | 65 |
66 TRACE_EVENT0("cc", "Display::SetSurfaceId"); | 66 TRACE_EVENT0("cc", "Display::SetSurfaceId"); |
67 | 67 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 GL_TEXTURE_2D)); | 111 GL_TEXTURE_2D)); |
112 if (!resource_provider) | 112 if (!resource_provider) |
113 return; | 113 return; |
114 | 114 |
115 if (output_surface_->context_provider()) { | 115 if (output_surface_->context_provider()) { |
116 scoped_ptr<GLRenderer> renderer = GLRenderer::Create( | 116 scoped_ptr<GLRenderer> renderer = GLRenderer::Create( |
117 this, &settings_, output_surface_.get(), resource_provider.get(), | 117 this, &settings_, output_surface_.get(), resource_provider.get(), |
118 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); | 118 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); |
119 if (!renderer) | 119 if (!renderer) |
120 return; | 120 return; |
121 renderer_ = renderer.Pass(); | 121 renderer_ = std::move(renderer); |
122 } else { | 122 } else { |
123 scoped_ptr<SoftwareRenderer> renderer = SoftwareRenderer::Create( | 123 scoped_ptr<SoftwareRenderer> renderer = SoftwareRenderer::Create( |
124 this, &settings_, output_surface_.get(), resource_provider.get()); | 124 this, &settings_, output_surface_.get(), resource_provider.get()); |
125 if (!renderer) | 125 if (!renderer) |
126 return; | 126 return; |
127 renderer_ = renderer.Pass(); | 127 renderer_ = std::move(renderer); |
128 } | 128 } |
129 | 129 |
130 resource_provider_ = resource_provider.Pass(); | 130 resource_provider_ = std::move(resource_provider); |
131 // TODO(jbauman): Outputting an incomplete quad list doesn't work when using | 131 // TODO(jbauman): Outputting an incomplete quad list doesn't work when using |
132 // overlays. | 132 // overlays. |
133 bool output_partial_list = renderer_->Capabilities().using_partial_swap && | 133 bool output_partial_list = renderer_->Capabilities().using_partial_swap && |
134 !output_surface_->GetOverlayCandidateValidator(); | 134 !output_surface_->GetOverlayCandidateValidator(); |
135 aggregator_.reset(new SurfaceAggregator( | 135 aggregator_.reset(new SurfaceAggregator( |
136 this, manager_, resource_provider_.get(), output_partial_list)); | 136 this, manager_, resource_provider_.get(), output_partial_list)); |
137 } | 137 } |
138 | 138 |
139 void Display::DidLoseOutputSurface() { | 139 void Display::DidLoseOutputSurface() { |
140 if (scheduler_) | 140 if (scheduler_) |
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 | 353 |
354 if (surface_id == current_surface_id_) | 354 if (surface_id == current_surface_id_) |
355 UpdateRootSurfaceResourcesLocked(); | 355 UpdateRootSurfaceResourcesLocked(); |
356 } | 356 } |
357 | 357 |
358 SurfaceId Display::CurrentSurfaceId() { | 358 SurfaceId Display::CurrentSurfaceId() { |
359 return current_surface_id_; | 359 return current_surface_id_; |
360 } | 360 } |
361 | 361 |
362 } // namespace cc | 362 } // namespace cc |
OLD | NEW |