OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ | 5 #ifndef GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ |
6 #define GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ | 6 #define GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 class GLShareGroup; | 45 class GLShareGroup; |
46 class GLSurface; | 46 class GLSurface; |
47 } | 47 } |
48 | 48 |
49 namespace gfx { | 49 namespace gfx { |
50 class Size; | 50 class Size; |
51 } | 51 } |
52 | 52 |
53 namespace gpu { | 53 namespace gpu { |
54 | 54 |
| 55 class ServiceDiscardableManager; |
55 class SyncPointClientState; | 56 class SyncPointClientState; |
56 class SyncPointOrderData; | 57 class SyncPointOrderData; |
57 class SyncPointManager; | 58 class SyncPointManager; |
58 struct GpuProcessHostedCALayerTreeParamsMac; | 59 struct GpuProcessHostedCALayerTreeParamsMac; |
59 | 60 |
60 namespace gles2 { | 61 namespace gles2 { |
61 struct ContextCreationAttribHelper; | 62 struct ContextCreationAttribHelper; |
62 class FramebufferCompletenessCache; | 63 class FramebufferCompletenessCache; |
63 class GLES2Decoder; | 64 class GLES2Decoder; |
64 class MailboxManager; | 65 class MailboxManager; |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 base::AtomicSequenceNumber next_image_id_; | 310 base::AtomicSequenceNumber next_image_id_; |
310 uint64_t next_fence_sync_release_; | 311 uint64_t next_fence_sync_release_; |
311 uint64_t flushed_fence_sync_release_; | 312 uint64_t flushed_fence_sync_release_; |
312 | 313 |
313 // Accessed on both threads: | 314 // Accessed on both threads: |
314 std::unique_ptr<CommandBufferServiceBase> command_buffer_; | 315 std::unique_ptr<CommandBufferServiceBase> command_buffer_; |
315 base::Lock command_buffer_lock_; | 316 base::Lock command_buffer_lock_; |
316 base::WaitableEvent flush_event_; | 317 base::WaitableEvent flush_event_; |
317 scoped_refptr<Service> service_; | 318 scoped_refptr<Service> service_; |
318 | 319 |
| 320 // Must outlive |context_group_|. |
| 321 std::unique_ptr<ServiceDiscardableManager> discardable_manager_; |
| 322 |
319 // The group of contexts that share namespaces with this context. | 323 // The group of contexts that share namespaces with this context. |
320 scoped_refptr<gles2::ContextGroup> context_group_; | 324 scoped_refptr<gles2::ContextGroup> context_group_; |
321 | 325 |
322 scoped_refptr<gl::GLShareGroup> gl_share_group_; | 326 scoped_refptr<gl::GLShareGroup> gl_share_group_; |
323 base::WaitableEvent fence_sync_wait_event_; | 327 base::WaitableEvent fence_sync_wait_event_; |
324 | 328 |
325 // Only used with explicit scheduling and the gpu thread is the same as | 329 // Only used with explicit scheduling and the gpu thread is the same as |
326 // the client thread. | 330 // the client thread. |
327 std::unique_ptr<base::SequenceChecker> sequence_checker_; | 331 std::unique_ptr<base::SequenceChecker> sequence_checker_; |
328 | 332 |
(...skipping 13 matching lines...) Expand all Loading... |
342 base::WeakPtr<InProcessCommandBuffer> gpu_thread_weak_ptr_; | 346 base::WeakPtr<InProcessCommandBuffer> gpu_thread_weak_ptr_; |
343 base::WeakPtrFactory<InProcessCommandBuffer> client_thread_weak_ptr_factory_; | 347 base::WeakPtrFactory<InProcessCommandBuffer> client_thread_weak_ptr_factory_; |
344 base::WeakPtrFactory<InProcessCommandBuffer> gpu_thread_weak_ptr_factory_; | 348 base::WeakPtrFactory<InProcessCommandBuffer> gpu_thread_weak_ptr_factory_; |
345 | 349 |
346 DISALLOW_COPY_AND_ASSIGN(InProcessCommandBuffer); | 350 DISALLOW_COPY_AND_ASSIGN(InProcessCommandBuffer); |
347 }; | 351 }; |
348 | 352 |
349 } // namespace gpu | 353 } // namespace gpu |
350 | 354 |
351 #endif // GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ | 355 #endif // GPU_IPC_IN_PROCESS_COMMAND_BUFFER_H_ |
OLD | NEW |