+ DCHECK(gfx::GLContext::GetCurrent())
+ << "Trying to create fence with no context";
+
+ // Prefer ARB_sync which supports server-side wait.
+ if (gfx::g_driver_gl.ext.b_GL_ARB_sync ||
+ gfx::GLContext::GetCurrent()->GetVersionInfo()->is_es3)
+ return new GLFenceARBSync(flush);