| 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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 void GpuScheduler::SetScheduledCallback(Callback0::Type* scheduled_callback) { | 266 void GpuScheduler::SetScheduledCallback(Callback0::Type* scheduled_callback) { |
| 267 scheduled_callback_.reset(scheduled_callback); | 267 scheduled_callback_.reset(scheduled_callback); |
| 268 } | 268 } |
| 269 | 269 |
| 270 Buffer GpuScheduler::GetSharedMemoryBuffer(int32 shm_id) { | 270 Buffer GpuScheduler::GetSharedMemoryBuffer(int32 shm_id) { |
| 271 return command_buffer_->GetTransferBuffer(shm_id); | 271 return command_buffer_->GetTransferBuffer(shm_id); |
| 272 } | 272 } |
| 273 | 273 |
| 274 void GpuScheduler::set_token(int32 token) { | 274 void GpuScheduler::set_token(int32 token) { |
| 275 command_buffer_->SetToken(token); | 275 command_buffer_->SetToken(token); |
| 276 if (!set_token_callback_.is_null()) |
| 277 set_token_callback_.Run(token); |
| 276 } | 278 } |
| 277 | 279 |
| 278 bool GpuScheduler::SetGetOffset(int32 offset) { | 280 bool GpuScheduler::SetGetOffset(int32 offset) { |
| 279 if (parser_->set_get(offset)) { | 281 if (parser_->set_get(offset)) { |
| 280 command_buffer_->SetGetOffset(static_cast<int32>(parser_->get())); | 282 command_buffer_->SetGetOffset(static_cast<int32>(parser_->get())); |
| 281 return true; | 283 return true; |
| 282 } | 284 } |
| 283 return false; | 285 return false; |
| 284 } | 286 } |
| 285 | 287 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 304 decoder_->SetSwapBuffersCallback( | 306 decoder_->SetSwapBuffersCallback( |
| 305 NewCallback(this, | 307 NewCallback(this, |
| 306 &GpuScheduler::WillSwapBuffers)); | 308 &GpuScheduler::WillSwapBuffers)); |
| 307 } | 309 } |
| 308 | 310 |
| 309 void GpuScheduler::SetCommandProcessedCallback( | 311 void GpuScheduler::SetCommandProcessedCallback( |
| 310 Callback0::Type* callback) { | 312 Callback0::Type* callback) { |
| 311 command_processed_callback_.reset(callback); | 313 command_processed_callback_.reset(callback); |
| 312 } | 314 } |
| 313 | 315 |
| 316 void GpuScheduler::SetTokenCallback( |
| 317 const base::Callback<void(int32)>& callback) { |
| 318 DCHECK(set_token_callback_.is_null()); |
| 319 set_token_callback_ = callback; |
| 320 } |
| 321 |
| 314 void GpuScheduler::ScheduleProcessCommands() { | 322 void GpuScheduler::ScheduleProcessCommands() { |
| 315 MessageLoop::current()->PostTask( | 323 MessageLoop::current()->PostTask( |
| 316 FROM_HERE, | 324 FROM_HERE, |
| 317 method_factory_.NewRunnableMethod(&GpuScheduler::ProcessCommands)); | 325 method_factory_.NewRunnableMethod(&GpuScheduler::ProcessCommands)); |
| 318 } | 326 } |
| 319 | 327 |
| 320 void GpuScheduler::WillResize(gfx::Size size) { | 328 void GpuScheduler::WillResize(gfx::Size size) { |
| 321 if (wrapped_resize_callback_.get()) { | 329 if (wrapped_resize_callback_.get()) { |
| 322 wrapped_resize_callback_->Run(size); | 330 wrapped_resize_callback_->Run(size); |
| 323 } | 331 } |
| 324 } | 332 } |
| 325 | 333 |
| 326 } // namespace gpu | 334 } // namespace gpu |
| OLD | NEW |