| Index: gpu/command_buffer/service/gpu_scheduler.cc
|
| diff --git a/gpu/command_buffer/service/gpu_scheduler.cc b/gpu/command_buffer/service/gpu_scheduler.cc
|
| index d8a047c598c3dc99ae95df2ef8eecc757d79854a..4c547738e0f3434cd74285338e25771213e39faa 100644
|
| --- a/gpu/command_buffer/service/gpu_scheduler.cc
|
| +++ b/gpu/command_buffer/service/gpu_scheduler.cc
|
| @@ -5,12 +5,14 @@
|
| #include "gpu/command_buffer/service/gpu_scheduler.h"
|
|
|
| #include "base/callback.h"
|
| +#include "base/command_line.h"
|
| #include "base/compiler_specific.h"
|
| #include "base/debug/trace_event.h"
|
| #include "base/message_loop.h"
|
| #include "ui/gfx/gl/gl_context.h"
|
| #include "ui/gfx/gl/gl_bindings.h"
|
| #include "ui/gfx/gl/gl_surface.h"
|
| +#include "ui/gfx/gl/gl_switches.h"
|
|
|
| using ::base::SharedMemory;
|
|
|
| @@ -66,6 +68,16 @@ bool GpuScheduler::InitializeCommon(
|
| if (!context->MakeCurrent(surface))
|
| return false;
|
|
|
| +#if !defined(OS_MACOSX)
|
| + // Set up swap interval for onscreen contexts.
|
| + if (!surface->IsOffscreen()) {
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableGpuVsync))
|
| + context->SetSwapInterval(0);
|
| + else
|
| + context->SetSwapInterval(1);
|
| + }
|
| +#endif
|
| +
|
| // Do not limit to a certain number of commands before scheduling another
|
| // update when rendering onscreen.
|
| if (!surface->IsOffscreen())
|
|
|