| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "content/browser/gpu/browser_gpu_memory_buffer_manager.h" | 5 #include "content/browser/gpu/browser_gpu_memory_buffer_manager.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 usage(usage), | 141 usage(usage), |
| 142 client_id(client_id), | 142 client_id(client_id), |
| 143 surface_id(surface_id) {} | 143 surface_id(surface_id) {} |
| 144 ~CreateGpuMemoryBufferRequest() {} | 144 ~CreateGpuMemoryBufferRequest() {} |
| 145 base::WaitableEvent event; | 145 base::WaitableEvent event; |
| 146 gfx::Size size; | 146 gfx::Size size; |
| 147 gfx::BufferFormat format; | 147 gfx::BufferFormat format; |
| 148 gfx::BufferUsage usage; | 148 gfx::BufferUsage usage; |
| 149 int client_id; | 149 int client_id; |
| 150 int surface_id; | 150 int surface_id; |
| 151 scoped_ptr<gfx::GpuMemoryBuffer> result; | 151 std::unique_ptr<gfx::GpuMemoryBuffer> result; |
| 152 }; | 152 }; |
| 153 | 153 |
| 154 struct BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandleRequest | 154 struct BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandleRequest |
| 155 : public CreateGpuMemoryBufferRequest { | 155 : public CreateGpuMemoryBufferRequest { |
| 156 CreateGpuMemoryBufferFromHandleRequest( | 156 CreateGpuMemoryBufferFromHandleRequest( |
| 157 const gfx::GpuMemoryBufferHandle& handle, | 157 const gfx::GpuMemoryBufferHandle& handle, |
| 158 const gfx::Size& size, | 158 const gfx::Size& size, |
| 159 gfx::BufferFormat format, | 159 gfx::BufferFormat format, |
| 160 int client_id) | 160 int client_id) |
| 161 : CreateGpuMemoryBufferRequest(size, | 161 : CreateGpuMemoryBufferRequest(size, |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 229 return GL_TEXTURE_2D; | 229 return GL_TEXTURE_2D; |
| 230 case gfx::EMPTY_BUFFER: | 230 case gfx::EMPTY_BUFFER: |
| 231 NOTREACHED(); | 231 NOTREACHED(); |
| 232 return GL_TEXTURE_2D; | 232 return GL_TEXTURE_2D; |
| 233 } | 233 } |
| 234 | 234 |
| 235 NOTREACHED(); | 235 NOTREACHED(); |
| 236 return GL_TEXTURE_2D; | 236 return GL_TEXTURE_2D; |
| 237 } | 237 } |
| 238 | 238 |
| 239 scoped_ptr<gfx::GpuMemoryBuffer> | 239 std::unique_ptr<gfx::GpuMemoryBuffer> |
| 240 BrowserGpuMemoryBufferManager::AllocateGpuMemoryBuffer(const gfx::Size& size, | 240 BrowserGpuMemoryBufferManager::AllocateGpuMemoryBuffer(const gfx::Size& size, |
| 241 gfx::BufferFormat format, | 241 gfx::BufferFormat format, |
| 242 gfx::BufferUsage usage, | 242 gfx::BufferUsage usage, |
| 243 int32_t surface_id) { | 243 int32_t surface_id) { |
| 244 return AllocateGpuMemoryBufferForSurface(size, format, usage, surface_id); | 244 return AllocateGpuMemoryBufferForSurface(size, format, usage, surface_id); |
| 245 } | 245 } |
| 246 | 246 |
| 247 scoped_ptr<gfx::GpuMemoryBuffer> | 247 std::unique_ptr<gfx::GpuMemoryBuffer> |
| 248 BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle( | 248 BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandle( |
| 249 const gfx::GpuMemoryBufferHandle& handle, | 249 const gfx::GpuMemoryBufferHandle& handle, |
| 250 const gfx::Size& size, | 250 const gfx::Size& size, |
| 251 gfx::BufferFormat format) { | 251 gfx::BufferFormat format) { |
| 252 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::IO)); | 252 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 253 | 253 |
| 254 CreateGpuMemoryBufferFromHandleRequest request(handle, size, format, | 254 CreateGpuMemoryBufferFromHandleRequest request(handle, size, format, |
| 255 gpu_client_id_); | 255 gpu_client_id_); |
| 256 BrowserThread::PostTask( | 256 BrowserThread::PostTask( |
| 257 BrowserThread::IO, FROM_HERE, | 257 BrowserThread::IO, FROM_HERE, |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 401 clients_.erase(client_it); | 401 clients_.erase(client_it); |
| 402 } | 402 } |
| 403 | 403 |
| 404 bool BrowserGpuMemoryBufferManager::IsNativeGpuMemoryBufferConfiguration( | 404 bool BrowserGpuMemoryBufferManager::IsNativeGpuMemoryBufferConfiguration( |
| 405 gfx::BufferFormat format, | 405 gfx::BufferFormat format, |
| 406 gfx::BufferUsage usage) const { | 406 gfx::BufferUsage usage) const { |
| 407 return native_configurations_.find(std::make_pair(format, usage)) != | 407 return native_configurations_.find(std::make_pair(format, usage)) != |
| 408 native_configurations_.end(); | 408 native_configurations_.end(); |
| 409 } | 409 } |
| 410 | 410 |
| 411 scoped_ptr<gfx::GpuMemoryBuffer> | 411 std::unique_ptr<gfx::GpuMemoryBuffer> |
| 412 BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForSurface( | 412 BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForSurface( |
| 413 const gfx::Size& size, | 413 const gfx::Size& size, |
| 414 gfx::BufferFormat format, | 414 gfx::BufferFormat format, |
| 415 gfx::BufferUsage usage, | 415 gfx::BufferUsage usage, |
| 416 int32_t surface_id) { | 416 int32_t surface_id) { |
| 417 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::IO)); | 417 DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 418 | 418 |
| 419 CreateGpuMemoryBufferRequest request(size, format, usage, gpu_client_id_, | 419 CreateGpuMemoryBufferRequest request(size, format, usage, gpu_client_id_, |
| 420 surface_id); | 420 surface_id); |
| 421 BrowserThread::PostTask( | 421 BrowserThread::PostTask( |
| (...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 716 return gpu_client_tracing_id_; | 716 return gpu_client_tracing_id_; |
| 717 } | 717 } |
| 718 | 718 |
| 719 // In normal cases, |client_id| is a child process id, so we can perform | 719 // In normal cases, |client_id| is a child process id, so we can perform |
| 720 // the standard conversion. | 720 // the standard conversion. |
| 721 return ChildProcessHostImpl::ChildProcessUniqueIdToTracingProcessId( | 721 return ChildProcessHostImpl::ChildProcessUniqueIdToTracingProcessId( |
| 722 client_id); | 722 client_id); |
| 723 } | 723 } |
| 724 | 724 |
| 725 } // namespace content | 725 } // namespace content |
| OLD | NEW |