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 #ifndef CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 void SetNeedsAnimate() override; | 120 void SetNeedsAnimate() override; |
121 void SetVisible(bool visible); | 121 void SetVisible(bool visible); |
122 void CreateLayerTreeHost(); | 122 void CreateLayerTreeHost(); |
123 | 123 |
124 void HandlePendingOutputSurfaceRequest(); | 124 void HandlePendingOutputSurfaceRequest(); |
125 | 125 |
126 #if defined(ENABLE_VULKAN) | 126 #if defined(ENABLE_VULKAN) |
127 void CreateVulkanOutputSurface(); | 127 void CreateVulkanOutputSurface(); |
128 #endif | 128 #endif |
129 void CreateCompositorOutputSurface( | 129 void CreateCompositorOutputSurface( |
130 const scoped_refptr<cc::ContextProvider>& context_provider); | 130 const scoped_refptr<cc::ContextProvider>& context_provider, |
| 131 ui::ContextProviderFactory::ContextCreationResult result); |
131 void InitializeDisplay( | 132 void InitializeDisplay( |
132 std::unique_ptr<cc::OutputSurface> display_output_surface, | 133 std::unique_ptr<cc::OutputSurface> display_output_surface, |
133 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, | 134 scoped_refptr<cc::VulkanContextProvider> vulkan_context_provider, |
134 scoped_refptr<cc::ContextProvider> context_provider); | 135 scoped_refptr<cc::ContextProvider> context_provider); |
135 | 136 |
136 bool HavePendingReadbacks(); | 137 bool HavePendingReadbacks(); |
137 | 138 |
138 // root_layer_ is the persistent internal root layer, while subroot_layer_ | 139 // root_layer_ is the persistent internal root layer, while subroot_layer_ |
139 // is the one attached by the compositor client. | 140 // is the one attached by the compositor client. |
140 scoped_refptr<cc::Layer> subroot_layer_; | 141 scoped_refptr<cc::Layer> subroot_layer_; |
(...skipping 20 matching lines...) Expand all Loading... |
161 | 162 |
162 gfx::NativeWindow root_window_; | 163 gfx::NativeWindow root_window_; |
163 | 164 |
164 // Whether we need to update animations on the next composite. | 165 // Whether we need to update animations on the next composite. |
165 bool needs_animate_; | 166 bool needs_animate_; |
166 | 167 |
167 // The number of SwapBuffer calls that have not returned and ACK'd from | 168 // The number of SwapBuffer calls that have not returned and ACK'd from |
168 // the GPU thread. | 169 // the GPU thread. |
169 unsigned int pending_swapbuffers_; | 170 unsigned int pending_swapbuffers_; |
170 | 171 |
| 172 size_t num_successive_gpu_process_initialization_failures_; |
171 size_t num_successive_context_creation_failures_; | 173 size_t num_successive_context_creation_failures_; |
172 | 174 |
173 // Whether there is an OutputSurface request pending from the current | 175 // Whether there is an OutputSurface request pending from the current |
174 // |host_|. Becomes |true| if RequestNewOutputSurface is called, and |false| | 176 // |host_|. Becomes |true| if RequestNewOutputSurface is called, and |false| |
175 // if |host_| is deleted or we succeed in creating *and* initializing an | 177 // if |host_| is deleted or we succeed in creating *and* initializing an |
176 // OutputSurface (which is essentially the contract with cc). | 178 // OutputSurface (which is essentially the contract with cc). |
177 bool output_surface_request_pending_; | 179 bool output_surface_request_pending_; |
178 | 180 |
179 gpu::Capabilities gpu_capabilities_; | 181 gpu::Capabilities gpu_capabilities_; |
180 bool needs_begin_frames_; | 182 bool needs_begin_frames_; |
181 base::WeakPtrFactory<CompositorImpl> weak_factory_; | 183 base::WeakPtrFactory<CompositorImpl> weak_factory_; |
182 | 184 |
183 DISALLOW_COPY_AND_ASSIGN(CompositorImpl); | 185 DISALLOW_COPY_AND_ASSIGN(CompositorImpl); |
184 }; | 186 }; |
185 | 187 |
186 } // namespace content | 188 } // namespace content |
187 | 189 |
188 #endif // CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ | 190 #endif // CONTENT_BROWSER_RENDERER_HOST_COMPOSITOR_IMPL_ANDROID_H_ |
OLD | NEW |