OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/aura/gpu_process_transport_factory.h" | 5 #include "content/browser/aura/gpu_process_transport_factory.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
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 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 attrs.depth = false; | 500 attrs.depth = false; |
501 attrs.stencil = false; | 501 attrs.stencil = false; |
502 attrs.antialias = false; | 502 attrs.antialias = false; |
503 attrs.noAutomaticFlushes = true; | 503 attrs.noAutomaticFlushes = true; |
504 scoped_refptr<GpuChannelHost> gpu_channel_host( | 504 scoped_refptr<GpuChannelHost> gpu_channel_host( |
505 BrowserGpuChannelHostFactory::instance()->EstablishGpuChannelSync( | 505 BrowserGpuChannelHostFactory::instance()->EstablishGpuChannelSync( |
506 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE)
); | 506 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE)
); |
507 if (!gpu_channel_host) | 507 if (!gpu_channel_host) |
508 return scoped_ptr<WebGraphicsContext3DCommandBufferImpl>(); | 508 return scoped_ptr<WebGraphicsContext3DCommandBufferImpl>(); |
509 GURL url("chrome://gpu/GpuProcessTransportFactory::CreateContextCommon"); | 509 GURL url("chrome://gpu/GpuProcessTransportFactory::CreateContextCommon"); |
| 510 bool use_echo_for_swap_ack = true; |
510 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context( | 511 scoped_ptr<WebGraphicsContext3DCommandBufferImpl> context( |
511 new WebGraphicsContext3DCommandBufferImpl( | 512 new WebGraphicsContext3DCommandBufferImpl( |
512 surface_id, | 513 surface_id, |
513 url, | 514 url, |
514 gpu_channel_host.get(), | 515 gpu_channel_host.get(), |
515 swap_client, | 516 swap_client, |
| 517 use_echo_for_swap_ack, |
516 attrs, | 518 attrs, |
517 false, | 519 false, |
518 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits())); | 520 WebGraphicsContext3DCommandBufferImpl::SharedMemoryLimits())); |
519 return context.Pass(); | 521 return context.Pass(); |
520 } | 522 } |
521 | 523 |
522 void GpuProcessTransportFactory::OnLostMainThreadSharedContextInsideCallback() { | 524 void GpuProcessTransportFactory::OnLostMainThreadSharedContextInsideCallback() { |
523 base::MessageLoop::current()->PostTask( | 525 base::MessageLoop::current()->PostTask( |
524 FROM_HERE, | 526 FROM_HERE, |
525 base::Bind(&GpuProcessTransportFactory::OnLostMainThreadSharedContext, | 527 base::Bind(&GpuProcessTransportFactory::OnLostMainThreadSharedContext, |
(...skipping 20 matching lines...) Expand all Loading... |
546 observer_list_, | 548 observer_list_, |
547 OnLostResources()); | 549 OnLostResources()); |
548 | 550 |
549 // Kill things that use the shared context before killing the shared context. | 551 // Kill things that use the shared context before killing the shared context. |
550 lost_gl_helper.reset(); | 552 lost_gl_helper.reset(); |
551 lost_offscreen_compositor_contexts = NULL; | 553 lost_offscreen_compositor_contexts = NULL; |
552 lost_shared_main_thread_contexts = NULL; | 554 lost_shared_main_thread_contexts = NULL; |
553 } | 555 } |
554 | 556 |
555 } // namespace content | 557 } // namespace content |
OLD | NEW |