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 GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ | 5 #ifndef GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ |
6 #define GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ | 6 #define GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ |
7 | 7 |
| 8 #include "base/compiler_specific.h" |
8 #include "gpu/command_buffer/service/mailbox_manager.h" | 9 #include "gpu/command_buffer/service/mailbox_manager.h" |
| 10 #include "gpu/gpu_export.h" |
9 #include "gpu/ipc/in_process_command_buffer.h" | 11 #include "gpu/ipc/in_process_command_buffer.h" |
10 #include "ui/gl/gl_share_group.h" | 12 #include "ui/gl/gl_share_group.h" |
11 | 13 |
12 namespace gpu { | 14 namespace gpu { |
13 | 15 |
14 // Default Service class when a null service is used. | 16 // Default Service class when no service is specified. GpuInProcessThreadService |
15 class GpuInProcessThreadService | 17 // is used by Mus and unit tests. |
16 : public gpu::InProcessCommandBuffer::Service, | 18 class GPU_EXPORT GpuInProcessThreadService |
| 19 : public NON_EXPORTED_BASE(gpu::InProcessCommandBuffer::Service), |
17 public base::RefCountedThreadSafe<GpuInProcessThreadService> { | 20 public base::RefCountedThreadSafe<GpuInProcessThreadService> { |
18 public: | 21 public: |
19 GpuInProcessThreadService( | 22 GpuInProcessThreadService( |
20 scoped_refptr<base::SingleThreadTaskRunner> task_runner, | 23 scoped_refptr<base::SingleThreadTaskRunner> task_runner, |
21 gpu::SyncPointManager* sync_point_manager, | 24 gpu::SyncPointManager* sync_point_manager, |
22 gpu::gles2::MailboxManager* mailbox_manager, | 25 gpu::gles2::MailboxManager* mailbox_manager, |
23 scoped_refptr<gl::GLShareGroup> share_group); | 26 scoped_refptr<gl::GLShareGroup> share_group); |
24 | 27 |
25 // gpu::InProcessCommandBuffer::Service implementation. | 28 // gpu::InProcessCommandBuffer::Service implementation. |
26 void ScheduleTask(const base::Closure& task) override; | 29 void ScheduleTask(const base::Closure& task) override; |
(...skipping 19 matching lines...) Expand all Loading... |
46 scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_; | 49 scoped_refptr<gpu::gles2::ShaderTranslatorCache> shader_translator_cache_; |
47 scoped_refptr<gpu::gles2::FramebufferCompletenessCache> | 50 scoped_refptr<gpu::gles2::FramebufferCompletenessCache> |
48 framebuffer_completeness_cache_; | 51 framebuffer_completeness_cache_; |
49 | 52 |
50 DISALLOW_COPY_AND_ASSIGN(GpuInProcessThreadService); | 53 DISALLOW_COPY_AND_ASSIGN(GpuInProcessThreadService); |
51 }; | 54 }; |
52 | 55 |
53 } // namespace gpu | 56 } // namespace gpu |
54 | 57 |
55 #endif // GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ | 58 #endif // GPU_IPC_GPU_IN_PROCESS_THREAD_SERVICE_H_ |
OLD | NEW |