Chromium Code Reviews| 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 #include "content/browser/gpu/browser_gpu_channel_host_factory.h" | 5 #include "content/browser/gpu/browser_gpu_channel_host_factory.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/debug/trace_event.h" | 8 #include "base/debug/trace_event.h" |
| 9 #include "base/synchronization/waitable_event.h" | 9 #include "base/synchronization/waitable_event.h" |
| 10 #include "base/threading/thread_restrictions.h" | 10 #include "base/threading/thread_restrictions.h" |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 485 // static | 485 // static |
| 486 void BrowserGpuChannelHostFactory::AllocateGpuMemoryBufferOnIO( | 486 void BrowserGpuChannelHostFactory::AllocateGpuMemoryBufferOnIO( |
| 487 AllocateGpuMemoryBufferRequest* request) { | 487 AllocateGpuMemoryBufferRequest* request) { |
| 488 if (!GpuMemoryBufferImpl::IsFormatValid(request->internalformat) || | 488 if (!GpuMemoryBufferImpl::IsFormatValid(request->internalformat) || |
| 489 !GpuMemoryBufferImpl::IsUsageValid(request->usage)) { | 489 !GpuMemoryBufferImpl::IsUsageValid(request->usage)) { |
| 490 request->result = scoped_ptr<gfx::GpuMemoryBuffer>(); | 490 request->result = scoped_ptr<gfx::GpuMemoryBuffer>(); |
| 491 request->event.Signal(); | 491 request->event.Signal(); |
| 492 return; | 492 return; |
| 493 } | 493 } |
| 494 | 494 |
| 495 request->result = GpuMemoryBufferImpl::Create( | 495 GpuMemoryBufferImpl::Create( |
| 496 gfx::Size(request->width, request->height), | 496 gfx::Size(request->width, request->height), |
| 497 request->internalformat, | 497 request->internalformat, |
| 498 request->usage).PassAs<gfx::GpuMemoryBuffer>(); | 498 request->usage, |
| 499 request->event.Signal(); | 499 base::Bind(&BrowserGpuChannelHostFactory::GpuMemoryBufferImplCreatedOnIO, |
| 500 base::Unretained(request))); | |
| 500 } | 501 } |
| 501 | 502 |
| 502 // static | 503 // static |
| 503 void BrowserGpuChannelHostFactory::DeleteGpuMemoryBufferOnIO( | 504 void BrowserGpuChannelHostFactory::DeleteGpuMemoryBufferOnIO( |
| 504 scoped_ptr<gfx::GpuMemoryBuffer> buffer) { | 505 scoped_ptr<gfx::GpuMemoryBuffer> buffer) { |
| 505 } | 506 } |
| 506 | 507 |
| 508 // static | |
| 509 void BrowserGpuChannelHostFactory::GpuMemoryBufferImplCreatedOnIO( | |
|
reveman
2014/09/09 17:18:26
I think this should be named "OnGpuMemoryBufferCre
alexst (slow to review)
2014/09/09 21:53:57
Yeah, the namespace is getting crowded, I'll add G
| |
| 510 AllocateGpuMemoryBufferRequest* request, | |
| 511 scoped_ptr<GpuMemoryBufferImpl> buffer) { | |
| 512 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | |
|
reveman
2014/09/09 17:18:26
nit: blank line after this DCHECK to be consistent
alexst (slow to review)
2014/09/09 21:53:56
Done.
| |
| 513 request->result = buffer.PassAs<gfx::GpuMemoryBuffer>(); | |
| 514 request->event.Signal(); | |
| 515 } | |
| 516 | |
| 507 void BrowserGpuChannelHostFactory::OnGpuMemoryBufferCreated( | 517 void BrowserGpuChannelHostFactory::OnGpuMemoryBufferCreated( |
| 508 uint32 request_id, | 518 uint32 request_id, |
| 509 const gfx::GpuMemoryBufferHandle& handle) { | 519 const gfx::GpuMemoryBufferHandle& handle) { |
| 510 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 520 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 511 | 521 |
| 512 CreateGpuMemoryBufferCallbackMap::iterator iter = | 522 CreateGpuMemoryBufferCallbackMap::iterator iter = |
| 513 create_gpu_memory_buffer_requests_.find(request_id); | 523 create_gpu_memory_buffer_requests_.find(request_id); |
| 514 DCHECK(iter != create_gpu_memory_buffer_requests_.end()); | 524 DCHECK(iter != create_gpu_memory_buffer_requests_.end()); |
| 515 iter->second.Run(handle); | 525 iter->second.Run(handle); |
| 516 create_gpu_memory_buffer_requests_.erase(iter); | 526 create_gpu_memory_buffer_requests_.erase(iter); |
| 517 } | 527 } |
| 518 | 528 |
| 519 } // namespace content | 529 } // namespace content |
| OLD | NEW |