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 #if defined(ENABLE_GPU) | 5 #if defined(ENABLE_GPU) |
6 | 6 |
7 #include "base/process_util.h" | 7 #include "base/process_util.h" |
8 #include "base/shared_memory.h" | 8 #include "base/shared_memory.h" |
9 #include "build/build_config.h" | 9 #include "build/build_config.h" |
10 #include "chrome/common/child_thread.h" | 10 #include "chrome/common/child_thread.h" |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
105 ring_buffer); | 105 ring_buffer); |
106 #if defined(OS_MACOSX) | 106 #if defined(OS_MACOSX) |
107 if (handle_) { | 107 if (handle_) { |
108 // This context conceptually puts its output directly on the | 108 // This context conceptually puts its output directly on the |
109 // screen, rendered by the accelerated plugin layer in | 109 // screen, rendered by the accelerated plugin layer in |
110 // RenderWidgetHostViewMac. Set up a pathway to notify the | 110 // RenderWidgetHostViewMac. Set up a pathway to notify the |
111 // browser process when its contents change. | 111 // browser process when its contents change. |
112 processor_->SetSwapBuffersCallback( | 112 processor_->SetSwapBuffersCallback( |
113 NewCallback(this, | 113 NewCallback(this, |
114 &GpuCommandBufferStub::SwapBuffersCallback)); | 114 &GpuCommandBufferStub::SwapBuffersCallback)); |
115 } | 115 } |
nduca
2010/11/23 16:59:49
How does the Macosx SetSwapBuffersCallback get imp
Ken Russell (switch to Gerrit)
2010/11/23 19:17:55
It's wired up through the GLES2Decoder. It does se
jonathan.backer
2010/11/23 21:00:19
Done.
| |
116 #elif defined(OS_LINUX) | |
117 if (handle_) { | |
118 // Set up a pathway to allow the Gpu process to ask the browser | |
119 // for a window resize. | |
120 processor_->SetResizeCallback( | |
121 NewCallback(this, | |
122 &GpuCommandBufferStub::ResizeCallback)); | |
123 } | |
116 #endif | 124 #endif |
117 } else { | 125 } else { |
118 processor_.reset(); | 126 processor_.reset(); |
119 command_buffer_.reset(); | 127 command_buffer_.reset(); |
120 } | 128 } |
121 } | 129 } |
122 } | 130 } |
123 } | 131 } |
124 | 132 |
125 void GpuCommandBufferStub::OnGetState(gpu::CommandBuffer::State* state) { | 133 void GpuCommandBufferStub::OnGetState(gpu::CommandBuffer::State* state) { |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
196 } | 204 } |
197 } | 205 } |
198 | 206 |
199 void GpuCommandBufferStub::SwapBuffersCallback() { | 207 void GpuCommandBufferStub::SwapBuffersCallback() { |
200 ChildThread* gpu_thread = ChildThread::current(); | 208 ChildThread* gpu_thread = ChildThread::current(); |
201 gpu_thread->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped( | 209 gpu_thread->Send(new GpuHostMsg_AcceleratedSurfaceBuffersSwapped( |
202 renderer_id_, render_view_id_, handle_, processor_->GetSurfaceId())); | 210 renderer_id_, render_view_id_, handle_, processor_->GetSurfaceId())); |
203 } | 211 } |
204 #endif // defined(OS_MACOSX) | 212 #endif // defined(OS_MACOSX) |
205 | 213 |
214 #if defined(OS_LINUX) | |
215 void GpuCommandBufferStub::ResizeCallback(gfx::Size size) { | |
216 ChildThread* gpu_thread = ChildThread::current(); | |
217 bool result = false; | |
218 gpu_thread->Send( | |
219 new GpuHostMsg_ResizeXID(handle_, size.width(), size.height(), &result)); | |
220 } | |
221 #endif // defined(OS_LINUX) | |
222 | |
206 #endif // ENABLE_GPU | 223 #endif // ENABLE_GPU |
OLD | NEW |