Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(474)

Side by Side Diff: content/browser/gpu/gpu_process_host.cc

Issue 1137453002: content: Pass IOSurface references using Mach IPC. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: static_assert Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/gpu_process_host.h" 5 #include "content/browser/gpu/gpu_process_host.h"
6 6
7 #include "base/base64.h" 7 #include "base/base64.h"
8 #include "base/base_switches.h" 8 #include "base/base_switches.h"
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #endif 53 #endif
54 54
55 #if defined(USE_OZONE) 55 #if defined(USE_OZONE)
56 #include "ui/ozone/public/ozone_switches.h" 56 #include "ui/ozone/public/ozone_switches.h"
57 #endif 57 #endif
58 58
59 #if defined(USE_X11) && !defined(OS_CHROMEOS) 59 #if defined(USE_X11) && !defined(OS_CHROMEOS)
60 #include "ui/gfx/x/x11_switches.h" 60 #include "ui/gfx/x/x11_switches.h"
61 #endif 61 #endif
62 62
63 #if defined(OS_MACOSX) && !defined(OS_IOS)
64 #include "content/browser/browser_io_surface_manager_mac.h"
65 #include "content/common/child_process_messages.h"
66 #endif
67
63 namespace content { 68 namespace content {
64 69
65 bool GpuProcessHost::gpu_enabled_ = true; 70 bool GpuProcessHost::gpu_enabled_ = true;
66 bool GpuProcessHost::hardware_gpu_enabled_ = true; 71 bool GpuProcessHost::hardware_gpu_enabled_ = true;
67 int GpuProcessHost::gpu_crash_count_ = 0; 72 int GpuProcessHost::gpu_crash_count_ = 0;
68 int GpuProcessHost::gpu_recent_crash_count_ = 0; 73 int GpuProcessHost::gpu_recent_crash_count_ = 0;
69 bool GpuProcessHost::crashed_before_ = false; 74 bool GpuProcessHost::crashed_before_ = false;
70 int GpuProcessHost::swiftshader_crash_count_ = 0; 75 int GpuProcessHost::swiftshader_crash_count_ = 0;
71 76
72 namespace { 77 namespace {
(...skipping 509 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 587
583 IPC_MESSAGE_UNHANDLED(RouteOnUIThread(message)) 588 IPC_MESSAGE_UNHANDLED(RouteOnUIThread(message))
584 IPC_END_MESSAGE_MAP() 589 IPC_END_MESSAGE_MAP()
585 590
586 return true; 591 return true;
587 } 592 }
588 593
589 void GpuProcessHost::OnChannelConnected(int32 peer_pid) { 594 void GpuProcessHost::OnChannelConnected(int32 peer_pid) {
590 TRACE_EVENT0("gpu", "GpuProcessHost::OnChannelConnected"); 595 TRACE_EVENT0("gpu", "GpuProcessHost::OnChannelConnected");
591 596
597 #if defined(OS_MACOSX) && !defined(OS_IOS)
598 Send(new ChildProcessMsg_SetIOSurfaceManagerToken(
599 BrowserIOSurfaceManager::GetInstance()->GetGpuProcessToken()));
600 #endif
601
592 while (!queued_messages_.empty()) { 602 while (!queued_messages_.empty()) {
593 Send(queued_messages_.front()); 603 Send(queued_messages_.front());
594 queued_messages_.pop(); 604 queued_messages_.pop();
595 } 605 }
596 } 606 }
597 607
598 void GpuProcessHost::EstablishGpuChannel( 608 void GpuProcessHost::EstablishGpuChannel(
599 int client_id, 609 int client_id,
600 bool share_context, 610 bool share_context,
601 bool allow_future_sync_points, 611 bool allow_future_sync_points,
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader"); 1100 TRACE_EVENT0("gpu", "GpuProcessHost::OnCacheShader");
1091 ClientIdToShaderCacheMap::iterator iter = 1101 ClientIdToShaderCacheMap::iterator iter =
1092 client_id_to_shader_cache_.find(client_id); 1102 client_id_to_shader_cache_.find(client_id);
1093 // If the cache doesn't exist then this is an off the record profile. 1103 // If the cache doesn't exist then this is an off the record profile.
1094 if (iter == client_id_to_shader_cache_.end()) 1104 if (iter == client_id_to_shader_cache_.end())
1095 return; 1105 return;
1096 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader); 1106 iter->second->Cache(GetShaderPrefixKey() + ":" + key, shader);
1097 } 1107 }
1098 1108
1099 } // namespace content 1109 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/child_process_launcher.cc ('k') | content/browser/renderer_host/render_process_host_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698