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_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ | 5 #ifndef CC_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ |
6 #define CC_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ | 6 #define CC_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "base/compiler_specific.h" | 12 #include "base/compiler_specific.h" |
13 #include "base/synchronization/lock.h" | 13 #include "base/synchronization/lock.h" |
14 #include "cc/base/cc_export.h" | 14 #include "cc/base/cc_export.h" |
15 #include "cc/output/context_cache_controller.h" | 15 #include "cc/output/context_cache_controller.h" |
16 #include "cc/output/context_provider.h" | 16 #include "cc/output/context_provider.h" |
17 #include "gpu/command_buffer/common/gles2_cmd_utils.h" | 17 #include "gpu/command_buffer/common/gles2_cmd_utils.h" |
18 #include "gpu/ipc/in_process_command_buffer.h" | 18 #include "gpu/ipc/in_process_command_buffer.h" |
19 #include "ui/gfx/native_widget_types.h" | 19 #include "ui/gfx/native_widget_types.h" |
20 | 20 |
21 class GrContext; | 21 class GrContext; |
22 | 22 |
23 namespace gpu { | 23 namespace gpu { |
24 class GLInProcessContext; | 24 class GLInProcessContext; |
25 class GpuMemoryBufferManager; | 25 class GpuMemoryBufferManager; |
26 class ImageFactory; | 26 class ImageFactory; |
27 struct SharedMemoryLimits; | 27 struct SharedMemoryLimits; |
28 class SyncPointManager; | |
29 namespace gles2 { | |
30 class MailboxManager; | |
31 } | |
32 } | 28 } |
33 | 29 |
34 namespace skia_bindings { | 30 namespace skia_bindings { |
35 class GrContextForGLES2Interface; | 31 class GrContextForGLES2Interface; |
36 } | 32 } |
37 | 33 |
38 namespace cc { | 34 namespace cc { |
39 | 35 |
40 class CC_EXPORT InProcessContextProvider | 36 class CC_EXPORT InProcessContextProvider |
41 : public NON_EXPORTED_BASE(ContextProvider) { | 37 : public NON_EXPORTED_BASE(ContextProvider) { |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 | 74 |
79 base::Lock context_lock_; | 75 base::Lock context_lock_; |
80 std::unique_ptr<gpu::GLInProcessContext> context_; | 76 std::unique_ptr<gpu::GLInProcessContext> context_; |
81 std::unique_ptr<skia_bindings::GrContextForGLES2Interface> gr_context_; | 77 std::unique_ptr<skia_bindings::GrContextForGLES2Interface> gr_context_; |
82 std::unique_ptr<ContextCacheController> cache_controller_; | 78 std::unique_ptr<ContextCacheController> cache_controller_; |
83 }; | 79 }; |
84 | 80 |
85 } // namespace cc | 81 } // namespace cc |
86 | 82 |
87 #endif // CC_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ | 83 #endif // CC_OUTPUT_IN_PROCESS_CONTEXT_PROVIDER_H_ |
OLD | NEW |