OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "content/browser/renderer_host/compositor_impl_android.h" | 5 #include "content/browser/renderer_host/compositor_impl_android.h" |
6 | 6 |
7 #include <android/bitmap.h> | 7 #include <android/bitmap.h> |
8 #include <android/native_window_jni.h> | 8 #include <android/native_window_jni.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 #include <unordered_set> | 10 #include <unordered_set> |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 | 721 |
722 if (context_provider) { | 722 if (context_provider) { |
723 gpu_capabilities_ = context_provider->ContextCapabilities(); | 723 gpu_capabilities_ = context_provider->ContextCapabilities(); |
724 } else { | 724 } else { |
725 // TODO(danakj): Populate gpu_capabilities_ for VulkanContextProvider. | 725 // TODO(danakj): Populate gpu_capabilities_ for VulkanContextProvider. |
726 } | 726 } |
727 | 727 |
728 cc::SurfaceManager* manager = | 728 cc::SurfaceManager* manager = |
729 ui::ContextProviderFactory::GetInstance()->GetSurfaceManager(); | 729 ui::ContextProviderFactory::GetInstance()->GetSurfaceManager(); |
730 auto* task_runner = base::ThreadTaskRunnerHandle::Get().get(); | 730 auto* task_runner = base::ThreadTaskRunnerHandle::Get().get(); |
731 std::unique_ptr<ExternalBeginFrameSource> begin_frame_source( | 731 begin_frame_source_.reset(new ExternalBeginFrameSource(this)); |
732 new ExternalBeginFrameSource(this)); | |
733 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( | 732 std::unique_ptr<cc::DisplayScheduler> scheduler(new cc::DisplayScheduler( |
734 begin_frame_source.get(), task_runner, | 733 task_runner, display_output_surface->capabilities().max_frames_pending)); |
735 display_output_surface->capabilities().max_frames_pending)); | |
736 | 734 |
737 display_.reset(new cc::Display( | 735 display_.reset(new cc::Display( |
738 HostSharedBitmapManager::current(), | 736 HostSharedBitmapManager::current(), |
739 BrowserGpuMemoryBufferManager::current(), | 737 BrowserGpuMemoryBufferManager::current(), |
740 host_->GetSettings().renderer_settings, frame_sink_id_, | 738 host_->GetSettings().renderer_settings, frame_sink_id_, |
741 std::move(begin_frame_source), std::move(display_output_surface), | 739 begin_frame_source_.get(), std::move(display_output_surface), |
742 std::move(scheduler), | 740 std::move(scheduler), |
743 base::MakeUnique<cc::TextureMailboxDeleter>(task_runner))); | 741 base::MakeUnique<cc::TextureMailboxDeleter>(task_runner))); |
744 | 742 |
745 auto compositor_frame_sink = | 743 auto compositor_frame_sink = |
746 vulkan_context_provider | 744 vulkan_context_provider |
747 ? base::MakeUnique<cc::DirectCompositorFrameSink>( | 745 ? base::MakeUnique<cc::DirectCompositorFrameSink>( |
748 frame_sink_id_, manager, display_.get(), | 746 frame_sink_id_, manager, display_.get(), |
749 vulkan_context_provider) | 747 vulkan_context_provider) |
750 : base::MakeUnique<cc::DirectCompositorFrameSink>( | 748 : base::MakeUnique<cc::DirectCompositorFrameSink>( |
751 frame_sink_id_, manager, display_.get(), context_provider, | 749 frame_sink_id_, manager, display_.get(), context_provider, |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
838 | 836 |
839 cc::FrameSinkId CompositorImpl::GetFrameSinkId() { | 837 cc::FrameSinkId CompositorImpl::GetFrameSinkId() { |
840 return frame_sink_id_; | 838 return frame_sink_id_; |
841 } | 839 } |
842 | 840 |
843 bool CompositorImpl::HavePendingReadbacks() { | 841 bool CompositorImpl::HavePendingReadbacks() { |
844 return !readback_layer_tree_->children().empty(); | 842 return !readback_layer_tree_->children().empty(); |
845 } | 843 } |
846 | 844 |
847 } // namespace content | 845 } // namespace content |
OLD | NEW |