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 SharedGpuContext_h | 5 #ifndef SharedGpuContext_h |
6 #define SharedGpuContext_h | 6 #define SharedGpuContext_h |
7 | 7 |
8 #include "platform/PlatformExport.h" | 8 #include "platform/PlatformExport.h" |
9 #include "platform/wtf/ThreadSpecific.h" | 9 #include "platform/wtf/ThreadSpecific.h" |
10 | 10 |
11 #include <memory> | 11 #include <memory> |
12 | 12 |
13 namespace gpu { | 13 namespace gpu { |
14 namespace gles2 { | 14 namespace gles2 { |
15 class GLES2Interface; | 15 class GLES2Interface; |
16 } | 16 } |
17 } | 17 } // namespace gpu |
18 class GrContext; | 18 class GrContext; |
19 | 19 |
20 namespace blink { | 20 namespace blink { |
21 | 21 |
22 class WaitableEvent; | 22 class WaitableEvent; |
23 class WebGraphicsContext3DProvider; | 23 class WebGraphicsContext3DProvider; |
24 | 24 |
25 // SharedGpuContext provides access to a thread-specific GPU context | 25 // SharedGpuContext provides access to a thread-specific GPU context |
26 // that is shared by many callsites throughout the thread. | 26 // that is shared by many callsites throughout the thread. |
27 // When on the main thread, provides access to the same context as | 27 // When on the main thread, provides access to the same context as |
(...skipping 27 matching lines...) Expand all Loading... |
55 SharedGpuContext(); | 55 SharedGpuContext(); |
56 void CreateContextProviderOnMainThread(WaitableEvent*); | 56 void CreateContextProviderOnMainThread(WaitableEvent*); |
57 void CreateContextProviderIfNeeded(); | 57 void CreateContextProviderIfNeeded(); |
58 | 58 |
59 ContextProviderFactory context_provider_factory_ = nullptr; | 59 ContextProviderFactory context_provider_factory_ = nullptr; |
60 std::unique_ptr<WebGraphicsContext3DProvider> context_provider_; | 60 std::unique_ptr<WebGraphicsContext3DProvider> context_provider_; |
61 unsigned context_id_; | 61 unsigned context_id_; |
62 friend class WTF::ThreadSpecific<SharedGpuContext>; | 62 friend class WTF::ThreadSpecific<SharedGpuContext>; |
63 }; | 63 }; |
64 | 64 |
65 } // blink | 65 } // namespace blink |
66 | 66 |
67 #endif // SharedGpuContext_h | 67 #endif // SharedGpuContext_h |
OLD | NEW |