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 #ifndef CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ | 5 #ifndef CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ |
6 #define CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ | 6 #define CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ |
7 | 7 |
8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "cc/output/compositor_frame_sink.h" | 10 #include "cc/output/compositor_frame_sink.h" |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 void SetLocalSurfaceId(const LocalSurfaceId& local_surface_id) override; | 80 void SetLocalSurfaceId(const LocalSurfaceId& local_surface_id) override; |
81 void SubmitCompositorFrame(CompositorFrame frame) override; | 81 void SubmitCompositorFrame(CompositorFrame frame) override; |
82 | 82 |
83 // CompositorFrameSinkSupportClient implementation. | 83 // CompositorFrameSinkSupportClient implementation. |
84 void DidReceiveCompositorFrameAck( | 84 void DidReceiveCompositorFrameAck( |
85 const ReturnedResourceArray& resources) override; | 85 const ReturnedResourceArray& resources) override; |
86 void OnBeginFrame(const BeginFrameArgs& args) override; | 86 void OnBeginFrame(const BeginFrameArgs& args) override; |
87 void ReclaimResources(const ReturnedResourceArray& resources) override; | 87 void ReclaimResources(const ReturnedResourceArray& resources) override; |
88 void WillDrawSurface(const LocalSurfaceId& local_surface_id, | 88 void WillDrawSurface(const LocalSurfaceId& local_surface_id, |
89 const gfx::Rect& damage_rect) override; | 89 const gfx::Rect& damage_rect) override; |
| 90 void DidRejectCompositorFrame() override; |
90 | 91 |
91 // DisplayClient implementation. | 92 // DisplayClient implementation. |
92 void DisplayOutputSurfaceLost() override; | 93 void DisplayOutputSurfaceLost() override; |
93 void DisplayWillDrawAndSwap(bool will_draw_and_swap, | 94 void DisplayWillDrawAndSwap(bool will_draw_and_swap, |
94 const RenderPassList& render_passes) override; | 95 const RenderPassList& render_passes) override; |
95 void DisplayDidDrawAndSwap() override; | 96 void DisplayDidDrawAndSwap() override; |
96 | 97 |
97 private: | 98 private: |
98 // ExternalBeginFrameSource implementation. | 99 // ExternalBeginFrameSource implementation. |
99 void OnNeedsBeginFrames(bool needs_begin_frames) override; | 100 void OnNeedsBeginFrames(bool needs_begin_frames) override; |
100 void OnDidFinishFrame(const BeginFrameAck& ack) override; | 101 void OnDidFinishFrame(const BeginFrameAck& ack) override; |
101 | 102 |
102 void SendCompositorFrameAckToClient(); | 103 void SendCompositorFrameAckToClient(); |
103 | 104 |
104 const bool synchronous_composite_; | 105 const bool synchronous_composite_; |
105 const bool disable_display_vsync_; | 106 const bool disable_display_vsync_; |
106 const RendererSettings renderer_settings_; | 107 const RendererSettings renderer_settings_; |
107 | 108 |
108 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 109 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
109 | 110 |
110 FrameSinkId frame_sink_id_; | 111 FrameSinkId frame_sink_id_; |
111 // TODO(danakj): These don't need to be stored in unique_ptrs when | 112 // TODO(danakj): These don't need to be stored in unique_ptrs when |
112 // CompositorFrameSink is owned/destroyed on the compositor thread. | 113 // CompositorFrameSink is owned/destroyed on the compositor thread. |
113 std::unique_ptr<SurfaceManager> surface_manager_; | 114 std::unique_ptr<SurfaceManager> surface_manager_; |
114 std::unique_ptr<LocalSurfaceIdAllocator> local_surface_id_allocator_; | 115 std::unique_ptr<LocalSurfaceIdAllocator> local_surface_id_allocator_; |
115 LocalSurfaceId delegated_local_surface_id_; | 116 LocalSurfaceId local_surface_id_; |
| 117 gfx::Size display_size_; |
| 118 float device_scale_factor_ = 0; |
116 | 119 |
117 // Uses surface_manager_. | 120 // Uses surface_manager_. |
118 std::unique_ptr<CompositorFrameSinkSupport> support_; | 121 std::unique_ptr<CompositorFrameSinkSupport> support_; |
119 | 122 |
120 std::unique_ptr<SyntheticBeginFrameSource> begin_frame_source_; | 123 std::unique_ptr<SyntheticBeginFrameSource> begin_frame_source_; |
121 ExternalBeginFrameSource external_begin_frame_source_; | 124 ExternalBeginFrameSource external_begin_frame_source_; |
122 | 125 |
123 // Uses surface_manager_ and begin_frame_source_. | 126 // Uses surface_manager_ and begin_frame_source_. |
124 std::unique_ptr<Display> display_; | 127 std::unique_ptr<Display> display_; |
125 | 128 |
126 TestCompositorFrameSinkClient* test_client_ = nullptr; | 129 TestCompositorFrameSinkClient* test_client_ = nullptr; |
127 gfx::Size enlarge_pass_texture_amount_; | 130 gfx::Size enlarge_pass_texture_amount_; |
128 | 131 |
129 std::vector<std::unique_ptr<CopyOutputRequest>> copy_requests_; | 132 std::vector<std::unique_ptr<CopyOutputRequest>> copy_requests_; |
130 | 133 |
131 base::WeakPtrFactory<TestCompositorFrameSink> weak_ptr_factory_; | 134 base::WeakPtrFactory<TestCompositorFrameSink> weak_ptr_factory_; |
132 }; | 135 }; |
133 | 136 |
134 } // namespace cc | 137 } // namespace cc |
135 | 138 |
136 #endif // CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ | 139 #endif // CC_TEST_TEST_COMPOSITOR_FRAME_SINK_H_ |
OLD | NEW |