OLD | NEW |
(Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "content/gpu/gpu_memory_buffer_service.h" |
| 6 |
| 7 #include "content/common/gpu/create_gpu_memory_buffer_from_handle_params.h" |
| 8 #include "content/common/gpu/create_gpu_memory_buffer_params.h" |
| 9 #include "content/common/gpu/gpu_memory_buffer_factory.h" |
| 10 #include "content/gpu/chrome_gpu_memory_buffer_service_ipc_transport.h" |
| 11 |
| 12 namespace content { |
| 13 |
| 14 GpuMemoryBufferService::GpuMemoryBufferService( |
| 15 GpuMemoryBufferFactory* gpu_memory_buffer_factory) |
| 16 : gpu_memory_buffer_factory_(gpu_memory_buffer_factory) { |
| 17 transport_ = ChromeGpuMemoryBufferServiceIPCTransport::Create(); |
| 18 transport_->SetClient(this); |
| 19 } |
| 20 |
| 21 GpuMemoryBufferService::~GpuMemoryBufferService() {} |
| 22 |
| 23 void GpuMemoryBufferService::OnConnectionClosed() { |
| 24 delete this; |
| 25 } |
| 26 |
| 27 void GpuMemoryBufferService::OnCreateGpuMemoryBuffer( |
| 28 const CreateGpuMemoryBufferParams& params) { |
| 29 TRACE_EVENT2("gpu", "GpuMemoryBufferService::OnCreateGpuMemoryBuffer", "id", |
| 30 params.id.id, "client_id", params.client_id); |
| 31 |
| 32 DCHECK(gpu_memory_buffer_factory_); |
| 33 transport_->GpuMemoryBufferCreated( |
| 34 gpu_memory_buffer_factory_->CreateGpuMemoryBuffer( |
| 35 params.id, params.size, params.format, params.usage, params.client_id, |
| 36 params.surface_handle)); |
| 37 } |
| 38 |
| 39 void GpuMemoryBufferService::OnCreateGpuMemoryBufferFromHandle( |
| 40 const CreateGpuMemoryBufferFromHandleParams& params) { |
| 41 TRACE_EVENT2("gpu", |
| 42 "GpuMemoryBufferService::OnCreateGpuMemoryBufferFromHandle", |
| 43 "id", params.id.id, "client_id", params.client_id); |
| 44 transport_->GpuMemoryBufferCreated( |
| 45 gpu_memory_buffer_factory_->CreateGpuMemoryBufferFromHandle( |
| 46 params.handle, params.id, params.size, params.format, |
| 47 params.client_id)); |
| 48 } |
| 49 |
| 50 } // namespace content |
OLD | NEW |