Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: gpu/ipc/in_process_command_buffer.h

Issue 2814583002: Service/ClientDiscardableManager (Closed)
Patch Set: feeedback Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698