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/renderer/render_thread_impl.h" | 5 #include "content/renderer/render_thread_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 1409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1420 | 1420 |
| 1421 scoped_refptr<GpuChannelHost> gpu_channel_host = GetGpuChannel(); | 1421 scoped_refptr<GpuChannelHost> gpu_channel_host = GetGpuChannel(); |
| 1422 scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories; | 1422 scoped_refptr<media::GpuVideoAcceleratorFactories> gpu_factories; |
| 1423 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner = | 1423 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner = |
| 1424 GetMediaThreadTaskRunner(); | 1424 GetMediaThreadTaskRunner(); |
| 1425 if (!gpu_va_context_provider_.get() || | 1425 if (!gpu_va_context_provider_.get() || |
| 1426 gpu_va_context_provider_->DestroyedOnMainThread()) { | 1426 gpu_va_context_provider_->DestroyedOnMainThread()) { |
| 1427 if (!gpu_channel_host.get()) { | 1427 if (!gpu_channel_host.get()) { |
| 1428 gpu_channel_host = EstablishGpuChannelSync( | 1428 gpu_channel_host = EstablishGpuChannelSync( |
| 1429 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) ; | 1429 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) ; |
| 1430 } | 1430 } |
|
Pawel Osciak
2015/07/21 00:15:00
Should we be checking gpu_channel_host again here?
sandersd (OOO until July 31)
2015/07/21 00:35:01
Both WebGraphicsContext3DCommandBufferImpl::Create
| |
| 1431 blink::WebGraphicsContext3D::Attributes attributes; | 1431 blink::WebGraphicsContext3D::Attributes attributes; |
| 1432 bool lose_context_when_out_of_memory = false; | 1432 bool lose_context_when_out_of_memory = false; |
| 1433 gpu_va_context_provider_ = ContextProviderCommandBuffer::Create( | 1433 gpu_va_context_provider_ = ContextProviderCommandBuffer::Create( |
| 1434 make_scoped_ptr( | 1434 make_scoped_ptr( |
| 1435 WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext( | 1435 WebGraphicsContext3DCommandBufferImpl::CreateOffscreenContext( |
| 1436 gpu_channel_host.get(), attributes, | 1436 gpu_channel_host.get(), attributes, |
| 1437 lose_context_when_out_of_memory, | 1437 lose_context_when_out_of_memory, |
| 1438 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), | 1438 GURL("chrome://gpu/RenderThreadImpl::GetGpuVDAContext3D"), |
| 1439 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), | 1439 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits(), |
| 1440 NULL)), | 1440 NULL)), |
| 1441 GPU_VIDEO_ACCELERATOR_CONTEXT); | 1441 GPU_VIDEO_ACCELERATOR_CONTEXT); |
| 1442 } | 1442 } |
| 1443 if (gpu_va_context_provider_.get()) { | 1443 if (gpu_va_context_provider_.get()) { |
| 1444 bool enable_video_accelerator = | 1444 bool enable_video_accelerator = |
| 1445 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); | 1445 !cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode); |
| 1446 std::string image_texture_target_string = | 1446 std::string image_texture_target_string = |
| 1447 cmd_line->GetSwitchValueASCII(switches::kContentImageTextureTarget); | 1447 cmd_line->GetSwitchValueASCII(switches::kContentImageTextureTarget); |
| 1448 unsigned image_texture_target = 0; | 1448 unsigned image_texture_target = 0; |
| 1449 bool parsed_image_texture_target = | 1449 bool parsed_image_texture_target = |
| 1450 base::StringToUint(image_texture_target_string, &image_texture_target); | 1450 base::StringToUint(image_texture_target_string, &image_texture_target); |
| 1451 DCHECK(parsed_image_texture_target); | 1451 DCHECK(parsed_image_texture_target); |
| 1452 CHECK(gpu_channel_host.get()); | |
|
jochen (gone - plz use gerrit)
2015/07/21 14:12:58
please add a comment pointing at the crbug, and co
sandersd (OOO until July 31)
2015/07/21 17:29:57
Done.
| |
| 1452 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( | 1453 gpu_factories = RendererGpuVideoAcceleratorFactories::Create( |
| 1453 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, | 1454 gpu_channel_host.get(), media_task_runner, gpu_va_context_provider_, |
| 1454 image_texture_target, enable_video_accelerator); | 1455 image_texture_target, enable_video_accelerator); |
| 1455 } | 1456 } |
| 1456 return gpu_factories; | 1457 return gpu_factories; |
| 1457 } | 1458 } |
| 1458 | 1459 |
| 1459 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> | 1460 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> |
| 1460 RenderThreadImpl::CreateOffscreenContext3d() { | 1461 RenderThreadImpl::CreateOffscreenContext3d() { |
| 1461 blink::WebGraphicsContext3D::Attributes attributes(GetOffscreenAttribs()); | 1462 blink::WebGraphicsContext3D::Attributes attributes(GetOffscreenAttribs()); |
| (...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2033 } | 2034 } |
| 2034 | 2035 |
| 2035 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { | 2036 void RenderThreadImpl::PendingRenderFrameConnect::OnConnectionError() { |
| 2036 size_t erased = | 2037 size_t erased = |
| 2037 RenderThreadImpl::current()->pending_render_frame_connects_.erase( | 2038 RenderThreadImpl::current()->pending_render_frame_connects_.erase( |
| 2038 routing_id_); | 2039 routing_id_); |
| 2039 DCHECK_EQ(1u, erased); | 2040 DCHECK_EQ(1u, erased); |
| 2040 } | 2041 } |
| 2041 | 2042 |
| 2042 } // namespace content | 2043 } // namespace content |
| OLD | NEW |