diff options
author | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 22:08:37 +0000 |
---|---|---|
committer | nduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-25 22:08:37 +0000 |
commit | 0d45ee3a1e7620cccf55dcf20e33a61be0f908d1 (patch) | |
tree | 234278718ab9c9e3e6f96b3d69649054c4c97cbb /gpu | |
parent | 7ab471aca39242c554c60e53f990d35b84a18abd (diff) | |
download | chromium_src-0d45ee3a1e7620cccf55dcf20e33a61be0f908d1.zip chromium_src-0d45ee3a1e7620cccf55dcf20e33a61be0f908d1.tar.gz chromium_src-0d45ee3a1e7620cccf55dcf20e33a61be0f908d1.tar.bz2 |
Apply setInterval to new surface-context pairs
BUG=83832
Review URL: http://codereview.chromium.org/6987025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86720 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r-- | gpu/command_buffer/service/gpu_scheduler.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/gpu_scheduler.cc b/gpu/command_buffer/service/gpu_scheduler.cc index d8a047c..4c54773 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()) |