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_GPU_GPU_CHILD_THREAD_H_ | 5 #ifndef CONTENT_GPU_GPU_CHILD_THREAD_H_ |
6 #define CONTENT_GPU_GPU_CHILD_THREAD_H_ | 6 #define CONTENT_GPU_GPU_CHILD_THREAD_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <queue> | 10 #include <queue> |
11 #include <string> | 11 #include <string> |
12 | 12 |
13 #include "base/command_line.h" | 13 #include "base/command_line.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/memory/ref_counted.h" | 15 #include "base/memory/ref_counted.h" |
16 #include "base/memory/scoped_ptr.h" | 16 #include "base/memory/scoped_ptr.h" |
17 #include "base/time/time.h" | 17 #include "base/time/time.h" |
18 #include "build/build_config.h" | 18 #include "build/build_config.h" |
19 #include "content/child/child_thread_impl.h" | 19 #include "content/child/child_thread_impl.h" |
20 #include "content/common/gpu/gpu_channel.h" | 20 #include "content/common/gpu/gpu_channel.h" |
21 #include "content/common/gpu/gpu_channel_manager.h" | 21 #include "content/common/gpu/gpu_channel_manager.h" |
22 #include "content/common/gpu/gpu_channel_manager_delegate.h" | 22 #include "content/common/gpu/gpu_channel_manager_delegate.h" |
23 #include "content/common/gpu/gpu_config.h" | 23 #include "content/common/gpu/gpu_config.h" |
24 #include "content/common/gpu/x_util.h" | 24 #include "content/common/gpu/x_util.h" |
25 #include "content/common/process_control.mojom.h" | 25 #include "content/common/process_control.mojom.h" |
26 #include "gpu/command_buffer/service/gpu_preferences.h" | 26 #include "gpu/command_buffer/service/gpu_preferences.h" |
| 27 #include "gpu/config/gpu_driver_bug_workarounds.h" |
27 #include "gpu/config/gpu_info.h" | 28 #include "gpu/config/gpu_info.h" |
28 #include "mojo/public/cpp/bindings/binding_set.h" | 29 #include "mojo/public/cpp/bindings/binding_set.h" |
29 #include "mojo/public/cpp/bindings/interface_request.h" | 30 #include "mojo/public/cpp/bindings/interface_request.h" |
30 #include "ui/gfx/native_widget_types.h" | 31 #include "ui/gfx/native_widget_types.h" |
31 | 32 |
32 namespace gpu { | 33 namespace gpu { |
33 class SyncPointManager; | 34 class SyncPointManager; |
34 } | 35 } |
35 | 36 |
36 namespace sandbox { | 37 namespace sandbox { |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 const gpu::ValueState& state); | 138 const gpu::ValueState& state); |
138 #if defined(OS_ANDROID) | 139 #if defined(OS_ANDROID) |
139 void OnWakeUpGpu(); | 140 void OnWakeUpGpu(); |
140 #endif | 141 #endif |
141 void OnLoseAllContexts(); | 142 void OnLoseAllContexts(); |
142 | 143 |
143 void BindProcessControlRequest( | 144 void BindProcessControlRequest( |
144 mojo::InterfaceRequest<mojom::ProcessControl> request); | 145 mojo::InterfaceRequest<mojom::ProcessControl> request); |
145 | 146 |
146 gpu::GpuPreferences gpu_preferences_; | 147 gpu::GpuPreferences gpu_preferences_; |
| 148 gpu::GpuDriverBugWorkarounds gpu_driver_bug_workarounds_; |
147 | 149 |
148 // Set this flag to true if a fatal error occurred before we receive the | 150 // Set this flag to true if a fatal error occurred before we receive the |
149 // OnInitialize message, in which case we just declare ourselves DOA. | 151 // OnInitialize message, in which case we just declare ourselves DOA. |
150 bool dead_on_arrival_; | 152 bool dead_on_arrival_; |
151 base::Time process_start_time_; | 153 base::Time process_start_time_; |
152 scoped_refptr<GpuWatchdogThread> watchdog_thread_; | 154 scoped_refptr<GpuWatchdogThread> watchdog_thread_; |
153 | 155 |
154 #if defined(OS_WIN) | 156 #if defined(OS_WIN) |
155 // Windows specific client sandbox interface. | 157 // Windows specific client sandbox interface. |
156 sandbox::TargetServices* target_services_; | 158 sandbox::TargetServices* target_services_; |
(...skipping 23 matching lines...) Expand all Loading... |
180 | 182 |
181 // Bindings to the mojom::ProcessControl impl. | 183 // Bindings to the mojom::ProcessControl impl. |
182 mojo::BindingSet<mojom::ProcessControl> process_control_bindings_; | 184 mojo::BindingSet<mojom::ProcessControl> process_control_bindings_; |
183 | 185 |
184 DISALLOW_COPY_AND_ASSIGN(GpuChildThread); | 186 DISALLOW_COPY_AND_ASSIGN(GpuChildThread); |
185 }; | 187 }; |
186 | 188 |
187 } // namespace content | 189 } // namespace content |
188 | 190 |
189 #endif // CONTENT_GPU_GPU_CHILD_THREAD_H_ | 191 #endif // CONTENT_GPU_GPU_CHILD_THREAD_H_ |
OLD | NEW |