| 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 <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include "base/memory/ptr_util.h" | 9 #include "base/memory/ptr_util.h" |
| 10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
| 11 #include "base/trace_event/trace_event.h" | 11 #include "base/trace_event/trace_event.h" |
| 12 #include "cc/debug/benchmark_instrumentation.h" | 12 #include "cc/debug/benchmark_instrumentation.h" |
| 13 #include "cc/output/compositor_frame.h" | 13 #include "cc/output/compositor_frame.h" |
| 14 #include "cc/output/compositor_frame_ack.h" | 14 #include "cc/output/compositor_frame_ack.h" |
| 15 #include "cc/output/direct_renderer.h" | 15 #include "cc/output/direct_renderer.h" |
| 16 #include "cc/output/gl_renderer.h" | 16 #include "cc/output/gl_renderer.h" |
| 17 #include "cc/output/renderer_settings.h" | 17 #include "cc/output/renderer_settings.h" |
| 18 #include "cc/output/skia_renderer.h" |
| 18 #include "cc/output/software_renderer.h" | 19 #include "cc/output/software_renderer.h" |
| 19 #include "cc/output/texture_mailbox_deleter.h" | 20 #include "cc/output/texture_mailbox_deleter.h" |
| 20 #include "cc/scheduler/begin_frame_source.h" | 21 #include "cc/scheduler/begin_frame_source.h" |
| 21 #include "cc/surfaces/display_client.h" | 22 #include "cc/surfaces/display_client.h" |
| 22 #include "cc/surfaces/display_scheduler.h" | 23 #include "cc/surfaces/display_scheduler.h" |
| 23 #include "cc/surfaces/surface.h" | 24 #include "cc/surfaces/surface.h" |
| 24 #include "cc/surfaces/surface_aggregator.h" | 25 #include "cc/surfaces/surface_aggregator.h" |
| 25 #include "cc/surfaces/surface_manager.h" | 26 #include "cc/surfaces/surface_manager.h" |
| 26 #include "gpu/command_buffer/client/gles2_interface.h" | 27 #include "gpu/command_buffer/client/gles2_interface.h" |
| 27 #include "ui/gfx/buffer_types.h" | 28 #include "ui/gfx/buffer_types.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 std::unique_ptr<ResourceProvider> resource_provider(new ResourceProvider( | 153 std::unique_ptr<ResourceProvider> resource_provider(new ResourceProvider( |
| 153 output_surface_->context_provider(), bitmap_manager_, | 154 output_surface_->context_provider(), bitmap_manager_, |
| 154 gpu_memory_buffer_manager_, nullptr, settings_.highp_threshold_min, | 155 gpu_memory_buffer_manager_, nullptr, settings_.highp_threshold_min, |
| 155 settings_.texture_id_allocation_chunk_size, | 156 settings_.texture_id_allocation_chunk_size, |
| 156 output_surface_->capabilities().delegated_sync_points_required, | 157 output_surface_->capabilities().delegated_sync_points_required, |
| 157 settings_.use_gpu_memory_buffer_resources, | 158 settings_.use_gpu_memory_buffer_resources, |
| 158 std::vector<unsigned>(static_cast<size_t>(gfx::BufferFormat::LAST) + 1, | 159 std::vector<unsigned>(static_cast<size_t>(gfx::BufferFormat::LAST) + 1, |
| 159 GL_TEXTURE_2D))); | 160 GL_TEXTURE_2D))); |
| 160 | 161 |
| 161 if (output_surface_->context_provider()) { | 162 if (output_surface_->context_provider()) { |
| 163 #if 0 |
| 162 std::unique_ptr<GLRenderer> renderer = GLRenderer::Create( | 164 std::unique_ptr<GLRenderer> renderer = GLRenderer::Create( |
| 163 this, &settings_, output_surface_.get(), resource_provider.get(), | 165 this, &settings_, output_surface_.get(), resource_provider.get(), |
| 164 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); | 166 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); |
| 167 #else |
| 168 std::unique_ptr<SkiaRenderer> renderer = SkiaRenderer::Create( |
| 169 this, &settings_, output_surface_.get(), resource_provider.get(), |
| 170 true /* use_image_hijack_canvas */); |
| 171 #endif |
| 165 if (!renderer) | 172 if (!renderer) |
| 166 return; | 173 return; |
| 167 renderer_ = std::move(renderer); | 174 renderer_ = std::move(renderer); |
| 168 } else if (output_surface_->vulkan_context_provider()) { | 175 } else if (output_surface_->vulkan_context_provider()) { |
| 169 #if defined(ENABLE_VULKAN) | 176 #if defined(ENABLE_VULKAN) |
| 170 std::unique_ptr<VulkanRenderer> renderer = VulkanRenderer::Create( | 177 std::unique_ptr<VulkanRenderer> renderer = VulkanRenderer::Create( |
| 171 this, &settings_, output_surface_.get(), resource_provider.get(), | 178 this, &settings_, output_surface_.get(), resource_provider.get(), |
| 172 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); | 179 texture_mailbox_deleter_.get(), settings_.highp_threshold_min); |
| 173 if (!renderer) | 180 if (!renderer) |
| 174 return; | 181 return; |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 | 417 |
| 411 if (surface_id == current_surface_id_) | 418 if (surface_id == current_surface_id_) |
| 412 UpdateRootSurfaceResourcesLocked(); | 419 UpdateRootSurfaceResourcesLocked(); |
| 413 } | 420 } |
| 414 | 421 |
| 415 SurfaceId Display::CurrentSurfaceId() { | 422 SurfaceId Display::CurrentSurfaceId() { |
| 416 return current_surface_id_; | 423 return current_surface_id_; |
| 417 } | 424 } |
| 418 | 425 |
| 419 } // namespace cc | 426 } // namespace cc |
| OLD | NEW |