| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 "content/renderer/gpu/render_widget_compositor.h" | 5 #include "content/renderer/gpu/render_widget_compositor.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 } | 262 } |
| 263 | 263 |
| 264 settings.can_use_lcd_text = compositor_deps_->IsLcdTextEnabled(); | 264 settings.can_use_lcd_text = compositor_deps_->IsLcdTextEnabled(); |
| 265 settings.use_distance_field_text = | 265 settings.use_distance_field_text = |
| 266 compositor_deps_->IsDistanceFieldTextEnabled(); | 266 compositor_deps_->IsDistanceFieldTextEnabled(); |
| 267 settings.use_zero_copy = compositor_deps_->IsZeroCopyEnabled(); | 267 settings.use_zero_copy = compositor_deps_->IsZeroCopyEnabled(); |
| 268 settings.use_one_copy = compositor_deps_->IsOneCopyEnabled(); | 268 settings.use_one_copy = compositor_deps_->IsOneCopyEnabled(); |
| 269 settings.enable_elastic_overscroll = | 269 settings.enable_elastic_overscroll = |
| 270 compositor_deps_->IsElasticOverscrollEnabled(); | 270 compositor_deps_->IsElasticOverscrollEnabled(); |
| 271 settings.use_image_texture_target = compositor_deps_->GetImageTextureTarget(); | 271 settings.use_image_texture_target = compositor_deps_->GetImageTextureTarget(); |
| 272 settings.gather_pixel_refs = compositor_deps_->IsGatherPixelRefsEnabled(); |
| 272 | 273 |
| 273 if (cmd->HasSwitch(cc::switches::kTopControlsShowThreshold)) { | 274 if (cmd->HasSwitch(cc::switches::kTopControlsShowThreshold)) { |
| 274 std::string top_threshold_str = | 275 std::string top_threshold_str = |
| 275 cmd->GetSwitchValueASCII(cc::switches::kTopControlsShowThreshold); | 276 cmd->GetSwitchValueASCII(cc::switches::kTopControlsShowThreshold); |
| 276 double show_threshold; | 277 double show_threshold; |
| 277 if (base::StringToDouble(top_threshold_str, &show_threshold) && | 278 if (base::StringToDouble(top_threshold_str, &show_threshold) && |
| 278 show_threshold >= 0.f && show_threshold <= 1.f) | 279 show_threshold >= 0.f && show_threshold <= 1.f) |
| 279 settings.top_controls_show_threshold = show_threshold; | 280 settings.top_controls_show_threshold = show_threshold; |
| 280 } | 281 } |
| 281 | 282 |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 | 436 |
| 436 scoped_refptr<base::SingleThreadTaskRunner> compositor_thread_task_runner = | 437 scoped_refptr<base::SingleThreadTaskRunner> compositor_thread_task_runner = |
| 437 compositor_deps_->GetCompositorImplThreadTaskRunner(); | 438 compositor_deps_->GetCompositorImplThreadTaskRunner(); |
| 438 scoped_refptr<base::SingleThreadTaskRunner> | 439 scoped_refptr<base::SingleThreadTaskRunner> |
| 439 main_thread_compositor_task_runner = | 440 main_thread_compositor_task_runner = |
| 440 compositor_deps_->GetCompositorMainThreadTaskRunner(); | 441 compositor_deps_->GetCompositorMainThreadTaskRunner(); |
| 441 cc::SharedBitmapManager* shared_bitmap_manager = | 442 cc::SharedBitmapManager* shared_bitmap_manager = |
| 442 compositor_deps_->GetSharedBitmapManager(); | 443 compositor_deps_->GetSharedBitmapManager(); |
| 443 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = | 444 gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = |
| 444 compositor_deps_->GetGpuMemoryBufferManager(); | 445 compositor_deps_->GetGpuMemoryBufferManager(); |
| 446 cc::TaskGraphRunner* task_graph_runner = |
| 447 compositor_deps_->GetTaskGraphRunner(); |
| 445 | 448 |
| 446 scoped_ptr<cc::BeginFrameSource> external_begin_frame_source; | 449 scoped_ptr<cc::BeginFrameSource> external_begin_frame_source; |
| 447 if (settings.use_external_begin_frame_source) { | 450 if (settings.use_external_begin_frame_source) { |
| 448 external_begin_frame_source = | 451 external_begin_frame_source = |
| 449 compositor_deps_->CreateExternalBeginFrameSource(widget_->routing_id()); | 452 compositor_deps_->CreateExternalBeginFrameSource(widget_->routing_id()); |
| 450 } | 453 } |
| 451 | 454 |
| 452 if (compositor_thread_task_runner.get()) { | 455 if (compositor_thread_task_runner.get()) { |
| 453 layer_tree_host_ = cc::LayerTreeHost::CreateThreaded( | 456 layer_tree_host_ = cc::LayerTreeHost::CreateThreaded( |
| 454 this, shared_bitmap_manager, gpu_memory_buffer_manager, settings, | 457 this, shared_bitmap_manager, gpu_memory_buffer_manager, |
| 455 main_thread_compositor_task_runner, compositor_thread_task_runner, | 458 task_graph_runner, settings, main_thread_compositor_task_runner, |
| 456 external_begin_frame_source.Pass()); | 459 compositor_thread_task_runner, external_begin_frame_source.Pass()); |
| 457 } else { | 460 } else { |
| 458 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( | 461 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( |
| 459 this, this, shared_bitmap_manager, gpu_memory_buffer_manager, settings, | 462 this, this, shared_bitmap_manager, gpu_memory_buffer_manager, |
| 460 main_thread_compositor_task_runner, external_begin_frame_source.Pass()); | 463 task_graph_runner, settings, main_thread_compositor_task_runner, |
| 464 external_begin_frame_source.Pass()); |
| 461 } | 465 } |
| 462 DCHECK(layer_tree_host_); | 466 DCHECK(layer_tree_host_); |
| 463 } | 467 } |
| 464 | 468 |
| 465 RenderWidgetCompositor::~RenderWidgetCompositor() {} | 469 RenderWidgetCompositor::~RenderWidgetCompositor() {} |
| 466 | 470 |
| 467 const base::WeakPtr<cc::InputHandler>& | 471 const base::WeakPtr<cc::InputHandler>& |
| 468 RenderWidgetCompositor::GetInputHandler() { | 472 RenderWidgetCompositor::GetInputHandler() { |
| 469 return layer_tree_host_->GetInputHandler(); | 473 return layer_tree_host_->GetInputHandler(); |
| 470 } | 474 } |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 906 cc::ContextProvider* provider = | 910 cc::ContextProvider* provider = |
| 907 compositor_deps_->GetSharedMainThreadContextProvider(); | 911 compositor_deps_->GetSharedMainThreadContextProvider(); |
| 908 // provider can be NULL after the GPU process crashed enough times and we | 912 // provider can be NULL after the GPU process crashed enough times and we |
| 909 // don't want to restart it any more (falling back to software). | 913 // don't want to restart it any more (falling back to software). |
| 910 if (!provider) | 914 if (!provider) |
| 911 return; | 915 return; |
| 912 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 916 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
| 913 } | 917 } |
| 914 | 918 |
| 915 } // namespace content | 919 } // namespace content |
| OLD | NEW |