OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 #ifndef CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ | 5 #ifndef CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ |
6 #define CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ | 6 #define CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 | 53 |
54 // Whether ForceReclaimResources can be called to reclaim all resources | 54 // Whether ForceReclaimResources can be called to reclaim all resources |
55 // from the CompositorFrameSink. | 55 // from the CompositorFrameSink. |
56 bool can_force_reclaim_resources = false; | 56 bool can_force_reclaim_resources = false; |
57 // True if sync points for resources are needed when swapping delegated | 57 // True if sync points for resources are needed when swapping delegated |
58 // frames. | 58 // frames. |
59 bool delegated_sync_points_required = true; | 59 bool delegated_sync_points_required = true; |
60 }; | 60 }; |
61 | 61 |
62 // Constructor for GL-based and/or software compositing. | 62 // Constructor for GL-based and/or software compositing. |
63 explicit CompositorFrameSink( | 63 CompositorFrameSink(scoped_refptr<ContextProvider> context_provider, |
64 scoped_refptr<ContextProvider> context_provider, | 64 scoped_refptr<ContextProvider> worker_context_provider); |
65 scoped_refptr<ContextProvider> worker_context_provider); | |
66 | 65 |
67 // Constructor for Vulkan-based compositing. | 66 // Constructor for Vulkan-based compositing. |
68 explicit CompositorFrameSink( | 67 explicit CompositorFrameSink( |
69 scoped_refptr<VulkanContextProvider> vulkan_context_provider); | 68 scoped_refptr<VulkanContextProvider> vulkan_context_provider); |
70 | 69 |
71 ~CompositorFrameSink() override; | 70 ~CompositorFrameSink() override; |
72 | 71 |
73 // Called by the compositor on the compositor thread. This is a place where | 72 // Called by the compositor on the compositor thread. This is a place where |
74 // thread-specific data for the output surface can be initialized, since from | 73 // thread-specific data for the output surface can be initialized, since from |
75 // this point to when DetachFromClient() is called the output surface will | 74 // this point to when DetachFromClient() is called the output surface will |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 void DetachFromClientInternal(); | 137 void DetachFromClientInternal(); |
139 | 138 |
140 base::WeakPtrFactory<CompositorFrameSink> weak_ptr_factory_; | 139 base::WeakPtrFactory<CompositorFrameSink> weak_ptr_factory_; |
141 | 140 |
142 DISALLOW_COPY_AND_ASSIGN(CompositorFrameSink); | 141 DISALLOW_COPY_AND_ASSIGN(CompositorFrameSink); |
143 }; | 142 }; |
144 | 143 |
145 } // namespace cc | 144 } // namespace cc |
146 | 145 |
147 #endif // CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ | 146 #endif // CC_OUTPUT_COMPOSITOR_FRAME_SINK_H_ |
OLD | NEW |