summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authornduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 22:08:37 +0000
committernduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-25 22:08:37 +0000
commit0d45ee3a1e7620cccf55dcf20e33a61be0f908d1 (patch)
tree234278718ab9c9e3e6f96b3d69649054c4c97cbb /gpu
parent7ab471aca39242c554c60e53f990d35b84a18abd (diff)
downloadchromium_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.cc12
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())