| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/gpu/gpu_thread.h" | 5 #include "chrome/gpu/gpu_thread.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "app/gfx/gl/gl_context.h" | 10 #include "app/gfx/gl/gl_context.h" |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 | 50 |
| 51 void GpuThread::RemoveChannel(int renderer_id) { | 51 void GpuThread::RemoveChannel(int renderer_id) { |
| 52 gpu_channels_.erase(renderer_id); | 52 gpu_channels_.erase(renderer_id); |
| 53 } | 53 } |
| 54 | 54 |
| 55 void GpuThread::OnControlMessageReceived(const IPC::Message& msg) { | 55 void GpuThread::OnControlMessageReceived(const IPC::Message& msg) { |
| 56 bool msg_is_ok = true; | 56 bool msg_is_ok = true; |
| 57 IPC_BEGIN_MESSAGE_MAP_EX(GpuThread, msg, msg_is_ok) | 57 IPC_BEGIN_MESSAGE_MAP_EX(GpuThread, msg, msg_is_ok) |
| 58 IPC_MESSAGE_HANDLER(GpuMsg_EstablishChannel, | 58 IPC_MESSAGE_HANDLER(GpuMsg_EstablishChannel, |
| 59 OnEstablishChannel) | 59 OnEstablishChannel) |
| 60 IPC_MESSAGE_HANDLER(GpuMsg_CloseChannel, |
| 61 OnCloseChannel) |
| 60 IPC_MESSAGE_HANDLER(GpuMsg_Synchronize, | 62 IPC_MESSAGE_HANDLER(GpuMsg_Synchronize, |
| 61 OnSynchronize) | 63 OnSynchronize) |
| 62 IPC_MESSAGE_HANDLER(GpuMsg_CollectGraphicsInfo, | 64 IPC_MESSAGE_HANDLER(GpuMsg_CollectGraphicsInfo, |
| 63 OnCollectGraphicsInfo) | 65 OnCollectGraphicsInfo) |
| 64 #if defined(OS_MACOSX) | 66 #if defined(OS_MACOSX) |
| 65 IPC_MESSAGE_HANDLER(GpuMsg_AcceleratedSurfaceBuffersSwappedACK, | 67 IPC_MESSAGE_HANDLER(GpuMsg_AcceleratedSurfaceBuffersSwappedACK, |
| 66 OnAcceleratedSurfaceBuffersSwappedACK) | 68 OnAcceleratedSurfaceBuffersSwappedACK) |
| 67 #endif | 69 #endif |
| 68 IPC_MESSAGE_HANDLER(GpuMsg_Crash, | 70 IPC_MESSAGE_HANDLER(GpuMsg_Crash, |
| 69 OnCrash) | 71 OnCrash) |
| (...skipping 26 matching lines...) Expand all Loading... |
| 96 // On POSIX, pass the renderer-side FD. Also mark it as auto-close so | 98 // On POSIX, pass the renderer-side FD. Also mark it as auto-close so |
| 97 // that it gets closed after it has been sent. | 99 // that it gets closed after it has been sent. |
| 98 int renderer_fd = channel->GetRendererFileDescriptor(); | 100 int renderer_fd = channel->GetRendererFileDescriptor(); |
| 99 channel_handle.socket = base::FileDescriptor(renderer_fd, false); | 101 channel_handle.socket = base::FileDescriptor(renderer_fd, false); |
| 100 #endif | 102 #endif |
| 101 } | 103 } |
| 102 | 104 |
| 103 Send(new GpuHostMsg_ChannelEstablished(channel_handle, gpu_info_)); | 105 Send(new GpuHostMsg_ChannelEstablished(channel_handle, gpu_info_)); |
| 104 } | 106 } |
| 105 | 107 |
| 108 void GpuThread::OnCloseChannel(const IPC::ChannelHandle& channel_handle) { |
| 109 for (GpuChannelMap::iterator iter = gpu_channels_.begin(); |
| 110 iter != gpu_channels_.end(); ++iter) { |
| 111 if (iter->second->GetChannelName() == channel_handle.name) { |
| 112 gpu_channels_.erase(iter); |
| 113 return; |
| 114 } |
| 115 } |
| 116 } |
| 117 |
| 106 void GpuThread::OnSynchronize() { | 118 void GpuThread::OnSynchronize() { |
| 107 Send(new GpuHostMsg_SynchronizeReply()); | 119 Send(new GpuHostMsg_SynchronizeReply()); |
| 108 } | 120 } |
| 109 | 121 |
| 110 void GpuThread::OnCollectGraphicsInfo() { | 122 void GpuThread::OnCollectGraphicsInfo() { |
| 111 Send(new GpuHostMsg_GraphicsInfoCollected(gpu_info_)); | 123 Send(new GpuHostMsg_GraphicsInfoCollected(gpu_info_)); |
| 112 } | 124 } |
| 113 | 125 |
| 114 #if defined(OS_MACOSX) | 126 #if defined(OS_MACOSX) |
| 115 void GpuThread::OnAcceleratedSurfaceBuffersSwappedACK( | 127 void GpuThread::OnAcceleratedSurfaceBuffersSwappedACK( |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 NewRunnableFunction(&GpuThread::SetDxDiagnostics, thread, node)); | 162 NewRunnableFunction(&GpuThread::SetDxDiagnostics, thread, node)); |
| 151 } | 163 } |
| 152 | 164 |
| 153 // Runs on the GPU thread. | 165 // Runs on the GPU thread. |
| 154 void GpuThread::SetDxDiagnostics(GpuThread* thread, const DxDiagNode& node) { | 166 void GpuThread::SetDxDiagnostics(GpuThread* thread, const DxDiagNode& node) { |
| 155 thread->gpu_info_.SetDxDiagnostics(node); | 167 thread->gpu_info_.SetDxDiagnostics(node); |
| 156 thread->gpu_info_.SetProgress(GPUInfo::kComplete); | 168 thread->gpu_info_.SetProgress(GPUInfo::kComplete); |
| 157 } | 169 } |
| 158 | 170 |
| 159 #endif | 171 #endif |
| OLD | NEW |