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

Side by Side Diff: gpu/command_buffer/service/gpu_scheduler.cc

Issue 6982060: Plumbing: Cache the resize callback so that we can call it later. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 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 | Annotate | Revision Log
« no previous file with comments | « gpu/command_buffer/service/gpu_scheduler.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gpu_scheduler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698