Chromium Code Reviews| Index: services/ui/gpu/gpu_service_internal.h |
| diff --git a/services/ui/gpu/gpu_service_internal.h b/services/ui/gpu/gpu_service_internal.h |
| index a3f3e963d271e29d6660ee7ef8d03f4336e61bc3..77d122b6e67af7228a92b78c31a71db1e6904686 100644 |
| --- a/services/ui/gpu/gpu_service_internal.h |
| +++ b/services/ui/gpu/gpu_service_internal.h |
| @@ -12,7 +12,6 @@ |
| #include "build/build_config.h" |
| #include "gpu/command_buffer/service/gpu_preferences.h" |
| #include "gpu/config/gpu_info.h" |
| -#include "gpu/ipc/client/gpu_channel_host.h" |
| #include "gpu/ipc/common/surface_handle.h" |
| #include "gpu/ipc/service/gpu_channel.h" |
| #include "gpu/ipc/service/gpu_channel_manager.h" |
| @@ -40,14 +39,10 @@ class MediaService; |
| namespace ui { |
| -class MusGpuMemoryBufferManager; |
| - |
| -// TODO(sad): GpuChannelManagerDelegate implementation should be in the gpu |
| -// process, and the GpuChannelHostFactory should be in the host process (i.e. |
| -// the window-server process). So the GpuChannelHostFactory parts of this should |
| -// be split out. |
| +// This runs in the GPU process, and communicates with the window observer over |
|
Fady Samuel
2016/08/26 16:27:59
window observer? Can we not mention windows here s
sadrul
2016/08/26 17:23:50
Meant window server. Fixed.
|
| +// the mojom APIs. This is responsible for setting up the connection to clients, |
| +// allocating/free'ing gpu memory etc. |
| class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| - public gpu::GpuChannelHostFactory, |
| public mojom::GpuServiceInternal, |
| public base::NonThreadSafe { |
| public: |
| @@ -56,10 +51,6 @@ class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| // TODO(sad): This should not be a singleton. |
| static GpuServiceInternal* GetInstance(); |
| - scoped_refptr<gpu::GpuChannelHost> gpu_channel_local() const { |
| - return gpu_channel_local_; |
| - } |
| - |
| gpu::GpuChannelManager* gpu_channel_manager() const { |
| return gpu_channel_manager_.get(); |
| } |
| @@ -68,6 +59,18 @@ class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| return gpu_memory_buffer_factory_.get(); |
| } |
| + // TODO(sad): These should be mojom API. |
| + gfx::GpuMemoryBufferHandle CreateGpuMemoryBuffer( |
| + gfx::GpuMemoryBufferId id, |
| + const gfx::Size& size, |
| + gfx::BufferFormat format, |
| + gfx::BufferUsage usage, |
| + int client_id, |
| + gpu::SurfaceHandle surface_handle); |
| + void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, |
| + int client_id, |
| + const gpu::SyncToken& sync_token); |
| + |
| private: |
| friend struct base::DefaultSingletonTraits<GpuServiceInternal>; |
| @@ -80,22 +83,12 @@ class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| bool allow_view_command_buffers, |
| bool allow_real_time_streams, |
| const EstablishGpuChannelCallback& callback); |
| - gfx::GpuMemoryBufferHandle CreateGpuMemoryBuffer( |
| - gfx::GpuMemoryBufferId id, |
| - const gfx::Size& size, |
| - gfx::BufferFormat format, |
| - gfx::BufferUsage usage, |
| - int client_id, |
| - gpu::SurfaceHandle surface_handle); |
| gfx::GpuMemoryBufferHandle CreateGpuMemoryBufferFromeHandle( |
| gfx::GpuMemoryBufferHandle buffer_handle, |
| gfx::GpuMemoryBufferId id, |
| const gfx::Size& size, |
| gfx::BufferFormat format, |
| int client_id); |
| - void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id, |
| - int client_id, |
| - const gpu::SyncToken& sync_token); |
| // gpu::GpuChannelManagerDelegate: |
| void DidCreateOffscreenContext(const GURL& active_url) override; |
| @@ -115,21 +108,15 @@ class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| #endif |
| void SetActiveURL(const GURL& url) override; |
| - // gpu::GpuChannelHostFactory: |
| - bool IsMainThread() override; |
| - scoped_refptr<base::SingleThreadTaskRunner> GetIOThreadTaskRunner() override; |
| - std::unique_ptr<base::SharedMemory> AllocateSharedMemory( |
| - size_t size) override; |
| - |
| // mojom::GpuServiceInternal: |
| void Initialize(const InitializeCallback& callback) override; |
| void EstablishGpuChannel( |
| int32_t client_id, |
| uint64_t client_tracing_id, |
| + bool privileged, |
| const EstablishGpuChannelCallback& callback) override; |
| - void InitializeOnGpuThread(mojo::ScopedMessagePipeHandle* channel_handle, |
| - base::WaitableEvent* event); |
| + void InitializeOnGpuThread(base::WaitableEvent* event); |
| void EstablishGpuChannelOnGpuThread( |
| int client_id, |
| uint64_t client_tracing_id, |
| @@ -158,12 +145,6 @@ class GpuServiceInternal : public gpu::GpuChannelManagerDelegate, |
| std::unique_ptr<gpu::GpuMemoryBufferFactory> gpu_memory_buffer_factory_; |
| - // A GPU memory buffer manager used locally. |
| - std::unique_ptr<MusGpuMemoryBufferManager> gpu_memory_buffer_manager_local_; |
| - |
| - // A GPU channel used locally. |
| - scoped_refptr<gpu::GpuChannelHost> gpu_channel_local_; |
| - |
| gpu::GpuPreferences gpu_preferences_; |
| // Information about the GPU, such as device and vendor ID. |