| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ | 5 #ifndef CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ |
| 6 #define CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ | 6 #define CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <deque> | 10 #include <deque> |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 | 55 |
| 56 namespace IPC { | 56 namespace IPC { |
| 57 struct ChannelHandle; | 57 struct ChannelHandle; |
| 58 } | 58 } |
| 59 | 59 |
| 60 namespace content { | 60 namespace content { |
| 61 class GpuChannel; | 61 class GpuChannel; |
| 62 class GpuChannelManagerDelegate; | 62 class GpuChannelManagerDelegate; |
| 63 class GpuMemoryBufferFactory; | 63 class GpuMemoryBufferFactory; |
| 64 class GpuWatchdog; | 64 class GpuWatchdog; |
| 65 struct EstablishChannelParams; | |
| 66 #if defined(OS_MACOSX) | 65 #if defined(OS_MACOSX) |
| 67 struct BufferPresentedParams; | 66 struct BufferPresentedParams; |
| 68 #endif | 67 #endif |
| 69 | 68 |
| 70 // A GpuChannelManager is a thread responsible for issuing rendering commands | 69 // A GpuChannelManager is a thread responsible for issuing rendering commands |
| 71 // managing the lifetimes of GPU channels and forwarding IPC requests from the | 70 // managing the lifetimes of GPU channels and forwarding IPC requests from the |
| 72 // browser process to them based on the corresponding renderer ID. | 71 // browser process to them based on the corresponding renderer ID. |
| 73 class CONTENT_EXPORT GpuChannelManager { | 72 class CONTENT_EXPORT GpuChannelManager { |
| 74 public: | 73 public: |
| 75 #if defined(OS_MACOSX) | 74 #if defined(OS_MACOSX) |
| 76 typedef base::Callback<void(const BufferPresentedParams&)> | 75 typedef base::Callback<void(const BufferPresentedParams&)> |
| 77 BufferPresentedCallback; | 76 BufferPresentedCallback; |
| 78 #endif | 77 #endif |
| 79 GpuChannelManager(const gpu::GpuPreferences& gpu_preferences, | 78 GpuChannelManager(const gpu::GpuPreferences& gpu_preferences, |
| 80 GpuChannelManagerDelegate* delegate, | 79 GpuChannelManagerDelegate* delegate, |
| 81 GpuWatchdog* watchdog, | 80 GpuWatchdog* watchdog, |
| 82 base::SingleThreadTaskRunner* task_runner, | 81 base::SingleThreadTaskRunner* task_runner, |
| 83 base::SingleThreadTaskRunner* io_task_runner, | 82 base::SingleThreadTaskRunner* io_task_runner, |
| 84 base::WaitableEvent* shutdown_event, | 83 base::WaitableEvent* shutdown_event, |
| 85 gpu::SyncPointManager* sync_point_manager, | 84 gpu::SyncPointManager* sync_point_manager, |
| 86 GpuMemoryBufferFactory* gpu_memory_buffer_factory); | 85 GpuMemoryBufferFactory* gpu_memory_buffer_factory); |
| 87 virtual ~GpuChannelManager(); | 86 virtual ~GpuChannelManager(); |
| 88 | 87 |
| 89 GpuChannelManagerDelegate* delegate() const { return delegate_; } | 88 GpuChannelManagerDelegate* delegate() const { return delegate_; } |
| 90 | 89 |
| 91 IPC::ChannelHandle EstablishChannel(const EstablishChannelParams& params); | 90 IPC::ChannelHandle EstablishChannel(int client_id, |
| 91 uint64_t client_tracing_id, |
| 92 bool preempts, |
| 93 bool allow_view_command_buffers, |
| 94 bool allow_real_time_streams); |
| 95 |
| 92 void PopulateShaderCache(const std::string& shader); | 96 void PopulateShaderCache(const std::string& shader); |
| 93 void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, | 97 void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, |
| 94 int client_id, | 98 int client_id, |
| 95 const gpu::SyncToken& sync_token); | 99 const gpu::SyncToken& sync_token); |
| 96 void UpdateValueState(int client_id, | 100 void UpdateValueState(int client_id, |
| 97 unsigned int target, | 101 unsigned int target, |
| 98 const gpu::ValueState& state); | 102 const gpu::ValueState& state); |
| 99 #if defined(OS_ANDROID) | 103 #if defined(OS_ANDROID) |
| 100 void WakeUpGpu(); | 104 void WakeUpGpu(); |
| 101 #endif | 105 #endif |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 // that any WeakPtrs to Controller are invalidated before its members | 219 // that any WeakPtrs to Controller are invalidated before its members |
| 216 // variable's destructors are executed, rendering them invalid. | 220 // variable's destructors are executed, rendering them invalid. |
| 217 base::WeakPtrFactory<GpuChannelManager> weak_factory_; | 221 base::WeakPtrFactory<GpuChannelManager> weak_factory_; |
| 218 | 222 |
| 219 DISALLOW_COPY_AND_ASSIGN(GpuChannelManager); | 223 DISALLOW_COPY_AND_ASSIGN(GpuChannelManager); |
| 220 }; | 224 }; |
| 221 | 225 |
| 222 } // namespace content | 226 } // namespace content |
| 223 | 227 |
| 224 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ | 228 #endif // CONTENT_COMMON_GPU_GPU_CHANNEL_MANAGER_H_ |
| OLD | NEW |