1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "gpu/command_buffer/service/async_pixel_transfer_manager.h"
7 #include "base/trace_event/trace_event.h"
8 #include "gpu/command_buffer/service/async_pixel_transfer_manager_idle.h"
9 #include "gpu/command_buffer/service/async_pixel_transfer_manager_stub.h"
10 #include "ui/gl/gl_implementation.h"
14 AsyncPixelTransferManager
* AsyncPixelTransferManager::Create(
15 gfx::GLContext
* context
) {
16 TRACE_EVENT0("gpu", "AsyncPixelTransferManager::Create");
17 switch (gfx::GetGLImplementation()) {
18 case gfx::kGLImplementationOSMesaGL
:
19 case gfx::kGLImplementationDesktopGL
:
20 case gfx::kGLImplementationDesktopGLCoreProfile
:
21 case gfx::kGLImplementationAppleGL
:
22 return new AsyncPixelTransferManagerIdle(true);
23 case gfx::kGLImplementationMockGL
:
24 return new AsyncPixelTransferManagerStub
;