OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "gpu/command_buffer/service/gpu_scheduler.h" | 5 #include "gpu/command_buffer/service/gpu_scheduler.h" |
6 | 6 |
7 #include "base/callback.h" | 7 #include "base/callback.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 | 269 |
270 int32 GpuScheduler::GetGetOffset() { | 270 int32 GpuScheduler::GetGetOffset() { |
271 return parser_->get(); | 271 return parser_->get(); |
272 } | 272 } |
273 | 273 |
274 void GpuScheduler::ResizeOffscreenFrameBuffer(const gfx::Size& size) { | 274 void GpuScheduler::ResizeOffscreenFrameBuffer(const gfx::Size& size) { |
275 decoder_->ResizeOffscreenFrameBuffer(size); | 275 decoder_->ResizeOffscreenFrameBuffer(size); |
276 } | 276 } |
277 | 277 |
278 void GpuScheduler::SetResizeCallback(Callback1<gfx::Size>::Type* callback) { | 278 void GpuScheduler::SetResizeCallback(Callback1<gfx::Size>::Type* callback) { |
279 decoder_->SetResizeCallback(callback); | 279 wrapped_resize_callback_.reset(callback); |
| 280 decoder_->SetResizeCallback( |
| 281 NewCallback(this, |
| 282 &GpuScheduler::WillResize)); |
280 } | 283 } |
281 | 284 |
282 void GpuScheduler::SetSwapBuffersCallback( | 285 void GpuScheduler::SetSwapBuffersCallback( |
283 Callback0::Type* callback) { | 286 Callback0::Type* callback) { |
284 wrapped_swap_buffers_callback_.reset(callback); | 287 wrapped_swap_buffers_callback_.reset(callback); |
285 decoder_->SetSwapBuffersCallback( | 288 decoder_->SetSwapBuffersCallback( |
286 NewCallback(this, | 289 NewCallback(this, |
287 &GpuScheduler::WillSwapBuffers)); | 290 &GpuScheduler::WillSwapBuffers)); |
288 } | 291 } |
289 | 292 |
290 void GpuScheduler::SetCommandProcessedCallback( | 293 void GpuScheduler::SetCommandProcessedCallback( |
291 Callback0::Type* callback) { | 294 Callback0::Type* callback) { |
292 command_processed_callback_.reset(callback); | 295 command_processed_callback_.reset(callback); |
293 } | 296 } |
294 | 297 |
295 void GpuScheduler::ScheduleProcessCommands() { | 298 void GpuScheduler::ScheduleProcessCommands() { |
296 MessageLoop::current()->PostTask( | 299 MessageLoop::current()->PostTask( |
297 FROM_HERE, | 300 FROM_HERE, |
298 method_factory_.NewRunnableMethod(&GpuScheduler::ProcessCommands)); | 301 method_factory_.NewRunnableMethod(&GpuScheduler::ProcessCommands)); |
299 } | 302 } |
300 | 303 |
| 304 void GpuScheduler::WillResize(gfx::Size size) { |
| 305 if (wrapped_resize_callback_.get()) { |
| 306 wrapped_resize_callback_->Run(size); |
| 307 } |
| 308 } |
| 309 |
301 } // namespace gpu | 310 } // namespace gpu |
OLD | NEW |