OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "blimp/client/support/compositor/blimp_embedder_compositor.h" | 5 #include "blimp/client/support/compositor/blimp_embedder_compositor.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
9 #include "base/threading/thread_task_runner_handle.h" | 9 #include "base/threading/thread_task_runner_handle.h" |
10 #include "blimp/client/public/compositor/compositor_dependencies.h" | 10 #include "blimp/client/public/compositor/compositor_dependencies.h" |
11 #include "blimp/client/support/compositor/blimp_context_provider.h" | 11 #include "blimp/client/support/compositor/blimp_context_provider.h" |
12 #include "cc/animation/animation_host.h" | 12 #include "cc/animation/animation_host.h" |
13 #include "cc/layers/layer.h" | 13 #include "cc/layers/layer.h" |
14 #include "cc/output/compositor_frame.h" | |
15 #include "cc/output/output_surface.h" | 14 #include "cc/output/output_surface.h" |
| 15 #include "cc/output/output_surface_frame.h" |
16 #include "cc/output/texture_mailbox_deleter.h" | 16 #include "cc/output/texture_mailbox_deleter.h" |
17 #include "cc/raster/single_thread_task_graph_runner.h" | 17 #include "cc/raster/single_thread_task_graph_runner.h" |
18 #include "cc/surfaces/direct_compositor_frame_sink.h" | 18 #include "cc/surfaces/direct_compositor_frame_sink.h" |
19 #include "cc/surfaces/display.h" | 19 #include "cc/surfaces/display.h" |
20 #include "cc/surfaces/surface_id_allocator.h" | 20 #include "cc/surfaces/surface_id_allocator.h" |
21 #include "cc/surfaces/surface_manager.h" | 21 #include "cc/surfaces/surface_manager.h" |
22 #include "cc/trees/layer_tree_host_in_process.h" | 22 #include "cc/trees/layer_tree_host_in_process.h" |
23 #include "gpu/command_buffer/client/context_support.h" | 23 #include "gpu/command_buffer/client/context_support.h" |
24 #include "gpu/command_buffer/client/gles2_lib.h" | 24 #include "gpu/command_buffer/client/gles2_lib.h" |
25 | 25 |
(...skipping 21 matching lines...) Expand all Loading... |
47 ~DisplayOutputSurface() override = default; | 47 ~DisplayOutputSurface() override = default; |
48 | 48 |
49 // cc::OutputSurface implementation | 49 // cc::OutputSurface implementation |
50 void EnsureBackbuffer() override {} | 50 void EnsureBackbuffer() override {} |
51 void DiscardBackbuffer() override { | 51 void DiscardBackbuffer() override { |
52 context_provider()->ContextGL()->DiscardBackbufferCHROMIUM(); | 52 context_provider()->ContextGL()->DiscardBackbufferCHROMIUM(); |
53 } | 53 } |
54 void BindFramebuffer() override { | 54 void BindFramebuffer() override { |
55 context_provider()->ContextGL()->BindFramebuffer(GL_FRAMEBUFFER, 0); | 55 context_provider()->ContextGL()->BindFramebuffer(GL_FRAMEBUFFER, 0); |
56 } | 56 } |
57 void SwapBuffers(cc::CompositorFrame frame) override { | 57 void SwapBuffers(cc::OutputSurfaceFrame frame) override { |
58 // See cc::OutputSurface::SwapBuffers() comment for details. | 58 // See cc::OutputSurface::SwapBuffers() comment for details. |
59 context_provider_->ContextSupport()->Swap(); | 59 context_provider_->ContextSupport()->Swap(); |
60 cc::OutputSurface::PostSwapBuffersComplete(); | 60 cc::OutputSurface::PostSwapBuffersComplete(); |
61 } | 61 } |
62 cc::OverlayCandidateValidator* GetOverlayCandidateValidator() const override { | 62 cc::OverlayCandidateValidator* GetOverlayCandidateValidator() const override { |
63 return nullptr; | 63 return nullptr; |
64 } | 64 } |
65 bool IsDisplayedAsOverlayPlane() const override { return false; } | 65 bool IsDisplayedAsOverlayPlane() const override { return false; } |
66 unsigned GetOverlayTextureId() const override { return 0; } | 66 unsigned GetOverlayTextureId() const override { return 0; } |
67 bool SurfaceIsSuspendForRecycle() const override { return false; } | 67 bool SurfaceIsSuspendForRecycle() const override { return false; } |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 // The Browser compositor and display share the same context provider. | 201 // The Browser compositor and display share the same context provider. |
202 auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>( | 202 auto compositor_frame_sink = base::MakeUnique<cc::DirectCompositorFrameSink>( |
203 frame_sink_id_, compositor_dependencies_->GetSurfaceManager(), | 203 frame_sink_id_, compositor_dependencies_->GetSurfaceManager(), |
204 display_.get(), context_provider_, nullptr); | 204 display_.get(), context_provider_, nullptr); |
205 | 205 |
206 host_->SetCompositorFrameSink(std::move(compositor_frame_sink)); | 206 host_->SetCompositorFrameSink(std::move(compositor_frame_sink)); |
207 } | 207 } |
208 | 208 |
209 } // namespace client | 209 } // namespace client |
210 } // namespace blimp | 210 } // namespace blimp |
OLD | NEW |